INF205 Resource-efficient programming
Norsk emneinformasjon
Search for other courses here
Select other year
Showing course contents for the educational year 2022 - 2023 .
Course responsible: Martin Thomas Horsch
ECTS credits: 5
Faculty: Faculty of Science and Technology
Teaching language: EN
(NO=norsk, EN=Engelsk)
(NO=norsk, EN=Engelsk)
Teaching exam periods:
The course starts in the autumn parallel. The course has evaluation in the autumn parallel.
Course frequency: Annually
First time: Study year 2022-2023
Course contents:
This course introduces students with considerable programming experience in high-level programming languages such as Python to programming in a compiled programming language with explicit memory management, with a focus on efficient use of memory and compute resources. Specific topics are:
- Modern C++ syntax and semantics
- Compiling and building projects
- Pointers, memory allocation and deallocation
- Working with the C++ Standard Library
- Generic programming with templates
- Implementing containers from first principles
- Message passing and interprocess communication
- Requirements of embedded programming
- Optimization
Learning outcome:
After completing the course you will be able to
- implement solutions in modern C++
- manage memory correctly in larger projects
- make use of capabilities provided by the C++ Standard Library and third-party libraries
- implement data types from "first principles"
- write code suitable for embedded systems
- create interfaces allowing your code to interact with other software
Learning activities:
Lectures, computer lab and programming tasks.
Teaching support:
Course room on Canvas, online discussion forum, assistance in the computer lab.
Syllabus:
Will be announced at the beginning of the course.
Prerequisites:
INF120, INF200
Recommended prerequisites:
TEL211
Mandatory activity:
Mandatory programming exercises. Details will be given at the beginning of the course.
Assessment:
Evaluation based on programming project. A-F.
Nominal workload:
125h = 26h lectures + 26h computer lab +73h self study including work on programming tasks
Entrance requirements:
Special requirements in science
Type of course:
26h lectures, 26h computer lab
Examiner:
An external examiner participates together with the internal examiner in the design of the exam assignments and the examiner's guide. The external examiner checks the internal examiner's assessment of a random selection of candidates as a calibration at certain intervals in accordance with the department's guidelines for grading.
Examination details: Programming project: Letter grades