IDATT2104

Network Programming

Spring

Trondheim

Norwegian

Overview

92 candidates

Average grade

B

3.57

0.07

Pass rate

93%

2 points

Grade distribution
Average over time
Pass rate over time

About this 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 outcomes

Knowledge

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

Skills

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

Teaching methods

Lectures / workshops, data communication exercises and programming tasks. The programming tasks 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 tasks. All must be approved and approval takes place upon presentation to the practice teacher during practice hours at the computer lab.