Usually in industry and often in academia, there is a confusion between concurrent programming (which is about managing parallelism and shared resources) and real-time programming (in Swedish Realtidsprogrammering, which is about ensuring that the execution meets specified maximum response times). For this course (EDA040) the English title Concurrent Programming and the Swedish title Realtidsprogrammering reflect that common confusion, but together they form the appropriate headline of the course: Concurrent and Real-Time Programming.
The programming techniques are crucial for development of Real-Time Systems (systems that have to react on inputs and produce output within a bounded and specified time). Such systems are in most cases also Embedded Systems (where the computer and the software is embedded such that the device is not perceived as a computer).
Concerning programming language, we use Java. Good knowledge of both object oriented programming and the Java language is assumed. Students without prior Java knowledge need (if admitted to the course) some corresponding experience from object orientation (e.g. using C#).
This course is a so called project course since a significant part of it consists of a project. The final part of the project is to document and present the system you have developed.
Participation is open to foreign/exchange students, and all course material is in English. Most lectures are, however, basically given in Swedish (using English slides). Therefore, extra sessions are provided for English-speaking students. Exams are given in English only (but answering in Swedish is fine).