EPL606 Computer Networks
and the Internet

Fall 2022


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 initial>@ucy.ac.cy

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

Office Hours:
Thursdays, 12:00 -13:00
and by appointment

Laboratory Assistant:
Dr. Yiannos Mylonas

Lab. Location and Time:
Friday, 6:00pm-7: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, EPL375) and have basic programming experience in C, Java, or Python. Students with a primary interest in machine learning or AI, HCI, or databases will also find some of the topics interesting.


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:

  • Sep. 29: Form groups of 2-3 students - email group name, participants (names and email addresses) to the instructor and assistant
  • Oct. 6: 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.
  • Nov. 3: Present your project proposal in class.
  • 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
Sep. 8
Sep. 22
Sep. 29
Oct 13, 20
Oct 27, Nov. 3
  • Traffic Modelling and Queuing Theory
Nov. 3
Nov. 17
  • Software Defined Networks and Network Management
Nov. 24
  • Software Defined Networks and Network Management
Dec. 1
  • Project Presentations

Laboratory Sessions and Exercises



Date Announced Exercise Date Due
8 September 2022 Network Discovery 15 September 2022
6 October 2022 Network Routing 13 October 2022

In-class Paper Presentations

Date Paper Student
13 October 2022
  1. Lookup Algorithm Taxonomy
  2. Fast intradomain routing convergence (did not get presented)
  3. BGP Policies in ISP Networks
  1. Saradan, Toni T.
  2. Giannakou Andreas
  3. Evgeniou Pavlos
20 October 2022
  1. Rate Control Protocol
  2. DCCP
  3. Data Center TCP (DCTCP): TCP Congestion Control for Data Centers
  4. Future Internet Architecture
  1. Zidar Matic
  2. Demosthenous Andreas
  3. Theofilou Ioanna
  4. Kaizer Demetris
27 October 2022
  1. Survey of Naming and Routing in ICN
  2. Mobility First
  3. Shedding Light on the Internet: Stakeholders and Network Neutrality
  1. Louka Antonis
  2. Mesina Philippos
  3. Christodoulou Marios
3 November 2022
  1. I Tube, You Tube, Everybody Tubes: Analyzing the World's Largest User Generated Content Video System
  2. Watching Video over the Web: Part 1: Streaming Protocols
  3. Application-layer monitoring of QoE parameters for mobile YouTube video streaming in the field
  1. Kousarides Georgios
  2. Makkoulas Petros
  3. Milidonis Andreas

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
1. Jamming Localization in Wireless Sensor and IoT Networks
  1. Antonis Louka
  2. Giorgos Kousaridis
  3. Ioanna Theofilou
2. Smart City - Review and Simulation of a Smart City Application
  1. Petros Makkoulas
  2. Marios Christodoulou
3. Creating an IoT System in the cloud (How-to)
  1. Andreas Milidonis
  2. Pavlos Evgeniou
4. Application using a decentralised messaging protocol (Matrix)
  1. Matic Zidar
  2. Toni Saradan
5. Evaluation of ML algorithms for the detection of DDOS attacks
  1. Demetris Kaizer
  2. Andreas Demosthenous
  3. Philippos Messina

News and Updates

  • 4/9/2022 - Website up and running
  • 4/9/2021 - Project Dates Updated