course-details-portlet

TTK4145

Real-time Programming

Assessments and mandatory activities may be changed until September 20th.

Credits 7.5
Level Third-year courses, level III
Course start Spring 2026
Duration 1 semester
Language of instruction English
Location Trondheim
Examination arrangement Aggregate score

About

About the course

Course content

Topics: Programming formalisms for real-time systems; POSIX, Ada, Java and Go. Threads/processes, scheduling, synchronization and communication, concurrency. Fault Tolerance, availability and consistency. Software quality and development methodology.

A software development project done in groups is a significant part of the course.

Exercises.

Learning outcome

Knowledge:

  • Thorough knowledge of synchronization mechanisms like semaphores and monitors.
  • Thorough knowledge of message-based synchronization.
  • Thorough knowledge of threads, processes, scheduling and synchronization in context of a real-time operating system.
  • Thorough knowledge of pitfalls in real-time programming.
  • Thorough knowledge of error handling and fault tolerance.
  • Thorough knowledge of availability and consistency in systems with more threads/processes.
  • Knowledge of the programming languages C, C++, Java, Ada and Go.
  • Knowledge of CSP, formal methods and use of analysis tools for real-time systems.

Skills:

  • Good skills in design and development of real-time software, both based on shared variable synchronization and message-passing.
  • Ability to plan and execute a software development project of significant complexity (~1-2 thousand lines of C code)
  • Good skills in using one programming language (the one used in the project, the project groups choice).
  • The student should be able to relate constructively in his design to error handling and consistency in systems with more participants.

General Competence:

  • Teamwork.
  • Software development
  • Information technology in general.

Learning methods and activities

Lectures, exercises and project. The project is quite large, and will be done in cooperation with two other students as a main rule.

Compulsory assignments

  • Exercises

Further on evaluation

The exercises are mandatory activities of the course and does not contribute toward the course grade.

The project is evaluated in four parts, all of them by group:

  1. "Progress Report". A progress report is handed in in the first half of the semester.
  2. "Code Quality". The produced code itself is handed in along with the groups assessment of a number of other group's code, and a corresponding post-mortem self-assessment.
  3. "FAT". The final test of the system. Features and functionality, adherence to the spec.
  4. "Final Report". A final report with design, experiences and reflections.

These evaluations can not be appealed.

All parts of the course must be passed for the course to be passed. Re-sit exams for the midterm and the end exam are in August.

If there is a re-sit examination, the examination form may change from written to oral. In the case that the student receives an F/Fail as a final grade after both ordinary and re-sit exam, then the student must retake the course in its entirety.

Course materials

Course material will be announced at the start of the semester.

Credit reductions

Course code Reduction From
SIE3050 7.5 sp
This course has academic overlap with the course in the table above. If you take overlapping courses, you will receive a credit reduction in the course where you have the lowest grade. If the grades are the same, the reduction will be applied to the course completed most recently.

Subject areas

  • Computers
  • Computer Systems
  • Technological subjects

Contact information

Course coordinator

Lecturers

Department with academic responsibility

Department of Engineering Cybernetics

Examination

Examination

Examination arrangement: Aggregate score
Grade: Letter grades

Ordinary examination - Spring 2026

Midterm
Weighting 15/100 Examination aids Code D Duration 2 hours Exam system Inspera Assessment
School exam
Weighting 25/100 Examination aids Code D Duration 4 hours Exam system Inspera Assessment Place and room Not specified yet.
Progress Report
Weighting 15/100
FAT
Weighting 15/100
Code Quality
Weighting 15/100
End Report
Weighting 15/100

Re-sit examination - Summer 2026

Midterm
Weighting 15/100 Examination aids Code D Duration 2 hours Exam system Inspera Assessment
School exam
Weighting 25/100 Examination aids Code D Duration 4 hours Exam system Inspera Assessment Place and room Not specified yet.