IDATT2104 - Network Programming


Examination arrangement

Examination arrangement: Portfolio assessment and written examination
Grade: Letter grades

Evaluation Weighting Duration Grade deviation Examination aids
Portfolio assessment 50/100 A
School exam 50/100 3 hours E

Course content

Data communication: Standardisation and layered communication. Protocols on application layers, transport layers, network layers, link layers and transmission technology on physical layers. About network structures and the operation of network components.

Programming: Threads and synchronisation. Sockets (UDP and TCP). Asynchronous solutions. Higher level network API(s). Safety.

Learning outcome


The candidate must:

  • be able to explain basic principles and architecture of data communication
  • be able to account for protocols and their functionality in layered data communication
  • be able to account for network structures and network components
  • be able to explain why one uses threaded programs as well as the necessity of synchronisation mechanisms between these
  • be able to account for the advantages and disadvantages of selected network APIs and can make a reasoned assessment of what is most appropriate in given contexts


The candidate must:

  • be able to analyse data traffic and use a selection of auxiliary tools to analyse the condition of machines and networks (D)
  • be able to create well-functioning threaded programs (D)
  • be able to create both unconnected and connection-oriented network solutions (D)

General competence

The candidate must be able to communicate with professionals about network protocols and network solutions

Learning methods and activities

Lectures / workshops and exercises. The programming exercises must be presented to the practice teacher for approval, the others must be submitted. The course is divided into two parts:

  • Data communication: In this section, all exercises must be approved in order to sit for the exam. The exercises must be submitted for assessment.
  • Network programming: In this section there are mainly practical programming exercises. All must be approved and approval takes place upon presentation to the practice teacher during practice hours at the computer lab.

Compulsory assignments

  • Øvinger i Datakommunikasjon

Further on evaluation

Assessment method: The final grade is set on the basis of two assessment elements. Both of these must be passed separately. There is a right of appeal in each of the two parts.

Continuation and voluntary repetition/improvement can be carried out for some partial assessments without all partial assessments in a subject having to be taken up again.

Written exam ( Data communication) counts for 50% of the total grade. Re-sit exam might be changed to oral exam. The re-sit exam is in August.

Folder assessment (programming) counts for 50% of the grade. Here the grade is calculated as follows:

  • With all programming exercises approved without moves, the grade C is given.
  • A subtraction is made if an exercise is submitted too late or failed and must be done again. For two subtractions, the sub-grade is reduced by one. For four subtractions, the sub-grade is reduced by two, etc.
  • Those who want to improve the grade (to A or B) on the portfolio assessment must complete a programming case. This must be presented to the subject teacher and defended on an individual basis. Programming cases can only be taken by those who have achieved C on the folder in the first place.

In the event of voluntary repetition, fail (F) or valid absence, the entire project and portfolio must be retaken in a semester with teaching.

Specific conditions

Admission to a programme of study is required:
Computer Science - Engineering (BIDATA)

Course materials

Given at course start.

Credit reductions

Course code Reduction From To
TDAT2004 7.5 AUTUMN 2020
More on the course



Version: 1
Credits:  7.5 SP
Study level: Intermediate course, level II


Term no.: 1
Teaching semester:  SPRING 2025

Language of instruction: Norwegian

Location: Trondheim

Subject area(s)
  • Engineering
Contact information
Course coordinator: Lecturer(s):

Department with academic responsibility
Department of Computer Science


Examination arrangement: Portfolio assessment and written examination

Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
Spring ORD Portfolio assessment 50/100 A
Room Building Number of candidates
Spring ORD School exam 50/100 E INSPERA
Room Building Number of candidates
Summer UTS School exam 50/100 E INSPERA
Room Building Number of candidates
  • * The location (room) for a written examination is published 3 days before examination date. If more than one room is listed, you will find your room at Studentweb.

For more information regarding registration for examination and examination procedures, see "Innsida - Exams"

More on examinations at NTNU