USC CSD Home
 

Course Description -

 
Description
Computer networks are nearly ubiquitous today. And, new applications extending their use are being developed daily. They are essential to numerous distributed systems and exciting applications, including Web browsers in cell phones, wireless Internet access cafes, networked cars, networked environmental sensors, interplanetary Internet, and many more. This course will provide a modern introduction to the dynamic field of computer networks. It will provide fundamental understanding as well as insights to understanding today's networks and those of the future. In this course, we will use the public Internet as our main example for discussing computer networks and their protocols.
 
Who should take this course
Any student interested in communication and distributed applications, especially those interested in networking, sensor networks, distributed systems, multimedia systems, distributed databases, and so on.
 
Topics Covered (tentative)
  • Application Layer
  • Transport Layer
  • Network Layer
  • Link Layer and Local Area Networks
  • Wireless and Mobile Networks
  • Multimedia Networking
  • Security in Computer Networks
 
Required Textbooks
 
Recommanded Textbooks
 
Announcements and E-mail
Most class related announcements will be either posted on the class web page or done through e-mail via the discussion board setup for the class on the blackboard.

Please do not ask the following types of questions in your e-mail (although they are appropriate for office hours):

  • Here is my understanding of X. Am I right (or is this correct)?
    (You can do this for just about everything and in many different ways. And the instructor and the TA do not have the bandwidth to be able to reply to too many such questions.)

  • I don't understand X. Could you explain X to me?
    (It is difficult to give detailed explanations of concepts over email. And, it is your responsiblity to come to lectures and ask questions during lectures if there is something you do not understand.)
 
Homework
There will be on the order of 7 homework assignments consisting of problems as well as programming assignments (to be written in C or C++).
 
Exams
A midterm and a final examination will be given. The date of the midterm examination will be posted near the top of the class home page. The date of the final examination is firm and it is also listed near the top of the class home page. Any schedule conflicts regarding the midterm exam date must be resolved with the instructor during the first week of the semester.
 
Grading
Homeworks:   30%
Midterm Exam:   30%
Final Exam:   40%
These weights are approximate and may change by up to 5%. The instructor reserves the right to fail, regardless of overall numeric score, students who do not show a good faith attempt to complete all assignments.

Please also note the following:

  • The above percentages will be used to calculate your total score. Final grades (A,B,C,D,or F) will be determined using a modified curve (i.e., we won't necessarily assign an equal number of failing grades as passing grades) based on this total score. No other methods will be considered. (So, please do not ask the instructor to take how much you have improved since the beginning of the semester into account. You are expected to try your best from the beginning!)

  • We will assign grades of C and below to individuals who do not perform satisfactorily (i.e., you should not assume a B- or even C if you perform unsatisfactorily.) However, we hope that everyone will perform well.

  • Your assignments are your own work! No group assignments are allowed. You are free to talk to other students about assignments but not to share materials. We will act harshly at any sign of copying.

  • We will not assign incompletes unless it is for a documented medical reason (in accordance with USC policy).
 
Academic Integrity Policy
Please make sure you read the Academic Integrity Policy of this course.
 
Homework Submission and Late Policy
Unless specified otherwise for a particular assignment, the late policy is as follows. Written homeworks should be submitted at the end (when the TA leaves) of a discussion section (unless specified otherwise), on paper. If you cannot submit your homework in the discussion section or are submitting late, you have two options: (1) submit it to the instructor in person or (2) submit it to the TA in person. No other means of submission are acceptable (unless you have explicit permission from the instructor); please do not leave homework in the instructor's mailbox. (In exceptional cases, such as travel, you can contact the instructor to obtain permission to submit electronically.) Every student in the class has a total of 5 late days of homework (business days) that can be arbitrarily spread out among homework assignments without the need to provide a reason. This is intended as an unbureaucratic way of dealing with legitimate reasons for late submissions. You may use them for other reasons if you choose, but this does not mean you are entitled to 5 late days in addition to any legitimate ones. No solutions will ever be accepted more than 5 business days (one week) late. If a submission is late, and the 5 total late days are exceeded, then 20% of the original score on the homework is deducted for each excessive late day. For counting late days, a solution counts as submitted on a certain day if it was submitted in one of the above stated ways by the deadline time specified for that assignment. If a solution is submitted in multiple parts on different days, then the official submission date is that of the last part that was submitted.
 
Regrading Policy
All requests to change grading of homeworks or exams must be submitted in writing within one week of the time the initial grade was given. Requests must be specific and explain why you feel your answer deserves additional credit. A request to re-grade an assignment can result in the entire assignment being re-evaluated and as a result the score of any part of the assignment can be increased or lowered as appropriate.
 
Extra Credits
No extra credit assignments will be given for this class. So, there is not need to ask. Try your best from the beginning!
 
Class Newsgroup
A discussion group is setup for the class on the blackboard. The purpose of this forum is mainly for the students to discuss things with each other. Students may not exchange answers here because it would violate academic integrity policy of USC.

Please make sure that you have read the Academic Integrity Policy of this course.

 
Implicit Student Agreement
All work including assignments and exams must be that of the individual student. It is often productive to study with other students. However, if any portions of homework assignments are found to be shared between two (or more) students, zero credit will be given to all students concerned and all students will be disciplined. This policy is in the interest of those students who do their own work, which hopefully applies to all of you in this class. 

This policy also holds for  assignments involving programming. In this class, we will use sophisticated automated program checkers to detect cheating. Be aware that the program checkers have demonstrated very good results and are widely used within the academic community. Any student caught cheating will be given zero credit and will be disciplined.

It is the student's responsibility to submit their assignments to the TA on time. 

 
Student Responsibilities
During the semester you are responsible for completing the assigned readings, assignments, and exams.

You are expected to read the relevant parts of the required text in detail. Not all details will be covered in class.

We expect you to attend every class meeting (lectures as well as recitations). If you do happen to miss a session, you are responsible for finding out what material was covered and if any administrative announcements were made. You must do so BEFORE the next session (e.g., if there is an assignment given during the missed session, you are still responsible for completing it by the next week along with the other students).

 
Fairness
The instructor must treat all students equally and cannot give special treatment to any particular student. Therefore, please do not ask special favors from the instructor because of your circumstances. This may seem unfair to you because you believe that you have special circumstances. But the rule the instructor follows is that whatever is offered to you, must be offered to the entire class.
 
Additional Resources
Programming: Networking: UNIX:
 

   [Please see copyright regarding copying.]