course-details-portlet

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.

Course materials

Announced at the start of the semester.

More on the course

No

Facts

Version: 1
Credits:  7.5 SP
Study level: Third-year courses, level III

Coursework

Term no.: 1
Teaching semester:  AUTUMN 2024

Language of instruction: English

Location: Trondheim

Subject area(s)
  • Technological subjects
Contact information
Course coordinator:

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 INSPERA
Room Building Number of candidates
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.
Examination

For more information regarding registration for examination and examination procedures, see "Innsida - Exams"

More on examinations at NTNU