MEDGAR EVERS COLLEGE of CUNY
Department of Physical, Environmental and Computer Sciences
Department Office, Carroll 417 - Phone 718-270-6453

CS 309(TLC 309)  Network Programming
2 lecture hours, 2 Laboratory hours,   3 credits

Course Description: This course focus on interconnecting Local Area Networks (LAN) into larger private and public networks including Enterprise and Wide Area Networks (WAN).  Topics include network programming with Sockets, TCP/IP protocol stack, server side/client side applications programming.

Prerequisites: CS 305, CS 307

Required Textbook:
Unix Network Programming I: Networking APIs: Sockets and XTI, 3rd edition
W. Richard Stevens, Bill Fenner, Andrew M. Rudoff, Prentice Hall, 2003, ISBN: 0-13-141155-1

Evaluation:
The final grade will be a weighted average or exams, homework assignments, laboratory assignments, research paper or project and oral presentation of paper or project.

Academic Requirements and Regulations:  Students who officially withdraw from a course between the 4th through the 8th week receive a grade of W, which is not counted in computing the grade point average.  Courses officially dropped after the 8th week of class will appear as a WF and count as an F grade.  INC (Incomplete) or ABS (absent) grades will only be given to students who are passing the course.

Honor Code and Plagiarism:    Students are required to sign and adhere to the departmental honor pledge.  Check with the department for a copy of the pledge.

CUNY Proficiency Examination (CPE)

The CPE is a graduation requirement.  All students between 45-60 credits are required to sit for and pass the CPE.  You have only three chances to pass this examination.  Each missed scheduled examination after the 45 credit mark counts as a failure.  For more information about this requirement, contact the Medgar Evers College CPE Liaison.

Course Outline

Topical Course Outline

  • INTRODUCTION and TCP/IP
    1. Overview
    2. The Transport Layer: TCP and UDP
  • ELEMENTARY SOCKETS
    1. Sockets Introduction
    2. TCP Client-Server Example
    3. Socket Options
    4. Elementary UDP Sockets
  • Advanced Sockets
    1. IPv4 and IPv6 Interoperability
    2. Name and Address Conversions
    3. I/O Functions
    4. ioctl Operations
    5. Routing Sockets
    6. Broadcasting
    7. Multicasting
    8. Threads
    9. Final Exam