IDATT2104
Network Programming
Spring
Trondheim
Norwegian
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.