640-syllabus-s24
640-syllabus-s24
Credits: 3
Teaching Assistants
Information be provided via Canvas/Piazza.
MODE OF COMMUNICATION
It is expected that all students communicate with the instructional team via Piazza, and not be
personal emails. While personal emails are acceptable, instructors have found it hard to keep
up with such emails. Hence, there is no surety of eliciting a response via personal email. The
instructional team hopes to provide a 24-hr response to most questions (sometimes a few things
may take longer for various reasons).
If the communication is of a private nature, it is acceptable to make a private post which will be
visible to the entire instructional team. Only if communication is of a very personal nature that a
student wants to only share with the instructor alone, should they consider emailing the
instructor directly --- primarily because of difficulty in tracking all such individual emails
efficiently.
Students can also interact with the instructional team during their office hours and during class
time.
1
OFFICIAL COURSE DESCRIPTION
Course Description
Architecture of computer networks and network protocols, protocol layering, reliable
transmission, congestion control, flow control, naming and addressing, unicast and multicast
routing, network security, network performance widely used protocols such as Ethernet,
wireless LANs, IP, TCP, and HTTP.
Requisites
COMP SCI 537 or graduate or professional standing or declared in the Capstone Certificate in
Computer Sciences for Professionals
LEARNING OUTCOMES
Course Learning Outcomes
Students are expected to know the following upon completion of this course:
Overall Internet architecture, basics of layering, protocols, and modularity in network design.
Design of different layers of the protocol stack including:
1. Physical and Link layer — Framing, Checksums, Aloha, Ethernet, Token Ring, Wireless
LANs, etc.
2. Network layer, including routing — Distance Vector, Link State, etc., forwarding, IP
service model, Internet addressing.
3. Transport — UDP and TCP.
4. Network services and applications — examples include DNS, HTTP, SMTP, MIME, FTP,
etc.
Some of other advanced topics — Content Delivery Networks, Software Defined Networking,
Overlays and Peer-to-peer Systems, Node mobility, Security, NATs and Firewalls.
GRADING
Some adjustments to grading criteria may be made as the course evolves. Initial plan is as
follows.
• Quizzes: 30% (best three quizzes out of four conducted quizzes worth 10% each)
• Final-exam (comprehensive): 20%
• Programming assignments: 44% (5 assignments - Assignment #0 is 4%, and rest are
10% each)
• Class participation (online discussions in Piazza): 6%
DISCUSSION SESSIONS
There are no discussion sessions for this course.
LABORATORY SESSIONS
There are no laboratory sessions for this course. Students may do their programming
assignments using either their own computer or else one of the computers in the Computer
2
Sciences Department’s instructional labs. The bulk of the programming assignments should be
done using virtual machines provided by the course staff.
QUIZZES
There will be four quizzes and a final exam over the duration of the semester. Dates will be
posted on Canvas/Piazza.
All quizzes and the final exam will be in person on specified dates. The lowest score among the
quizzes will be dropped. Hence, apart from medical emergencies and appropriate McBurney
accommodations, no other accommodations will be allowed.
Make up quizzes and final exam will be administered only in case of emergencies (with
appropriate documentation).
PROGRAMMING ASSIGNMENTS
There will be a set of programming assignments, which will be done in groups of two. No
individual assignments will be allowed unless the instructor approves. The programming
assignments will usually involve writing code in the Java programming language. Some supplied
skeleton Java code may also be given as a starting point. In most cases, to ensure a uniform
programming environment, we will hand out virtual machine images, which you can install in
your own machine. In addition, we will also create and hand out a virtual machine login
credentials that is managed by CS staff in the department. Each group will get login credentials
to this virtual machine. The students are allowed to implement their assignments in their own
machines or in the CS-managed machines, but if there is any conflict, we will verify their correct
working in the CS-managed virtual machines.
Rubrics for assignments will NOT be posted before the submission deadline passes, so that
students do not complete their assignments just to meet the rubric.
There is a defined late policy for assignments. No extensions will be allowed (except for
emergencies with appropriate documentation).
CLASS PARTICIPATION
To get points for class participation, the students are expected in engage in some online
discussion. In most weeks, the instructor will identify a set of students, as leads. These students
3
will be given a deadline to make a post related to a topic the instructor wants students to
discuss, or some “current technical news” on some topic related to the previous week’s class. If
a student cannot find such technical news, they can alternatively look for posts related broadly
to networking. There are many online sources for such technical news, e.g., slashdot.org.
Subsequently, all other students in the class are expected to comment on at least one other
student’s post each week. The comment needs to be “meaningful,” i.e., it cannot simply be
“That’s interesting.” Multiple posts are, of course, acceptable. Duplicate posts are not allowed,
so it maybe useful to post early to get your pick.
In summary, in most weeks, students are expected to make just one post in response to what
leads have posted. Once in the class, each student will serve as a lead. Overall, during the
semester, no student will be expected to make more than 16 posts in total, likely a bit less.
ACADEMIC INTEGRITY
By enrolling in this course, each student assumes the responsibilities of an active participant in
UW-Madison’s community of scholars in which everyone’s academic work and behavior are
held to the highest academic integrity standards. Academic misconduct compromises the
integrity of the university. Cheating, fabrication, plagiarism, unauthorized collaboration, and
helping others commit these acts are examples of academic misconduct, which can result in
disciplinary action. This includes but is not limited to failure on the assignment/course,
disciplinary probation, or suspension. Substantial or repeated cases of misconduct will be
forwarded to the Office of Student Conduct & Community Standards for additional review. For
more information, refer to studentconduct.wiscweb.wisc.edu/academic-integrity/.
4
DIVERSITY & INCLUSION
Institutional statement on diversity: “Diversity is a source of strength, creativity, and
innovation for UW-Madison. We value the contributions of each person and respect the
profound ways their identity, culture, background, experience, status, abilities, and opinion
enrich the university community. We commit ourselves to the pursuit of excellence in teaching,
research, outreach, and diversity as inextricably linked goals.
The University of Wisconsin-Madison fulfills its public mission by creating a welcoming and
inclusive community for people from every background – people who as students, faculty, and
staff serve Wisconsin and the world.” https://diversity.wisc.edu/