EPL606 Computer Networks
and the Internet

Fall 2017

Overview

In the last few years we have seen the emergence of an extrordinary 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

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

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

Office Hours:
Tuesdays and Fridays, 10:30am-12:00pm
and by appointment

Laboratory Assistant:
Dr. Yiannos Mylonas

Lab. Location and Time:
Friday, 6:00pm-8:00pm,
ΘΕΕ 1, 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.

Bibliography

The course will not follow a specific textbook. Instead, we will utilize a number of sources such as books, survey, 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, Fifth Edition, 2011
  • "Computer Networking -- A Top-Down Approach Featuring the Internet" – Seventh Edition, James F. Kurose and Keith W. Ross, Addison-Wesley, 2016.
  • “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

Grading

  • 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.

Project

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. 18: Form groups of 2-3 students - email group name, participants (names and email addresses) to the instructor and assistant
  • Oct. 3: 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.
  • Oct. 17: Present your project proposal in class.
  • Oct. 31: progress report -- each group will present in class what they have accomplished so far
  • 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. 5
Sep. 12
Sep. 19
Sep. 26
Oct. 10
  • Traffic Modelling and Queuing Theory
Oct. 17, 24
Oct. 31
Nov. 7, 14
Nov. 21
  • Project Presentations

Laboratory Sessions and Exercises

Laboratory

In-class Paper Presentations

Date Paper Student
26 September 2017
  1. Lookup Algorithm Taxonomy
  2. Fast intradomain routing convergence
  3. BGP Policies in ISP Networks
  1. Kyriakou Nikolas
  2. Makarouna Elena
  3. Makrigiorgis Rafael
10 October 2017
  1. Future Internet Architecture
  2. Survey of Naming and Routing in ICN
  3. Mobility First
  1. Iacovou Kyriakos
  2. Epameinonda Nikolas
  3. Giorgallas Giwrgos
17 October 2017
  1. Information-Centric Metworking
  2. Shedding Light on the Internet: Stakeholders and Network Neutrality
  3. Rate Control Protocol
  4. DCCP
  1. Michael Marios
  2. Theodoros Georgiou
  3. Moleskis Giorgos
  4. Palichoros Marios
24 October 2017
  1. "FASTER"
  2. A Compound TCP Approach for High-speed and Long Distance Networks
  3. Let's make TCP Faster
  1. Sofocleous Rafaella
  2. Stafanides Demosthenis
  3. Soteriou Soteris

Semester Project


Timeline
  • 10/10/2017 - Submit Proposal.
  • 31/10/2017 - Submit Progress Report and Do 5-10 min presentation of project and progress in class.
  • 28/11/2017 - Final Project Presentations - 20mins/project + 5min Questions.
No. Project Title Team
1. Adaptive Video Transmission over Mobile Wireless Networks
  1. Rafael Makrigiorgis
  2. Elena Makarouna
  3. Rafaela Sophocleous
2. Intrusion Detection in WSN/IoT using Machine Learning
  1. Kyriakou Nikolas
  2. Michael Marios
  3. Stefanidis Dimosthenis
3. IoT Security-Fault Diagnosis
  1. Giorgos Moleskis,
  2. George Georgallas
  3. Marios Palechoros
4. The IEEE802.15.4e TSCH mode and the 6TiSch protocol stack.
  1. Νικόλας Επαμεινώδα
  2. Θεόδωρος Γεωργίου
  3. Κυριάκος Ιακώβου

News and Updates

  • 7/9/2017 - Website up and running
  • 7/9/2017 - There will be no Tutorial Session and no Laboratory Session on the first week of classes
  • 29/09/2017 - Class Schedule Updated
  • 29/9/2017 - Presentation List updated
  • 29/9/2017 - Project List Updated