EPL606 Computer Networks
and the Internet

Spring 2024


In the last few years we have seen the emergence of an extraordinary number of Internet applications. The Internet has changed tremendously and it is not only used to browse the Web, email friends, or download files. People use the Internet to communicate (with both voice and video), exchange music and video clips, share information either though long blogs and posts, and also through small text-based messages, watch TV and movies, play games, and so much more.

Course Objectives

This is a graduate-level course in which will explore research topics in computer networking, primarily at the network layer and above. You will gain exposure to rapidly developing areas of computer networking through our focus on the new wave of Internet applications described above, and the infrastructure that supports them. Therefore the course has two objectives. The first is to understand the innovations (algorithmic and technological) behind these applications, and the second objective is to understand the underlying principles of networking protocols and algorithms that support them.

It should be noted that this is not an introductory course in Networking. The course is also not about specific applications, nor it is structured around certain protocols. Specific applications will be used as the framework in which standards and protocols will be described and analyzed. Students are expected to do a significant amount of readings on their own.

Course Details

Asst. Prof. Vasos Vassiliou
ΘΕΕ 1, Β114
<my last name.first name>@ucy.ac.cy

Class and Tutorials Location and Time:
Thursdays, 3:00pm-6:00pm,
Thursdays 2:00pm-3:00pm,
ΘΕΕ01, 147

Office Hours:
Thursdays, 10:45 -12:00
and by appointment

Laboratory Assistant:
Dr. Yiannos Mylonas

Lab. Location and Time:
Thursday, 3:00pm-4:30pm,
ΘΕΕ01, 201

Honor Code

Students are expected to abide by the University of Cyprus Code of Conduct. Honest and ethical behavior is expected at all times. All incidents of suspected dishonesty will be reported to and handled by the office of student affairs. You are to do all assignments yourself, unless explicitly told otherwise. You may discuss the assignments with your classmates, but you may not copy any solution (or part of a solution) from a classmate.

Course Structure

The course will meet once a week for 2 continuous sessions (80-minutes per session).

The course will adopt a style that combines four elements:

  • Students will watch selected videos (Prof. Feamster's Networking Videos) or read selected items of bibliography on that lecture's topic before coming to class
  • The instructor will present the topic using textbook bibliography and/or technical articles
  • One or more small (5-10 min) presentations on specific ideas/articles will be presented by students
  • The students and the instructor will engage in discussion on the topic

Pre-requisites and Recommended Background

Students should have taken at least an undergraduate-level networking course (EPL324, EPL422) and have basic programming experience in C, Java, or Python.


The course will not follow a specific textbook. Instead, we will utilize a number of sources such as books, surveys, and research papers (listed in the schedule section). You may also find the following textbooks useful for certain parts of the course:

  • "Computer Networks, A Systems Approach", Larry Peterson and Bruce Davie, Morgan Kauffman-Elsevier https://book.systemsapproach.org/
  • "Computer Networking -- A Top-Down Approach Featuring the Internet" – Eigth Edition, James F. Kurose and Keith W. Ross, Addison-Wesley.
  • “Computer Networks, 5th Edition”, Andrew S Tanenbaum and David Wetherall, Pearson Education, 2011.
  • “Computer Networks, An Open Source Approach – International Edition”, Yin-Dar Lin, Ten-Hung Hwang, and Fred Baker, McGraw Hill, 2011


  • 10% Participation and Class Presentations
  • 30% Assignments and Lab Exercises
  • 30% Group Semester Project
  • 30% Comprehensive Final Exam

Assignments for the course will be theoretical exercises, programming assignments, lab-based assignments, and paper summaries.

Participation includes:

  • Watching the videos and reading the papers (as determined with in-class quizzes).
  • Participating in class discussion.
  • Attending class.

The project can be done in groups of two or three, subject to approval of the instructor.


Students will work on a term project in groups of two or three students. The semester project is supposed to be the most creative and fun part of the course. Also, the project will be a "hands-on" study that is related to one or more Internet applications or Network technologies and Protocols. The exact project description will be determined by students themselves. The only requirement is that the project should have a sufficiently challenging component, and it should be relevant to the syllabus of this course.
For instance, you can write a new (or modify an existing open-source) application that is related to the course topics. You can measure or experiment with existing network architectures, evaluating their performance or other characteristics. You can study the user-level satisfaction of a video streaming application. Or, you can propose, study and implement an algorithm that would be useful in one of the applications we cover (for example, an advanced web searching algorithm based on clustering or semantic associations). Writing a survey paper or just running some applications would certainly not be enough.

Important project milestones:

  • Feb. 8: Form groups of 2-3 students - email group name, participants (names and email addresses) to the instructor and assistant
  • Feb. 22: Two-page project description, explaining what you want to do and how you plan to do it. The instructor will provide feedback and you may need to revise your project description.
  • Last week of classes: Project writeup (pre-publication draft) and final project presentations

Please watch all videos (Prof. Feamster's Networking Videos) and read all papers before class. The teaching style will be "flipped", so class time will be devoted to discussion and questions.

Videos, assignments, and papers will be posted by the beginning of the corresponding week of class. Assignments will generally be due immediately before the subsequent assignment is released.

Date Modules Readings Slides
Feb. 1
Feb. 8
Feb. 15
April 18
  • Project Presentations

Laboratory Sessions and Exercises

  • Please visit the Laboratory Section on the Blackboard page for specifics


Date Announced Exercise Date Due

In-class Paper Presentations

Date Paper Student

Semester Project

  • 6/10/2022 - Submit Proposal.
  • 3/11/2022 - Proposal Presentation (Do 5 -10 min presentation of project and progress in class)
  • 17/11/2022 - Submit Progress Report.
  • Last Week of Classes - Final Project Presentations - 20mins/project + 5min Questions.
No. Project Title Team

News and Updates

  • 17/1/2024 - Website up and running
  • There will be no lecture during the first week of classes