TDT4258 - Low-Level Programming


Examination arrangement

Examination arrangement: Portfolio assessment
Grade: Letters

Evaluation form Weighting Duration Examination aids Grade deviation
work 50/100
Written examination 50/100 3 hours D

Course content

(a) Introduction: microcontrollers, software, programmable logic, peripherals.
(b) Hardware: microcontrollers and systems where microcontrollers are key components or possible solutions in parts of the system. Some relevant components and systems: AVR microcontrollers, FPGA-integrated Power-PC processors, development boards with microcontrollers and FPGAs, chips with microcontrollers.
(c) Hardware programming: Programming for systems with limited resources. Compilers, C and assembler. HW/SW-interaction. Hardcoded/operative systems for microcontroller systems.
(d) Interfaces and peripherals: Methods for accessing external units and potential special hardware resources as well as systems with peripheral processing units.

Learning outcome

- The student should know how software development for embedded systems is different from software development for traditional computers
- The student should know of different microcontrollers and their most common peripheral units
- The student should know of common techniques for programming close to hardware and the advantages and disadvantages of these techniques
- The student should know how common energy saving techniques works and the advantages and disadvantages of these techniques

- The student should master programming close to hardware at different abstraction levels (assembly vs. high level languages with and without an operating system)
- The student should be able to use selected energy saving techniques

General competence:
- The student should master programming close to hardware and be able to use this knowledge in projects at all abstraction levels

Learning methods and activities

Lectures, group tasks, and individual studies. Assignments, exams, and presentations. The course is composed of modules, with each module evaluated through small exams or comprehensive assignments.

Further on evaluation

Portfolio assessment is the basis for the grade in the course. The portfolio includes a written exam (50%) and exercises (50%). The results for the parts are given in %-scores, while the entire portfolio is assigned a letter grade.
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. Submitted work that counts towards the final grade will also have to be retaken.

Course materials

Announced at the start of the semester.

More on the course



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


Term no.: 1
Teaching semester:  AUTUMN 2019

No.of lecture hours: 2
Lab hours: 2
No.of specialization hours: 8

Language of instruction: English

Location: Trondheim

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

Department with academic responsibility
Department of Computer Science



Examination arrangement: Portfolio assessment

Term Status code Evaluation form Weighting Examination aids Date Time Digital exam Room *
Autumn ORD work 50/100
Room Building Number of candidates
Autumn ORD Written examination 50/100 D 2019-12-18 09:00 INSPERA
Room Building Number of candidates
SL111 lyseblå sone Sluppenvegen 14 42
SL111 orange sone Sluppenvegen 14 45
SL120 blå sone Sluppenvegen 14 1
SL274 Sluppenvegen 14 2
SL228 Sluppenvegen 14 1
  • * 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"

More on examinations at NTNU