ECE 316 - Operating Systems and Networking Laboratory

Course Details

This undergraduate course covers programming examples in operating systems and computer networks. The objective is to provide better understanding of the topics covered by the related courses ECE313 and ECE360. During this course, the students will have weekly programming assignments involving Operating Systems and Networking concepts. 

Topics Covered

Weekly assignments on Operating Systems and Computer Networks.  Topics will include:

  • Operating Systems: Processes and threads, concurrency, synchronization, deadlocks, and process scheduling. memory management, Input/Output devices
  • Computer Networks:  Concepts from direct link networks and networking layer as well as socket programming.


  • Weekly assignments: 75% 
  • Final programming project: 25%.
Grading Policy
  • All assignments should be submitted to the TA by the due date before 1pm.
  • All students can submit up to a maximum of two assignments late, without any penalty.  In this case, the assignment should be submitted before one week from the original deadline.
  • Any assignment submitted late (beyond the two mentioned above) will be marked with a maximum (100-20*d)% where d is the number of days that the assignment is late.
    • For example, if the deadline is on Tuesday 1pm, then assignments submitted after 1pm on Tuesday and before 1pm on Wednesday will have d=1.  Assignments submitted between 1pm on Wednesday and Thursday will have d=2 and so on.  Assignments submitted after 1pm on Sunday will not be accepted.


  • No textbook is needed, but students will benefit from the ECE313 and ECE360 notes and textbooks.
  • Notes from ECE325 will also be helpful.

Academic Honesty

It is acceptable to work together in small groups for study and homework. However, work that you turn in under your name must be your own. Cheating will not be tolerated; neither during weekly assignments nor during final project.
Download syllabus (.pdf): Greek Version