Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.


Syllabus for

Academic year
EDA387 - Computer networks
Syllabus adopted 2014-02-18 by Head of Programme (or corresponding)
Owner: MPCSN
7,5 Credits
Grading: TH - Five, Four, Three, Not passed
Education cycle: Second-cycle
Major subject: Computer Science and Engineering, Information Technology

Teaching language: English
Open for exchange students
Block schedule: B

Course module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0111 Laboratory 1,5 c Grading: UG   1,5 c    
0211 Examination 6,0 c Grading: TH   6,0 c   31 Oct 2014 pm V,  05 Jan 2015 pm M,  27 Aug 2015 pm V

In programs



Docent  Elad Schiller


EDA385   Internet technology EDA386   Internet technology

Course evaluation:


In order to be eligible for a second cycle course the applicant needs to fulfil the general and specific entry requirements of the programme that owns the course. (If the second cycle course is owned by a first cycle programme, second cycle entry requirements apply.)
Exemption from the eligibility requirement: Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling these requirements.

Course specific prerequisites

You should have a Bachelor's degree or equivalent. You should have taken at least one course in computer programming. We also expect 7.5hp or equivalent in one of the four areas: Computer Communication, Operating Systems, Algorithms, Programming (C or C++) and Mathematics (Discrete Mathematics).


The aim of this course is to learn to design and analyze network protocols and to gain knowledge in existing communication networks including supporting systems and protocols fundamental tasks and methods in data communication networks.

Computer networks cover a range of sub-specialties including: computer communication network concepts and protocols, network security, BSD socket API, and distributed fault-tolerance methods. Mastery of computer network involves both theory and practice in the design, implementation and use of network protocols and services.

Learning outcomes (after completion of the course the student should be able to)

1. Knowledge and understanding
In the exam and home assignments, the students are required to show knowledge about routing methods, Interconnection services, the TCP/IP protocol suite. Moreover, they are required to describe and analyze in detail architecture, core protocols, global routing, services and service limitations of the Internet. Furthermore, the students are required to analyze and discuss contemporary networking problems such as TCP connections, performance and flow control.

2. Skills and abilities
During the course, the students are required to develop small scale network applications using fundamental networking techniques. The successful completion of the course requires a skilful and knowledgeable demonstration of these software developments for advanced fault-tolerance client-server and peer-to-peer architectures.

The written communication skills in this course include the write up of lab reports and the demonstration of protocol correctness.

3. Judgement and approach
The student judgment skills should include the ability to describe, design and analyze existing and new algorithms for network protocols. In particular, self-stabilizing systems are studied in details.


This course, which builds on the fundamental TCP/IP courses, aims to provide in-depth knowledge of designing and analyzing network oriented algorithms and to gain knowledge in existing communication networks, such as the Internet technology with example of core supporting hardware, communication protocols, fundamental services and methods in communicating data. Experience with network oriented programming is part of the course.

This course offers learning experiences that involve hands-on experimentation and analysis as they reinforce student understanding of concepts and their application to real-world problems. Several laboratory experiments are given and involve API programming for fault-tolerance network systems, and Internet interconnections and services from a practical perspective, and protocols' design and analysis with a strong emphasis on self-stabilizing algorithms.

This course provides the students the ability to understand fundamental issues in the design of methods for computer network protocols.


Lectures, exercises, home assignments, and laboratory assignments.


W. Stevens, Bill Fenner, Andrew M. Rudoff, Unix Network Programming, Volume 1: The Sockets Networking API, 3rd edition, Addison-Wesley Professional, ISBN-10: 0-13-141155-1.

S. Dolev, Self-Stabilization, 1st edition, The MIT Press, ISBN-10: 0-26-204178-2.

Textbook is complemented by lecture notes, articles, and scientific papers.


Written exam at the end of the course and approved assignments
(pre-/post- lecture questions, algorithm assignments, programming labs,
and networking labs).

Page manager Published: Thu 04 Feb 2021.