CSE 30264 - Computer Networks - Fall 2018

Instructor

  • Prof. Dong Wang
    dwang5 at nd dot edu
    Office Hours: Mon 2-4 pm, 214B Cushing Hall

  • TA: Patrick Falvey
    pfalvey at nd dot edu
    Office Hours: Mon and Wed 9-10 am, Tue 3-5 pm, Innovation Lounge on the first floor of the Duncan Student Center)

  • TA: John McGuinness
    jmcguin1 at nd dot edu
    Office Hours: Tue and Thu 2-4 pm, Innovation Lounge on the first floor of the Duncan Student Center)

  • TA: Nathan Vance
    nvance1 at nd dot edu
    Office Hours: Mon and Wed 9-10 am, 4-5 pm, Innovation Lounge on the first floor of the Duncan Student Center)

  • TA: Lanyu Shang
    lshang at nd dot edu
    Office Hours: Thu 5-7 pm, Fri 4-6 pm, Innovation Lounge on the first floor of the Duncan Student Center)
  • Textbook

    Larry L. Peterson and Bruce S. Davie, "Computer Networks, A Systems Approach", Morgan Kaufmann Publishers (Elsevier), 5th Edition, ISBN-10: 0123850592 | ISBN-13: 978-0123850591.

    Course Goals

  • Learn fundamental computer network principles
  • Learn the algorithms, protocols, etc., that drive the Internet
  • Get hands dirty with implementations and experiments
  • Learn to solve problems in teams
  • Prepare for advanced CSE courses
  • Grading

  • Five Homework Assignments: 30% (6%*5)
  • Four Programming Assignments: 40% (10%*4)
  • Mid-Term Exam: 10%
  • Final Exam: 15%
  • In-class Participation: 5%

    Grading will be done on a fixed scale:

  • 92 - 100: A
  • 88 - 91.9: A-
  • 85 - 87.9: B+
  • 82 - 84.9: B
  • 78 - 81.9: B-
  • 74 - 77.9: C+
  • 70 - 73.9: C
  • 66 - 69.9: C-
  • 60 - 65.9: D
  • 0 - 59.9: F
  • In the event of a bad exam or assignment, the above grading may be re-weighted appropriately.

    Inquiries about graded assignments/exams must be made within one week after the assignment grades are posted in Sakai.

    Assignments should be turned in per the instructions on the particular assignment. The vast majority of the assignments (i.e., homework, programming assignments/projects) will be submitted using your AFS drop box. The AFS time on the file is the time for submission.

    All assignments are due at the beginning of class on the date due. Late assignments will receive no credit . This includes assignments submitted after class has begun.

    You are free to turn in assignments multiple times before the deadline expires. It would be a good habit to turn in an incomplete but working assignment on a daily basis. Thus, there is no excuse for failing to turn in an assignment: everyone should turn in something long before the deadline. Exceptions will be made only in grave circumstances.

    Prerequisites:

  • Junior or Senior Standing
  • Proficiency in the C programming language
  • Discrete Math

  • Course Policies:

    Lectures

  • Lecture notes will be on-line after each class but taking notes during class is highly encouraged. In short, anything that is written down on the board, you can write down as well.
  • Attendance at lectures is expected. Your attendance at lecture is one component of the class grade. If you do not attend lecture, you may not be eligible for an "A" in the course.
  • Homework / Programs / Exams

  • Homework will be individual assignments. You are expected to finish them by yourself.
  • The first programming assignment will be an individual assignment. You are expected to finish it by yourself.
  • The last three programming assignments are team assignments. You can work with a group to finish them. The max size of the group is 3 people. The makeup of the teams will be of your choosing.
  • Programming assignment solutions will not be posted. The burden will be on you to find out how to solve the problem. You are welcome to come to the office hour of TA or instructor to discuss the problems you feel confused.
  • No handwritten homework will be accepted. All homework must be generated using a word processor (LaTeX, Word, ...). Figures may be drawn using xfig, gimp, or other drawing program. Clear hand-drawn figures are also acceptable.
  • Exams are to be completed alone.
  • Team Work

  • Teamwork does not mean that one person does the work one week and the other person does the work the next week. Nor does teamwork imply that one person does most of the work on a project. If you sign your name to the solution set, it means that you have participated in solving the problems.
  • A Note About the Programming Assignments (Borrowed from Dr. Douglas Thain)

  • To undertake the class assignments, you will have to spend some time understanding the course materials and learning how to use the socket and network-programming paradigm. The lectures will explain the general principles and direct you towards reference materials. However, you will need to figure out some of the details on your own by reading manuals and experimenting on your own. Do not expect to succeed on the first try. You may need to consult with the instructor and TAs during class, office hours, or via email to solve problems. Thus, start working on each assignment right away, and do not leave it until the last minute.
  • Other Notes

  • The instructor will frequently use Piazza and class e-mail lists to distribute important information related to the class.
  • You will be expected to check the Piazza discussion page of the course and your e-mail for class announcements.
  • Please try to ask questions if you do not understand the material. Feel free to ask questions in class, during office hours or by e-mail.
  • As with any course, it is much better to be pro-active about any issues that arise rather than reactive. While there are of course outstanding circumstances that will be appropriately addressed, a lack of planning on your part does not constitute an emergency or outstanding circumstance on the instructor's part. Put simply, don't procrastinate things and stop by to work out any travels (job interviews, etc.) before they occur rather than stopping by afterwards.
  • Honor Code

  • This class follows the binding Code of Honor at Notre Dame. The graded work you do in this class must be your own. In the case where you collaborate with other students make sure to fairly attribute their contribution to your project.
  • You are encouraged to seek out and exploit external manuals, books, websites, and other documentation that will help you to complete the assignments, provided that you cite what sources you have used. However, all answers to homework assignments, programming development, and writing of the results must be done solely by you and your partner (if it is a group work).
  • You must read and abide by the Unviersity Academic Code of Honor and CSE Guide to the Honor Code .