Course - Real-time Programming - TTK4145
TTK4145 - Real-time Programming
About
Examination arrangement
Examination arrangement: Aggregate score
Grade: Letter grades
Evaluation | Weighting | Duration | Grade deviation | Examination aids |
---|---|---|---|---|
School exam | 55/100 | 4 hours | D | |
Portfolio | 45/100 |
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
A number of weekly exercises are mandatory activities in the course,and both the project (portfolio) and the exam must be passed to pass the course.The project portfolio contains A group progress report from the 1st. half of the semester. The produced code itself, used to generate evaluations of achieved features and of the code quality. The group's assessment of a number of other group's code and a post-mortem self-assessment. These contribute to the 'code quality' evaluation item. An groupwise end report with design, experiences and reflections. 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.
Recommended previous knowledge
Proficiency in at least one programming language and thorough knowledge of computers and operating systems.
Course materials
Course material will be announced at the start of the semester.
Credit reductions
Course code | Reduction | From | To |
---|---|---|---|
SIE3050 | 7.5 |
No
Version: 1
Credits:
7.5 SP
Study level: Third-year courses, level III
Term no.: 1
Teaching semester: SPRING 2025
Language of instruction: English
Location: Trondheim
- Computers
- Computer Systems
- Technological subjects
Department with academic responsibility
Department of Engineering Cybernetics
Examination
Examination arrangement: Aggregate score
- Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
- Spring ORD School exam 55/100 D INSPERA
-
Room Building Number of candidates - Spring ORD Portfolio 45/100
-
Room Building Number of candidates - Summer UTS School exam 55/100 D INSPERA
-
Room Building Number of candidates
- * The location (room) for a written examination is published 3 days before examination date. If more than one room is listed, you will find your room at Studentweb.
For more information regarding registration for examination and examination procedures, see "Innsida - Exams"