USC CSD Home
 

Course Description -

 
Academic Integrity Policy
Please make sure you read the Academic Integrity Policy of this course.
 
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)
  • Introduction and overview of computer networks
  • Application layer
  • Transport layer
  • Network layer
  • Link Layer
  • Physical Layer
  • Security in computer networks
 
Required Textbooks
 
Workload
Homeworks: There will be approximately seven homework assignments. Assignments and solutions will be posted on the class web page.

Programming assignments: There will be two programming assignments. Assignment description and instructionsn for submitting them will be posted on the class web page.

Exams: There will be four quizes and a final. The exams are closed book and closed notes. The dates of the exams will be posted near the top of the class web page. Any schedule conflicts involving exam dates must be reported to the instructor within one week of the announcement of the exam date.

 
Announcements and E-mail
Most class related announcements will be either posted on the class web page or done through e-mail.

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.)
 
Grading
Homeworks:   10%
Programming assignment 1:   5%
Programming assignment 2:   10%
Quiz 1:   10%
Quiz 2:   10%
Quiz 3:   10%
Quiz 4:   10%
Final Exam:   35%
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. In addition, the scale given below will be used. 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!)

  • The instructor will use the following cutoffs. Let G be your final score, as calculated according to the above given percentages. Then, if G is 80% or above, you will get some form of an A (A+, or A, or A-); if G is 65% or above (but below 80%), you will get some form of a B (B+, or B, or B-); if G is 50% or above (but below 65%), you will get some form of a C (C+, or C, or C-). If G is below 50%, you might receive a D or an F. Depending on the class average, the percentages for each grade category might go down, but they will not go up.

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

  • All submitted work is your own work! (There are no group projects in this class.) Please make sure that you have read the Academic Integrity Policy of this course.

  • We will not assign incompletes unless it is for a documented medical reason (in accordance with USC policy).
 
Assignment Submission and Late Policy
Unless specified otherwise for a particular assignment, the submission and late policies are as follows.

Written homework. Written homeworks will be (typically) due on Thursdays, to be submitted by the end of class (without a late penalty), on paper. If you cannot submit your homework in class, you have two options: (1) submit it to the instructor in person or (2) submit it to the TAs in person. No other means of submission are acceptable (unless you have explicit permission from the instructor or TA); please do not leave homework in the instructor's mailbox. (In exceptional cases, such as travel, you can contact the instructor or TA to obtain permission to submit electronically.) Written homework late policy:Students may submit homework (due in class on Thursday) at the beginning of the following Friday discussion section, with a 10% penalty. The TA will be discussing homework solutions during the discussion session; hence, submissions will not be accepted after that.

Programming assignments. Programming assignments will be submitted online, with submission instructions provided in the assignment description. Programming assignments late policy: Every student in the class has a total of 5 late days that can be arbitrarily spread out among the programming 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 submissions will ever be accepted more than 5 days late. If a submission is late, and the 5 total late days are exceeded, we will not accept that submission. For counting late days, a solution counts as submitted on a certain day if it was submitted 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 assignments or exams need to be submitted in writing within one week of the time the initial grade was given. (If the request is not submitted within one week, the instructor reserves the right not to re-grade that assignment or exam.) Requests must be specific and explain why you feel your answer deserves additional credit. A request to re-grade something can result in the entire work being re-evaluated and as a result the score of any part of that work can be increased or lowered as appropriate.
 
Extra Credit
No extra credit assignments or exams will be given for this class. So, there is not need to ask. Try your best from the beginning! However, participation in class could be used to improve your grade. (How you can do that will be described in class.)
 
Implicit Student Agreement
All work must be that of the individual student. It is often productive to study with other students. However, if any portion of any submitted work is 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 work 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.]