TDT4102
Procedural and Object-Oriented Programming
Spring
Trondheim
Norwegian
About this course
Content
Basic and practice-oriented programming in C++. The course covers most of the elements in the programming language and selected parts of the standard library. Through the exercises, the students will get extensive experience in the construction, debugging and testing of software.
Learning outcomes
Knowledge:
At the end of the course the candidate can:
- explain central concepts and mechanisms in the programming language C++.
- explain practical use of variable declarations and data types, input/output handling, type conversions, control structures, functions and operators, overloading, classes, inheritance, templates and exceptions.
- correctly use static/dynamic variables (and pointers), recursion, and be able to select well-suited algorithms and data structures.
- organize procedural- and object-oriented code using modules, multiple files, the standard library (STL), compilation and linking.
- use common programming techniques and work iteratively and efficient during development of code.
- program validation of input and appropriate handling of different types of run time errors.
Skills:
At the end of the course the candidate can:
- use modern development tools, techniques for debugging and simple testing of code to develop a program from problem description to a working solution without errors. Including the use of coPilot or other similar GPT/AI-support tools for education (not available at exam!).
- write object-oriented software organized in classes.
- design and program simple graphical user interfaces.
- write code that is readable, reusable and simple to maintain.
- read code and explain how the code behaves at runtime.
General competence:
At the end of the course the candidate:
- can communicate and discuss code solutions and explain how a program behaves.
- can find and use tools and documentation of the programming language and the standard library
- is aware of programming aspects that can influence on information security.
Teaching methods
Weekly lectures and mandatory exercises.