Syllabus

Course Information

Class Meets: Tuesday and Thursday 2:40pm-4:25pm

Class Location: Cowell 418

Web Page: http://sites.google.com/site/usfcs621

Mailing List: https://cs.usfca.edu/mailman/listinfo/cs621

Instructor Information

Instructor: Sami Rollins

Office: HR 544

Email: srollins@cs.usfca.edu

Office Hours: Tuesday and Thursday 4:30pm - 5:30pm, Wednesday 11am - 1pm

Pre-requisites

    • CS 212
    • Students should be familiar with Java, socket programming, and multithreaded programming.

Learning Outcomes

    • Understand fundamental network design principles
    • Understand how network communication works in the Internet
    • Understand how network communication impacts application performance

Required Text

    • Kurose and Ross, Computer Networking: A Top-Down Approach (5th ed), Addison-Wesley, 2010.

Grading Information

Grades will be distributed as follows:

Exams (2 midterms and 1 final): 35%

Programming Labs (6-7 programming assignments): 55%

Quizzes/Paper Reviews/Participation: 10%

Note: The distribution is subject to change in the event that assignments need to be removed or added.

Final grades will be assigned as follows:

100 - 93.0 - A

92.9 - 90.0 - A-

89.9 - 87.0 - B+

86.9 - 83.0 - B

82.9 - 80.0 - B-

79.9 - 77.0 - C+

76.9 - 73.0 - C

72.9 - 70.0 - C-

69.9 - 67.0 - D+

66.9 - 63.0 - D

62.9 - 60.0 - D-

59.9 - 0 - F

Reading will be assigned for many classes. Quizzes may be given to assess your preparedness. The participation score will be based on quiz performance, class attendance, summaries of required papers, and participation in class discussion and activities.

The exam portion of your grade will be based on two exams and a final exam. You are responsible for being in class on the day of the exam (including the final exam). Make-up exams will be given only in the case of a medical emergency verified by a doctor's note.

The programming labs portion of your grade will be based on substantial programming assignments given throughout the semester. In most cases, your grade will be based on the code you submit as well an oral explanation and demonstration of the program on the day the project is due. Late submissions will not be accepted. Extensions will be granted only in the case of a medical emergency verified by a doctor's note.

Laptop Usage

In general, I do not mind if you use laptops to take notes during the class period. If you use your laptop to check email, surf the web, IM, or perform any activity that is not completely relevant to the course and the topic being covered, your laptop privileges will be revoked. You will likely have lab periods during which you will be expected to work on your assignments. You may use your laptop for this purpose during the lab times. You may not use the lab time to read the news, update your facebook page, or anything beyond working on the current assignment.

Academic Honesty

ALL assignments are to be completed individually unless specified, in writing, on the assignment. Academic dishonesty will NOT be tolerated. This is your warning! Students are encouraged to meet with me if they have questions regarding assignments or this policy. Students caught cheating will face severe penalty.

Students may:

    • receive help from the professor and the TA.
    • discuss the requirements of the assignments, the meaning of programs, or high-level algorithms with other students or outside sources. If you have any doubt with respect to what is acceptable to discuss, speak with the professor first.

Students may NOT:

    • look at another student's code.
    • look at another student's solutions to homework problems.
    • receive unapproved help from an outside source including a tutor or a family member.
    • submit code which has, in whole or in part, been copied from any other source (including another student, a web page, or another text).
    • submit solutions to problems which have, in whole or in part, been copied from any other source (including another student, a web page, or another text).

Requirements

    • Any help from a source other than the professor, the lab assistant, or a TA must acknowledged. Example sources that must be cited are a parent, a family friend, and an outside tutor.
    • If you wish to get a tutor in the course, speak with the professor.
    • Any code submitted by a student must be completely original. No portion of a student's code may be copied from any other source (including, but not limited to, another student, a web page, or another text).

Penalties

    • Students caught violating the academic honesty policy will face severe penalty. A first offense will result in a 0 on an assignment and a report to the Dean's office.