Credits: 1 unit (4 credit hours)
Contact Hours: 3 lecture
Instructor: Professor Amir Sadovnik
Last Taught: Spring 2013
Text Book: Computer Networking: A Top-Down Approach, 6th Edition.
By James Kurose and Keith Ross. (Addison-Wesley, 2012.)
Description: The implementation and use of computer networks. Topics include the ISO reference model, communication protocols, local-area and wide-area networks, and wireless communications.
Prerequisites: CS203 (Computer Organization) or ECE313
Corequisites: CS205 (Software Engineering)

Specific Course Goals:

  • Students will be able to describe the basic principles of computer networks, the design philosophy of the Internet, and the details of Internet protocols.
  • Students will learn to design and implement efficient, scalable, and secure network applications.
  • Student will learn the basics of encryption (symmetric key cryptography and public key cryptography) and how it may be applied in achieving different aspects of network security: confidentiality, authentication, message integrity, and access and availability.

Student Outcomes:

ABET/CAC Outcome 1 Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
ABET/CAC Outcome 2 Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
ABET/CAC Outcome 3 Communicate effectively in a variety of professional contexts.
ABET/CAC Outcome 4 Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
ABET/CAC Outcome 5 Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.

Topics covered:

  • Application layer:
    • HTTP
    • FTP
    • SMTP
    • DNS
  • Peer-to-peer applications
  • Reliable transfer:
    • ABP
    • Go-Back-N
    • Selective-Repeat
  • Transport layer:
    • TCP
    • UDP
  • Socket programming with TCP and UDP
  • Network layer:
    • IP
    • ICMP
  • Network layer: Routing
  • Link layer and local area networks
  • Wireless networks
  • Security