TDT4102

Procedural and Object-Oriented Programming

Spring

Trondheim

Norwegian

Overview

70 candidates

Average grade

E

0.69

1.51

Pass rate

40%

41 points

Grade distribution
Average over time
Pass rate over time

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.