CSCI 356 / Fall 2022

Computer Networking

Instructor:


Student hours (tentative):

  • Mondays 3-4pm
  • Tuesdays 1-2:30pm
  • Fridays noon-1pm
  • and other times by appointment or Zoom

Lecture:

  • Mon / Wed / Fri 10:00 - 10:50 (EST/EDT)
  • Location: Swords 321

Privacy Notice: Lecture Recordings

Lectures may be recorded and made available to students registered for this class using Zoom Recordings and distribution with Panopto or Google Drive. Duplication or redistribution of video capture recordings by any other party without the consent of the course instructor is prohibited. If you have concerns about lecture recordings or would like to request that some or all lectures not be recorded, please contact kwalsh@holycross.edu.

Course Description

This course is designed for those who want to understand the technology that lies beneath the Web and everything else we do online. In short, how computers talk to each other.

We will focus on the fundamentals of computer networks. We will study the low-level protocols that drive the Internet, including protocols for data forwarding, routing, congestion, and flow control. We will examine how these can be used to build services like the Web, email, streaming video, and multi-player games, and we will learn how to write our own networked programs. Some of the assignments will be drawn from emerging research, including peer-to-peer and wireless sensor networks.

Students in the course will be expected to know the basics of computer programming. Students will learn how to program with sockets and how to use various software tools for managing networks and networked programs. The course will make extensive use of online reference materials.

Diversity and Inclusion

I intend for every student to feel their voice is welcome in this course. My goal is to create a learning environment that supports each of you and embraces the diversity that you all bring. All members of the class are expected to be respectful and supportive of each other's ideas and identities, even when they disagree. Even when discussing narrow technical matters, racism, sexism, and other hidden assumptions can appear, and there are difficult ethical dimensions to everything we do as computer scientists. I will endeavor to point these out when they appear, and to check my own assumptions about your past experiences and perspectives. We all make mistakes that can impact others. But I hope that by committing to listen reflectively, and without defensiveness, we can build a strong and inclusive community. Please let me know if there is anything in class meetings, in office hours, in study sessions, or elsewhere that troubles you or makes you feel uncomfortable or unvalued. Even for events outside of the classroom, I welcome and appreciate any suggestions you have pertaining to diversity, equity, and inclusion.

If you prefer to speak with someone outside the course, please do not hesitate to reach out to any other faculty, the class deans, department members of the student advisory council, or others you feel more comfortable speaking with.

Also, if you have a name and/or set of pronouns that differ from those that appear on my class roster, please let me know!

Textbook

Recommended, but not required.
Computer Networking: A Top-Down Approach (6th Edition)
James F. Kurose, Keith W. Ross
ISBN: 9780132856201

If you have the 4th or 5th edition, that should be fine instead.

Grading & Assignments

There will be approximately eight assignments during the semester, split evenly between written homework and coding projects / practicals.

The final grade will be computed approximately as follows:

Homework & programming projects45%
In-class discussions5%
Midterm exam 115%
Midterm exam 215%
Final exam20%

Examinations

There will be two mid-term exams and one final exam.

Tentative dates for the mid-term can be found on the weekly schedule. The final exam will be held during the final exam period at a date and time chosen by the College.

Late Policy

Assignments are due as specified on the assignment page. The maximum possible score for an assignment will be reduced by 10% for each day or portion of a day that the assignment is turned in late. So the maximum possible score for an assignment turned in up to 24 hours late is 90%, and the maximum possible score for an assignment turned in up to 48 hours late is 80%, and so on. The penalty will be determined when the complete assignment has been received by the instructor, the department administrative assistant, or another faculty member in the Math and Computer Science department. Late work will not be accepted after the graded assignment is returned to the class or after the solutions have been posted.

Collaboration Policy

Please refer to the Math and CS Department Honor Code Policy and the College Academic Integrity Policy.

In general, you may refer to your texts, your class notes, and your course instructor for help. You may also consult public literature (books, articles, web sites) for general information and examples, but you should not seek or use published solutions to assignments. You may also talk with with fellow students about general information and strategies for solving assignments, but not specific solutions or code. The work you turn in must be your own. If you are in doubt about what is acceptable, be sure to ask the course instructor.

Clarification about online sources: It is fine to use Google to look for snippets of publicly available code that might help you with assignments, and it is okay to use a limited amount of such code in your own work. You should not take entire solutions or large amounts of code from the web. And you must clearly comment your code to indicate which code and ideas are purely your own, which code or ideas are borrowed or adapted from elsewhere, and where the other code or ideas came from.

In all cases you must cite each source of ideas you adopt. You should never present another person's work as your own. By clearly indicating any sources you consult and the people with whom you collaborate, you are giving credit where it is due. If you borrow or adapt code, and if the code is good, then you will get some credit for having found it (you won't get credit for writing it, since you didn't). If you borrow bad code, the fault is all yours.

Attendance and Excused Absences

Enrolled students are expected to attend all regular class meetings and to participate in discussions and other synchronous activities, except for excused and other unexpected absenses or by arrangement with the instructor. Please refer to the College Attendance and Excused Absence Policies.

Reasonable Accommodations and Accessibility Services

The instructor is committed to providing students with disabilities equal access to the educational opportunities associated with this course. For details or to request accommodation, please refer to College procedures on Requests for Reasonable Accommodations and the Office of Accessibility Services.