INF205 Resource-Efficient Programming
Credits (ECTS):5
Course responsible:Martin Thomas Horsch
Campus / Online:Taught campus Ås
Teaching language:Norsk
Course frequency:Annually (spring semester, first half)
Nominal workload:125h = 24h lectures + 12h computer lab + 89h self-study including work on programming tasks
Teaching and exam period:The course is offered in the spring parallel. The course has teaching/assessment throughout the first half of the spring parallel.
About this course
This course introduces students with programming experience in high-level programming languages (e.g., Python) to programming in a compiled programming language with explicit memory management, with a focus on efficient use of computational resources (CPU time and memory). Specific topics are:
- C++ as a modern programming language
- Compiling and building projects
- Pointers, memory allocation and deallocation
- Working with the C++ Standard Library
- Generic programming with templates
- Implementing containers from first principles
- Programming and sustainability
- Interfacing with ROS (e.g., for embedded systems)
Learning outcome
After completing the course you will be able to
- implement algorithms in modern C++
- manage memory safely
- use the C++ Standard Library and third-party libraries
- implement data types from first principles
- develop code suitable for embedded systems
- assess programs and their use in terms of sustainability metrics
- create interfaces allowing the code to interact with other software
- Lectures, computer lab and programming tasks.
- Course room on Canvas, assistance in the computer lab, public course website (home.bawue.de/~horsch/teaching/inf205/).
- INF120 or equivalent
- INF201
- Portfolio evaluation. A-F.
Programming project Grading: Letter grades - The examiner(s) carry/carries out the portfolio evaluation.
- In excess of that which counts toward the portfolio evaluation, each student shall present on at least one of the tutorial problems within the tutorial sessions.
- 24h lectures, 12h computer lab
- REALFAG