CPE552 Networks and Internet Programming

Course Description

Java I/O streams; Internet Addresses; The socket interface and Communication primitives; Message passing; Protocols Design; Protocol specification; Protocol implementation; Processes; Threads and synchronization; Multithreaded clients and servers; InterThread communication; Java network programming API is used to implement the practical aspects.


0 - Course Overview

1 - Networking Theory

2- Java Overview

Java Revision - Part I

Java Revision - Part II

Java Revision - Part III

Java Revision - Exception Handling

3 - Internet Addressing

4 - Data Streams : Part I - Part II

5 - UDP

6 - TCP

7 - Multithreaded Applications: Part I - Part II

Exams Samples

Fall 2015 Mid Exam

Fall 2015 Final Exam

Lab-1 Internet Addressing: DocumentSheet
Lab-2 Data Streams: Document (Modified), Files
 Lab-3 Readers, Writers, and Object Serialization: Document, Sheet
 Lab-4 : UDP

All lab assignments should be submitted to the following email: This email address is being protected from spambots. You need JavaScript enabled to view it.

If the assignment includes code submission, make sure you submit only your .java file(s). If there are several files in your submission, compress the files and submit a .rar or .zip file. DO NOT submit separate files, otherwise your solution will not be graded.

Late submissions (after the deadline) will not be accepted.

Document Deadline
Assignment-1 Saturday October 15th Midnight

Wednesday November 2nd Midnight

Friday November 4th Midnight


Firday November 11 Midnight

Monday November 14th Midnight


Sunday December 4th Midnight



Course Project


Proposals are due Thursday December 1st

Final code submission is due Tuesday December 27th 

Discussions will be held on December 27th and 29th


Assignments + Labs

Sum (50)