Computer Networks

CSC 249, Spring 2018

Professor: Judith Cardell,
Office: 352 Ford Hall
Office hours: Mon 1:00-2:00; Wed 11:00 - 12:00

Class Time: 10:30 - 11:50 Tues/Thurs, Ford Hall 342
Prerequisites: CSC 111 (and *not* MTH 153)
Text: Computer Networking: A top-down Approach, by James Kurose and Keith Ross, Pearson, 7th ed., 2017.





CSC 249 Class and Assignment Schedule, Spring 2018

Week Topic Reading HW due the next THURSDAY
(at START of class)
Jan 25 Semester Introduction
  • Introduction to the Internet
  • Semester project for Net Neutrality

Read Chapter 1 in the text book

& Net Neutrality readings (ideas to get started)

HW 1 - Chapter problems & Wireshark Intro
Start reading for net neutrality (for HW 2)

Start using Wireshark Packet Sniffer:

Chapter 1 Problems:
Jan 29 Internet Protocols: Web and email
  • HTTP
  • email and SMTP
  • playing with Traceroute & telnet
Chapter 2 HW 2:
Feb 5 Application layer: DNS & Socket programming Chapter 2 §2.7 and §2.8 HW 3:
  • Python socket programming (2 weeks)
  • Simple HTML code that your webserver will serve and first draft of your Python code * DUE in one week *
Feb 12 Sockets end ... and the Transport Layer
  • Transport services
  • Mux/Demux, Connection Setup; Checksum
  • Reliable Transport
Chapter 3 §3.1 - §3.4.1; §3.5 HW 3 continued
Feb 19 The Transport Layer
  • TCP Congestion & flow control
  • TCP Wrap-up
Chapter 3, §3.6 - §3.8 HW 4
Feb 26 The Network Layer
  • Network Layer introduction
  • DHCP & NAT
  • Routing: Link State
Chapter 4: (DHCP & NAT are in §4.3; SDN first view)
start Chapter 5 (Link State algorithm)
Ch 4 & 5 Table of Contents
Study for and take Exam 1 (in library)
Mar 5 Routing Algorithms Continued
  • Routing: Distance Vector
  • Routing in the Internet
  • Finish up Chapter 4 and most of 5 - Network Layer

Midterm Exam on Moodle
Chapter 5, § 5.1 to 5.6 (skim 5.5)
  • HW 5 including
    IP lab
    due after break
  • HW 5 Solution on Moodle
Mar 12


Mar 19 Routing in the Internet; The Link Layer
  • Routing in the Internet: RIP, OSPF & BGP
  • Introduction to the Link Layer
Chapter 6 HW 6: Either DHCP or ICMP Lab (Note that the DHCP lab is not great with MAC OS)
Mar 26 Link Layer & Intro to Wireless
  • Ethernet and CSMA
  • ARP
  • Recap of Protocol Stack and the Layers

Chapters 6 and 7
Apr 2 Wireless & Mobility; Security Chapter 8
Apr 9 Network Security
  • Digital Signatures, Authentication
  • Trusted Intermediaries
Chapter 8
  • Work on Project
    1000 words plus 250 words for each additional person in group
    Due by 4pm, Thursday, May 10
Apr 16 Securing Layers & Multimedia Streaming
  • Secure email
  • SSL and Firewalls
  • Introduction to Privacy
    Chapter 9
Apr 23 Multimedia & SDN
  • Software Defined Networking
  • Multimedia categories
  • Content distribution networks
  • VoIP
  • Real time streaming protocols
Chapter 9; Chapter 4 & 5, SDN sections HW 11
Apr 30 Project Presentations & Course Review
  • Presentations
  • Course review
  HW 12
Self-Scheduled Final Exam


Course Overview and Objectives
The course introduces students to the fundamental concepts in the design and implementation of computer networks, their protocols and applications. Topics to be covered include the layered network architecture model, focusing on the application, transport, network and link layers. There will also be discussions on wireless networking and internet security issues. Individual and team projects will give students the opportunity to investigate additional topics of interest. The objective of this course is to introduce students to computer networks. Through the material presented in this course, students will learn:

  1. Fundamental networking principles, and the current implementation (i.e.,the Internet)
  2. The historical layered network architecture model, along with how the model is evolving,
  3. To analyze the strengths and benefits of the Internet architecture, including security and privacy issues,
  4. The far reaching effects of computer networks on human society,
  5. To improve oral and written communication skills

The schedule below lists the reading for each class period. Students are expected to do the reading before coming to class, in order to be fully prepared to solidify the material in the class period. There will be almost-weekly homework assignments, that will include questions from the text, one programming assignment and a number of labs with Wireshark, a network analyzer. There will also be one midterm exam and a final exam.

Wireshark Labs
The wireshark network sniffer, packet analyzer can be downloaded from Wireshark. An html version of the user's guide can be found at user's guide.html, and a pdf version of the user's guide can be downloaded from user's guide.pdf. The wireshark user's guide states the following: "This guide is not intended to explain network sniffing in general and it will not provide details about specific network protocols. A lot of useful information regarding these topics can be found at the Wireshark Wiki"

Homework format
Students are encouraged to work together to understand the concepts, but each student must hand in her own solutions. All assignments are to be neatly written or typed, and stapled, with your name and date. Note that students are expected to follow the Honor Code for all work in this course. Copying on homework or quizzes/exams, and other violations will be brought to the honor board.

The purpose of the homework is for you to have the opportunity to practice the skills and concepts from class. Since homework is the time to practice, you are not expected to have perfects solutions at all times. You are expected to do your best work for each problem however. A complete attempt includes identifying what is known, articulating what you are solving, stating any assumptions, properly labeling figures, and clearly and neatly documenting your progression towards a final result. Homework solutions may be compiled from the solutions submitted by the class, so it is very important that your solutions can be clearly understood by all!

There will be a small group project in which students will be able to demonstrate their knowledge building during the semester. Intermediate stages of the project (topic selection, bibliography...) will be handed in as homework assignments during the semester.

References should following the formatting guidelines in Reference Formatting Guidelines.

There will be one midterm exam in-class and a final, self-scheduled exam, used to solidify concepts and learning assess progress.

Class attendance
Students are required to attend class and participate in class discussions and problem solving exercises. The course grade is 20% participation - as important as homework and the project!This means that you must be in class and participate in the discussions to receive full credit for this portion of the course.

Grades in this course are designed to represent your achievement of the objectives listed above. The course components that will make up your grade are listed below.

Homework sets & labs
Class particpation
Midterm exam
Final exam

Late Policy
All homework assignments are to be submitted at the time specified; late assignments will be penalized at the rate of one point per minute unless you have requested and received and extension at least 24 hours before the deadline. However, each student will have a total of 1 hour (60 minutes) grace time to be used as desired by that student over the course of the semester, such that you can have a semester total of 60 tardy minutes for homework and labs without penalty (note that these minutes cannot be used for in-class reading questions, quizzes or exams).

Honor Code
The homework assignments that you submit must be your own work. You are encouraged to discuss the problems and essay questions with your classmates and work on them together, but each student must work out her own answers. It is not okay to copy answers from another student's homework - doing so is a violation of the Honor Code. Note that it is a violation of the honor code to 1) use or copy another student's work, and 2) provide another student with your work. Projects will be done in small groups. Exams must be exclusively each student's own work, following the instructions provided with each exam. Do not hesitate to ask any questions that you may have concerning the honor code!