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

Lab1-Internet Addressing: Tutorial , Sheet
Lab2- Data Streams I: Tutorial/Sheet, Files
Lab3: Readers, Writers, and Object Serialization: Tutorial/Sheet, Files , Solution
Lab4: UDP: Tutorial, Files

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.


Assignment # Assignment Document Assignment Deadline
1 Exception Handling Wednesday March 1st Midnight
2 Internet Addressing No Submission Required
3 Data Streams Wednesday April 5th Midnight




Course Project


Final code submission is due Sunday May 7th

Discussions will be held on Monday May 8th and Tuesday 9th


Labs + Assignments

Sum (50)

Students whose grades appear in red got a 0 in the assignment and 5 in the project for cheating.