csc4900 - Computer Networks

Instructor: Dr. Henry Carter (henry.carter 'at'
Meeting Times: MW 13:30 - 14:45
Location: Mendel G86
Credits: 3
Prerequisites: CSC 2405
Office: Mendel 162A, (610)519-5412
Office Hours: Tue 13:00-14:00, Wed 15:00-16:00, Thu 10:00-11:00
Schedule: click here
TA office hours: TBA


Communications networks are fundamental to our everyday lives. Whether for enabling global scale commerce or connecting long lost friends, these systems have created an unparalleled age of information. Accordingly, knowledge of such systems is critical for all scientists and engineers. This course provides an overview of networking technologies. Students satisfactorily completing this course will gain the skills necessary to analyze and design networking systems and protocols. The course will begin with the application layer, looking at design patterns present in common application layer protocols. We then move down the network stack, considering topics such as reliable transmission and congestion control at the transport layer, routing at the network layer, and multiple access protocols at the link layer. After this discussion, the latter portion of the course will include wireless/mobile networks and devices, queuing fundamentals, security, and network management.

The course objectives are:

  • Students will have experience with developing programs using network application protocols.
  • Students will understand and be able analyze and apply the tradeoffs in developing network related protocols, algorithms, and services.
  • Demonstrate an understanding of network architecture concepts, the OSI reference model, and the TCP/IP architecture.
  • Demonstrate proficiency in analyzing and verifying communication protocols (such as IPv6, ICMP, UDP and TCP).
  • Demonstrate an understanding of routing principles and algorithms, and routing protocols used on the Internet.
  • Demonstrate an understanding of application-layer protocols and their interaction with underlying services.
  • Establish an understanding of network-related security threats and solutions.

Most of the course readings will come from the following book, with possible additional papers assigned for readings and as reference material.

  • James F. Kurose and Keith W. Ross, Computer Networking, 7th Edition, Pearson Addison-Wesley, 2017.

Students may find the following book helpful for reference during the programming projects, but it is not required for the course.

  • Kenneth L. Calvert and Michael J. Donahoo; TCP/IP Sockets in Java, Second Edition: Practical Guide for Programmers; Morgan Kaufmann, 2008.

A detailed list of lectures, readings, assignments, due dates (subject to change as the semester evolves) is available on the course schedule.


Students will be evaluated based on the following breakdown:

  • 15% Homeworks
  • 20% Projects
  • 25% Midterm
  • 35% Final
  • 5% Class Participation

Scale: 70 ≤ C < 77 ≤ C+ < 80 ≤ B- < 84 ≤ B < 88 ≤ B+ < 90 ≤ A- < 94 ≤ A


The course will include one midterm and one final exam. Students will be responsible for material covered both in the readings AND lectures. Attendance is therefore recommended as not all class discussions will be covered in the text.

Homeworks and Projects

This course will consist of three homeworks and four programming projects. Digital copies of the assignments turned in via Blackboard are due at the beginning of class. Projects must be written in the Java programming language and submitted to Blackboard as a single compressed file by class time on the due date. See the lateness policy below.

Note that this is a systems course - successfully completing coding assignments is a necessary condition for earning a desirable grade.

Lateness Policy

Assignments and project milestones are assessed a 15% per-day late penalty, with a maximum of 3 days, after which the assignment will be assessed a 0 grade. Unless the problem is apocalyptic, don't give me excuses. Students with legitimate reasons who contact the professor before the deadline may apply for an extension.

Class Participation

To do well in this course, students must take active and regular roles in discussion and demonstrate comprehension of the reading and lecture themes. Students are required to do the assigned reading before class. This will be closely monitored by the professor, thereby making a student's ability to demonstrate their comprehension of material essential to a receiving a passing grade.

Disabilities and Learning Support

It is the policy of Villanova to make reasonable academic accommodations for qualified individuals with disabilities. You must present verification and register with the Learning Support Office by contacting 610-519-5176 or at Accommodations cannot be made until verification is delivered to the professor, and cannot be enacted retroactively. For physical access or temporary disabling conditions, please contact the Office of Disability Services at 610-519-4095 or email Registration is needed in order to receive accommodations.

Academic Integrity Policy

All students are expected to uphold Villanova's Academic Integrity Policy and Code. Any incident of academic dishonesty will be reported to the Dean of the College of Liberal Arts and Sciences for disciplinary action. For the College's statement on Academic Integrity, you should consult the Enchiridion. You may view the university's Academic Integrity Policy and Code, as well as other useful information related to writing papers, at the Academic Integrity Gateway web site