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.


Please join the course facebook group: 



0 - Course Overview , Course Syllabus

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: Tutorial, Sheet

Lab2: Sheet , Files

Lab3: Sheet, Files

Lab4: Tutorial, Files

TCP Server


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 Data Streams  Monday March 26th Midnight

1. Redo assignment-1 using readers/writers.

2. Submit your solution to part 2 of lab-3. 

 Sunday April 8th Midnight

Course Project

Project Specifications


Code and report submission deadline: May 1st midnight.


Discussions will be held on the 2nd of May.




Total (60)