Skip to main content
Till KTH:s startsida Till KTH:s startsida

IK1203 Networks and Communication 7.5 credits

The course is an introduction to networking, protocols and communication.

We study how large international networks are constructed from the individual computers, via local area, city and national networks. We use the Internet as or working example of such a network. The aim of the course is to give insights into both the theory and practice of the area.

The focus of the course is on the protocols and algorithms used, and we will follow how they are used and implemented into the TCP/IP-stack - the basis of the Internet.

Choose semester and course offering

Choose semester and course offering to see current information and more about the course, such as course syllabus, study period, and application information.


For course offering

Spring 2025 Start 14 Jan 2025 programme students

Application code


Headings with content from the Course syllabus IK1203 (Spring 2024–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

  • Internet's structure and different components.
  • Layered network models: overview of the Internet model.
  • Communication models: "Client-server" and "peer-to-peer".
  • Internet-based applications and their protocols: DNS, SMTP, HTTP etc.
  • Design and implementation of applications according to the client/server model. Socket programming.
  • Principles of transport protocols and the services they offer. Internet-based transport protocols: TCP and UDP.
  • Flow regulation, congestion control and error handling. Stop-and-wait, Go-Back-N as well as window handling and congestion control in TCP.
  • Interconnected networks: Internet Protocol (IP), datagram services, packet switching, routing protocols and routing algorithms.
  • Local area networks: topologies, access control, Ethernet, wireless local area networks, switched local area networks, link protocols. Network in data centers. Detection of transmission errors.

Intended learning outcomes

After passing the course, the student should be able to

  • describe and explain basic terms and concepts used in networking and communication
  • analyse communication scenarios and application requirements and explain which methods and algorithms that are appropriate to offer a desired communication service
  • explain, model and analyse the behaviour of networks using different methods for error handling and flow control
  • explain different methods for congestion control and how they react to different events and conditions in the network 
  • explain the functions of protocols of the different layers of the Internet model and how different layers interact with one another
  • explain and compare basic algorithms and mechanisms for path selection and how they react to different events and conditions in the network
  • use socket programming to implement simple applications according to the client/server model
  • design, implement and analyse the behaviour of simple Internet-based applications and their protocols
  • design and configure simpler networks with basic services such as DHCP and DNS
  • explain different functions and concepts concerning equipment for communication and networks
  • calculate or estimate performance in terms of delay, throughput and utilization in interconnected networks

in order to

  • understand and utilise computer communication and computer networks in a reliable and efficient way in systems and applications
  • lay the foundation for continued studies in the area

Literature and preparations

Specific prerequisites

Knowledge and skills in Java programming, 6 credits, corresponding to completed course ID1018/DD1337 alternatively a completed course in basic programming such as DD1310-DD1319/DD1321/DD1331/DD100N combined with a completed course in Java programming corresponding to DD1380.

Knowledge in Boolean algebra, 1,5 credits, corresponding to completed course IE1204/IE1205, alternatively ANN1 in IS1500.

Recommended prerequisites

No information inserted


No information inserted


Computer Networking, Global Edition, 8e. James F. Kurose & Keith W. Ross. Pearson. ISBN-13: 9781292405469

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

A, B, C, D, E, FX, F


  • LABB - Laboratory work, 1.5 credits, grading scale: P, F
  • PROJ - Project assignment, 1.5 credits, grading scale: P, F
  • TENT - Digital examination, 4.5 credits, grading scale: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

TENT is conducted as a continuous digital examination and is given in English. Written solutions may be submitted in Swedish or English.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study


Education cycle

First cycle

Add-on studies

  • IK1550 Internetworking.
  • IV1013 Introduction to Computer Security


Peter Sjödin,

Supplementary information

In this course, the EECS code of honor applies, see:

The content in this course overlaps partly with IK2218 Protocols and Principles of the Internet 6 credits.