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.
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.
Class and Tutorials Location and Time:
Thursdays, 12:00 -13:00
and by appointment
Dr. Yiannos Mylonas
Lab. Location and Time:
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.
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 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:
Assignments for the course will be theoretical exercises, programming assignments, lab-based assignments, and paper summaries.
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:
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.
|Oct 13, 20||
|Oct 27, Nov. 3||
|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
|13 October 2022||
|20 October 2022||
|27 October 2022||
|3 November 2022||
|1.||Jamming Localization in Wireless Sensor and IoT Networks||
|2.||Smart City - Review and Simulation of a Smart City Application||
|3.||Creating an IoT System in the cloud (How-to)||
|4.||Application using a decentralised messaging protocol (Matrix)||
|5.||Evaluation of ML algorithms for the detection of DDOS attacks||