forked from saylordotorg/course_cs407
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
1,935 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,164 @@ | ||
Course Syllabus for "CS407: Network Applications Development" | ||
------------------------------------------------------------- | ||
|
||
User dependency on the Internet increases every day; nowadays, everyday | ||
tasks like paying bills, communicating with others, and applying for | ||
jobs are all routinely carried out via the Internet. While the Internet | ||
represents a huge network, it is meaningless without the applications | ||
that it supports. These applications enable user interaction and | ||
facilitate everyday activities. In this course, we will learn about the | ||
design and implementation of network-based applications, focusing on | ||
Object-Oriented Programming and programming techniques both at the | ||
application layer and the transport layer of the TCP/IP protocol stack. | ||
Additional concepts covered include text transport (moving text from one | ||
computer to another over the network), data transport, object transport, | ||
remote function calls, and, finally, class transport. You will approach | ||
these concepts from an Object-Oriented point of view, learning to | ||
implement design patterns in your code in order to ensure software | ||
reusability (a highly desirable feature in network applications). | ||
|
||
### Learning Outcomes | ||
|
||
Upon successful completion of this course, the student will be able | ||
to: | ||
|
||
- Code solutions using the fundamental concepts of object-oriented | ||
programming in Java. | ||
- Compare and contrast the usage of the Java APIs for each of the | ||
different network protocols with emphasis on the application and | ||
transport layers. | ||
- Explain how consistency and reusability are achieved in network | ||
processing from input through output. | ||
- Complete a variety of introductory to complex network programming | ||
tasks utilizing Java. | ||
- Solve problems that use XML to activate Java. | ||
- Compare and contrast object sharing with Java RMI and SOAP. | ||
|
||
### Course Requirements | ||
|
||
In order to take this course, you must: | ||
|
||
<span dir="LTR"><span | ||
style="color: rgb(85, 85, 85); font-family: 'Myriad Pro', 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-size: 16px; line-height: 24px; text-align: left; -webkit-text-size-adjust: none; ">√ | ||
</span>Have access to a computer.</span> | ||
|
||
<span dir="LTR"><span | ||
style="color: rgb(85, 85, 85); font-family: 'Myriad Pro', 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-size: 16px; line-height: 24px; text-align: left; -webkit-text-size-adjust: none; ">√ | ||
</span>Have continuous broadband Internet access.</span> | ||
|
||
<span dir="LTR"><span | ||
style="color: rgb(85, 85, 85); font-family: 'Myriad Pro', 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-size: 16px; line-height: 24px; text-align: left; -webkit-text-size-adjust: none; ">√ | ||
</span>Have the ability/permission to install plug-ins or software | ||
(e.g., Adobe Reader or Flash).</span> | ||
|
||
<span dir="LTR"><span | ||
style="color: rgb(85, 85, 85); font-family: 'Myriad Pro', 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-size: 16px; line-height: 24px; text-align: left; -webkit-text-size-adjust: none; ">√ | ||
</span>Have the ability to download and save files and documents to a | ||
computer.</span> | ||
|
||
<span dir="LTR"><span | ||
style="color: rgb(85, 85, 85); font-family: 'Myriad Pro', 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-size: 16px; line-height: 24px; text-align: left; -webkit-text-size-adjust: none; ">√ | ||
</span>Have the ability to open Microsoft files and documents (.doc, | ||
.ppt, .xls, etc.).</span> | ||
|
||
<span dir="LTR"><span | ||
style="color: rgb(85, 85, 85); font-family: 'Myriad Pro', 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-size: 16px; line-height: 24px; text-align: left; -webkit-text-size-adjust: none; ">√ | ||
</span>Have competency in the English language.</span> | ||
|
||
<span dir="LTR"><span | ||
style="color: rgb(85, 85, 85); font-family: 'Myriad Pro', 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-size: 16px; line-height: 24px; text-align: left; -webkit-text-size-adjust: none; ">√</span></span> | ||
Have read the [Saylor Student | ||
Handbook.](http://www.saylor.org/site/wp-content/uploads/2012/05/Saylor-StudentHandbook.pdf) | ||
|
||
<span dir="LTR"><span | ||
style="color: rgb(85, 85, 85); font-family: 'Myriad Pro', 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-size: 16px; line-height: 24px; text-align: left; -webkit-text-size-adjust: none; ">√ | ||
</span>Have completed | ||
[CS101](http://www.saylor.org/courses/cs101/)</span>, | ||
[CS102](http://www.saylor.org/courses/cs102/), | ||
[CS107](http://www.saylor.org/courses/cs107/), | ||
[CS201](http://www.saylor.org/courses/cs201/), | ||
[CS202](http://www.saylor.org/courses/cs202/), and | ||
[CS301](http://www.saylor.org/courses/cs301/) from “[The Core | ||
Program](http://www.saylor.org/majors/computer-science/)” in the | ||
Computer Science discipline. | ||
|
||
<span dir="LTR"><span | ||
style="color: rgb(85, 85, 85); font-family: 'Myriad Pro', 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-size: 16px; line-height: 24px; text-align: left; -webkit-text-size-adjust: none; ">√ | ||
</span>Have completed | ||
[CS103/MA101](http://www.saylor.org/courses/cs103/)</span> and | ||
[CS104/MA102](http://www.saylor.org/courses/cs104/) from the “[Math | ||
Requirements](http://www.saylor.org/majors/computer-science/)” section | ||
of the Computer Science discipline. | ||
|
||
<span | ||
style="color: rgb(85, 85, 85); font-family: 'Myriad Pro', 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-size: 16px; line-height: 24px; text-align: left; -webkit-text-size-adjust: none; ">√ | ||
</span>Have completed | ||
[CS402](http://www.saylor.org/courses/cs402/) or an equivalent | ||
fundamental LAN course. | ||
|
||
### Course Information | ||
|
||
Welcome to CS407 Network Applications Development. Below, please find | ||
general information on this course and its requirements. | ||
|
||
**Course Designer:** Rose Wise | ||
|
||
**Primary Resources:** This course is comprised of a range of different | ||
free, online materials. However, the course makes primary use of the | ||
following materials: | ||
|
||
- <span dir="LTR">David J. Eck's [Introduction to Programming Using | ||
Java,](http://math.hws.edu/javanotes/)</span> 6<sup>th</sup> edition | ||
- <span dir="LTR">Oracle's [ J2EE(TM) 1.4 | ||
Tutorial](http://docs.oracle.com/javaee/1.4/tutorial/doc/About.html#wp63721)</span> | ||
|
||
**Time Commitment:** This course will take approximately **90 hours** to | ||
complete. Each unit includes a “time advisory” that lists the amount of | ||
time you are expected to spend on each subunit. These should help you | ||
plan your time accordingly. It may be useful to take a look at these | ||
time advisories and determine how much time you have over the next few | ||
weeks to complete each unit and then set goals for yourself. For | ||
example, Unit 1 should take you 9 hours. Review your calendar and | ||
schedule to complete subunit 1.1 (a total of 2 hours) on Monday night; | ||
subunit 1.2 (a total of 4 hours) on Tuesday night; subunit 1.3 (a total | ||
of 3 hours) on Wednesday night; etc. | ||
|
||
**Requirements for Completion:** In order to complete this course, you | ||
will need to work through each unit and all of its assigned materials. | ||
Pay special attention to Unit 1, as this unit will lay the groundwork | ||
for understanding object-oriented coding and the more advanced | ||
programming concepts presented in the later units. You will also need | ||
to complete the Final Exam. | ||
|
||
Note that you will only receive an official grade on your Final Exam. | ||
In order to “pass” this course, you will need to earn a 70% or higher on | ||
the final exam. Your score on the exam will be tabulated as soon as you | ||
complete it. If you do not pass the exam, you may take it again. | ||
|
||
**Tips/Suggestions:** You will be using two major online texts for | ||
reading assignments in this course. You may want to download them to | ||
your personal “e-bookshelf.” The sites do not require any personal | ||
information. | ||
|
||
Review the Preface in each text for information about additional usage | ||
tips for each book. Once you download the enterprise java book, | ||
navigation does not automatically use your file name. For that reason, | ||
each subunit includes the file name you may need to open manually. | ||
|
||
- <span dir="LTR">The enterprise text is a minus-one edition of the | ||
version currently for sale by the publisher. The free CD may no | ||
longer be available, so it is not required. </span> | ||
- <span dir="LTR">Be sure to use the links to the Oracle website, | ||
which provides tutorials with the most current information. </span> | ||
- <span dir="LTR">The best way to learn is to actually code, test, and | ||
run all examples and exercises. The more you do, the more you | ||
learn! </span> | ||
- <span dir="LTR">If you have a problem with a program, step away for | ||
a glass of water or a brief walk. Then, review the code anew for | ||
what is there, not what you want to be there. A fresh look at it | ||
usually will help you identify the coding flaw quicker.</span> | ||
- Some concepts can be presented in different ways. Therefore, if you | ||
are confused by your text, refer to any of the other reference | ||
materials in the unit as they present the same material, just in a | ||
different style. Seek understanding, not just completion. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
**Unit 1: Getting Prepared** <span id="1"></span> | ||
*This first tutorial walks you through installing java and the NetBeans | ||
package for a graphical aid to programming in java. Just compare your | ||
screen with the one provided before proceeding to the next step in the | ||
tutorial. You need to be comfortable that you can create and test java | ||
code as you begin this course.* | ||
|
||
**Unit 1 Time Advisory** | ||
This unit should take you approximately 10 hours to complete. | ||
|
||
<span | ||
style="color: rgb(85, 85, 85); font-family: 'Myriad Pro', 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-size: 16px; line-height: 21px; text-align: left; -webkit-text-size-adjust: none; ">☐ | ||
</span>Subunit 1.1: 3 hours | ||
|
||
<span | ||
style="color: rgb(85, 85, 85); font-family: 'Myriad Pro', 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-size: 16px; line-height: 21px; text-align: left; -webkit-text-size-adjust: none; ">☐ | ||
</span>Subunit 1.2: 4 hours | ||
|
||
<span | ||
style="color: rgb(85, 85, 85); font-family: 'Myriad Pro', 'Gill Sans', 'Gill Sans MT', Calibri, sans-serif; font-size: 16px; line-height: 21px; text-align: left; -webkit-text-size-adjust: none; ">☐ | ||
</span>Subunit 1.3: 3 hours | ||
|
||
**Unit1 Learning Outcomes** | ||
Upon successful completion of this unit, the student will be able to: | ||
- Compile and run Java code. | ||
- Explain fundamental object-oriented techniques. | ||
|
||
**1.1 Installing Java** <span id="1.1"></span> | ||
- **Reading: Oracle's “Getting Started: The Hello World Application”** | ||
Link: Oracle's [“Getting Started: The Hello World | ||
Application”](http://docs.oracle.com/javase/tutorial/getStarted/cupojava/netbeans.html) | ||
(HTML) | ||
|
||
Instructions: Please complete the entire reading for step-by-step | ||
instructions on how to install Java and NetBeans. As you read this | ||
section, pay attention to the terms IDE and JDK. What is the JDK? | ||
What is an IDE and what is its purpose? | ||
|
||
Terms of Use: Please respect the copyright and terms of use | ||
displayed on the webpage above. | ||
|
||
**1.2 Checkpoint** <span id="1.2"></span> | ||
- **Assessment: Oracle’s “Questions and Exercises: Getting Started”** | ||
Link: Oracle's [“Questions and Exercises: Getting | ||
Started”](http://docs.oracle.com/javase/tutorial/getStarted/QandE/questions.html) | ||
(HTML) | ||
|
||
Instructions: Please complete all of the questions and problems | ||
provided. Check your work against the solutions provided. | ||
|
||
Terms of Use: Please respect the copyright and terms of use | ||
displayed on the webpage above. | ||
|
||
**1.3 Review of Basic Object-Oriented Concepts** <span id="1.3"></span> | ||
- **Reading: Hobart and William Smith Colleges: David J. Eck's | ||
Introduction to Programming Using Java: “Chapters 1-4”** | ||
Link: Hobart and William Smith Colleges: David J. | ||
Eck's *Introduction to Programming Using Java*: [“Chapters | ||
1-4”](http://www.saylor.org/site/wp-content/uploads/2012/01/CS407-TEXTBOOK.pdf) | ||
(PDF) | ||
|
||
Instructions: Please review Chapters 1 through 4. Start with the | ||
quiz at the end of Chapter 1, and use the link provided by the | ||
author to check your answers. If you missed a question, go to that | ||
concept in the chapter and review that concept. Repeat this process | ||
for Chapter 2. If you miss several questions, read all of Chapter 2 | ||
and try the quiz again. Once you feel comfortable with the material | ||
in Chapter 2, proceed to Chapter 3. Repeat this process for | ||
Chapters 3 and 4. | ||
|
||
These chapters assume Java is your first programming language. | ||
They are included here so that you might review programming | ||
terminology before jumping into the material for this course. Be | ||
sure that you are familiar with all of the concepts in these | ||
chapters, especially if it has been a while since you took the | ||
pre-requisite programming course. | ||
|
||
Terms of Use: The article above is released under a [Creative | ||
Commons Attribution-Non-Commercial-Share-Alike License | ||
3.0](http://creativecommons.org/licenses/by-nc-sa/3.0/). It is | ||
attributed to David Eck and the original version can be found | ||
[here](http://math.hws.edu/javanotes/). | ||
|
||
|
Oops, something went wrong.