Nätverksprogrammering
Network Programming

EDA095, 7,5 credits, G2 (First Cycle)

General Information

Main field: Technology. Compulsory for: C2Elective for: BME4, D4, F4, L4-giLanguage of instruction: The course will be given in Swedish

Aim

With the introduction of the Internet, networked communications
have become a critical tool in the implementation of sophisticated
computer services. The course gives an overview of the fundamental
techniques necessary to design and create applications that can
communicate over networks. It is also a starting point for further
studies in the area.

Learning outcomes

Knowledge and understanding
For a passing grade the student must

Understand the major software problems that arise when
computers communicate with each other via a network, more
specifically the Internet, and solutions to them.

Be familiar with the most common transmission methods and
protocols to send messages via a computer network and how they are
used in network solutions on a higher abstraction level.

Be familiar with common software architectures for distributed
systems.

Be able to describe the principles behind web-based software
systems as well as some common techniques and protocols used in the
area.

Know how multithreaded programs work and how mutual exclusion
and simple signalling between threads are achieved.

Competences and skills
For a passing grade the student must

Understand and be able to write computer programs that
communicate with each other via a network

Understand and be able to use common standard protocols to send
messages.

Design and implement client/server solutions that function
within a web-based environment.

Understand and be able to use multithreading to handle
concurrent communication over several communication channels and
guarantee the synchronization of the threads.

Contents

The laboratory exercises and the project are intended to have
the students apply their previously achieved programming
experiences in a network-based environment.

Message passing over a network

protocols: IP-TCP-UDP

streams/datagram

sockets/pipes

broadcast/multicast

Clients/Server architectures

Introduction to concurrent programming

threads

mutual exclusion

Web technology

web servers

protocols, HTTP

web input forms

Applets/JavaScript

CGI/Servlets/JSP

XML

Audio and video streaming

Examination details

Grading scale: THAssessment: There will be a written examination. Participation in the examination requires that the laboratory exercises have been performed. In order to pass the course, the student must also pass the project. The final grade of the course is based on the result of the written examination.

PartsCode: 0112. Name: Compulsory Course Items. Credits: 4,5. Grading scale: UG. Assessment: For a passing grade the compulsory laboratory exercises and the project must be completed. Contents: Compulsory laboratory exercises and a compulsory project. Code: 0212. Name: Written Examination in Network Programming. Credits: 3. Grading scale: TH. Assessment: Written examination. To qualify for the written examination, the laboratory exercises must have been completed.