Course - Low-Level Programming - TDT4258
TDT4258 - Low-Level Programming
About
Examination arrangement
Examination arrangement: School exam
Grade: Letter grades
Evaluation | Weighting | Duration | Grade deviation | Examination aids |
---|---|---|---|---|
School exam | 100/100 | 3 hours | D |
Course content
Embedded system fundamentals, properties, and design flow.
Embedded system hardware design: CPU, caches, memory, buses, input / output.
Embedded system software design: low level programming in C and ARM assembly, programming techniques for resource constrained systems, and modern tools for embedded programming.
Introduction to compilation and code optimizations, operating systems, and improved sustainability through energy efficiency at different levels of the compute stack.
Learning outcome
Knowledge:
- The student should have a thorough understanding of hardware and software components of an embedded system.
- The student should be familiar with the different layers of the computation stack and how they interact with each other. This includes how hardware, software and application complexity affects the energy efficiency of a system.
- The student should have a detailed understanding of software development for embedded systems in C with or without an operating system, and assembly programming. The student should be introduced to possibilities and limitations of generative AI systems for programming.
Skills:
- The student should be able to program embedded devices at different abstraction levels such as assembly programming, bare-metal C programming, and programming with operating system support.
- The student should get some experience from using generative AI for programming and testing, and be able to reflect on its possibilities and limitations.
General competence:
- The student should master programming close to hardware at different levels and in various contexts.
Learning methods and activities
Auditorium lectures, self-study, laboratory exercises, and in-class discussions.
The use of generative AI in connection with the lab exercises will be allowed to the extent it follows the current recommendations and rules of NTNU, and the requirements specified in the lab texts. It will not be allowed during the exam.
Compulsory assignments
- Mandatory work
Further on evaluation
The course contains a set of compulsory activities (lab exercises). The student can collect a fixed number of points in each activity and needs to collect a certain number of points in total to be allowed to take the exam. The list of activities will be announced at the start of the semester.
If there is a re-sit examination the examination form may change from written to oral.
The use of generative AI will not be allowed in a written or oral exam.
Recommended previous knowledge
TDT4160 Computers and Digital Design, or equivalent.
Course materials
Announced at the start of the semester.
No
Version: 1
Credits:
7.5 SP
Study level: Third-year courses, level III
Term no.: 1
Teaching semester: AUTUMN 2024
Language of instruction: English
Location: Trondheim
- Technological subjects
Department with academic responsibility
Department of Computer Science
Examination
Examination arrangement: School exam
- Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
- Autumn ORD School exam 100/100 D 2024-11-30 09:00 INSPERA
-
Room Building Number of candidates SL110 lilla sone Sluppenvegen 14 64 SL110 hvit sone Sluppenvegen 14 39 - Summer UTS School exam 100/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"