CSC 257/457 - Computer Networks (Fall 2018)

Prerequisites

CSC 252

Teaching Team

Instructor: Liudvikas Bukys
Office: Wegmans 2105
Office Hours: Mon/Wed after class, Thursday 5:30-7PM, or by appointment
Email: bukys@cs.rochester.edu

TA: Fangzhou Liu
Office:Wegmans 2203
Office Hrs: T 6pm - 8pm (we will contract if there is insufficient demand)
Email: fliu14@ur.rochester.edu

Course description

This course explores the field of computer networking and communication, emphasizing network architecture and software design issues. We will discuss the basic performance and engineering trade-offs in the design and implementation of computer networks at every level. The idea is to learn not only what computer networks are and how they work today, but also why they are designed the way they are and how they are likely to evolve in the future. We will draw examples primarily from the Internet in this course.

Topics covered

The course covers foundational material in the field of computer networks, including
  • Network architectures (protocols, layering, interfaces, encapsulation)
  • Network technologies (e.g., Ethernet, FDDI, ATM, ISDN, wireless, HIPPI)
  • Internetworking (addressing, routing, subnetting, autonomous systems)
  • Resource allocation (fair queuing, virtual clocks, congestion avoidance)
  • End-to-end issues (data representation, compression, authentication, encryption)
  • Interprocess communication (datagrams, virtual circuits, request/reply, multicast, reliable broadcast, mobility)
Additionally, the course will cover more advanced topics in computer networks, such as
  • multimedia networking
  • security in computer networks
  • wireless and mobile networks

Course schedule

CourseFacultyLocationDaysTime
CSC 2/457Liudvikas BukysDewey 2-110DMW4:50 PM - 6:05 PM

Required textbook


Computer Networking: A Top-Down Approach, 7/E (ISBN: 9780133594140) by James F. Kurose & Keith W. Ross (© Pearson Education, 2017).

You will perform significant network programming for this course. You can find many network programming resources on the web and even from Linux manual pages. However, if you would like to have an advanced network programming reference book (for C), a well-recommended one is "Stevens, Unix Network Programming, Volume I", 2nd edition (1998).

Workload

  • In-class Quizzes
  • Labs and Projects
  • 1 Mid Term
  • 1 Final

Grading policy

  • Quiz (10% of the course grade)
    • There will be 10+ quizzes
    • Only the top 10 quizzes will be considered.
    • Each quiz carries 1% of the course grade
    • All the quizzes will be held during the lecture on Monday
  • Exams (40% of the course grade)
    • 1 midterm (15%)
    • 1 final exam (25%)
    Midterm on Wednesday, Oct 24, 2018
    Final on Tuesday, December 18, 2018, 8:30 AM
  • Labs/Assignments/Projects (45% of the course grade)
  • Term Paper (Only for CSC/TCS 457)
    • Students need to review one or more conference/journal papers, implement or add features to it.
    • Students need to submit a report based on their results or findings.
    • 20 addition points (making the total grade 120. The score will scaled to 100 for final letter grade)
  • Class Participation
    • 5 points will be awarded based on class participation.

Honor Code Policy

For homeworks and programming assignments, students are encouraged to consult each other, the TA, the instructor, or anyone else for that matter. However, the assistance offered or accepted should not go beyond a discussion of the problem and a sketch of a solution. You can use the following guideline: For homeworks and programming assignments, students are encouraged to consult each other, the TA, the instructor, or anyone else for that matter. However, the assistance offered or accepted should not go beyond a discussion of the problem and a sketch of a solution. You can use the following guideline: when it comes time for you to write your program or your homework paper, do not use any written material from the discussion. If you can reconstruct the discussion and complete the solution on your own, then you have learned the material (and that is the objective of this course!). For team projects, you should make sure to identify division of labor in your README. You are expected to be familiar with and adhere to the University's Academic Honesty Policy.

Late homework and absences from exams

No late submissions allowed. Examinations will be given at alternate times only with appropriately documented medical excuses.