TDT4102 - Procedural and Object-Oriented Programming


Examination arrangement

Examination arrangement: Written examination
Grade: Letters

Evaluation form Weighting Duration Examination aids Grade deviation
Written examination 100/100 4 hours C

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 outcome

- Has broad and practical oriented knowledge of the C++ programming language.
- Knows the syntax and rules for variable declarations and data types, type conversions, control structures, functions and operators, overloading, classes, inheritance, templates, exceptions.
- Has knowledge about automatic and dynamic variables and the use of pointers.
- Has knowledge about recursion, simple algorithms and data structures.
- Has knowledge of procedural- and object-oriented modularization of code and how code can be organized in multiple files, compilation and linking.
- Has knowledge of the standard libraries, in/out data, commonly used library functions and template-classes.
- Has knowledge of modern development tools, techniques for debugging and simple testing of code.
- Has knowledge about common programming errors, validation of input data, and how to handle failures and unexpected behaviour.
- Has knowledge of diagrams for object-oriented programs.

- Can develop a program from description of the problem to a working solution without errors.
- Knows commonly used coding techniques and patterns and is able to work efficiently and iteratively in the construction of a solution.
- Can create procedural programs where the code is reasonably modularized in functions, and object-oriented where the code is organized in classes.
- Is able to choose a solution that fits the problem.
- Is able to write code that is readable, reusable and simple to maintain.
- Is able to read code and understand how the code behaves at runtime.

- Can analyse a problem and construct a solution efficiently.
- Can communicate and discuss code solutions and explain how a program behaves. Be aware of differences between programming languages.
- Is able to find tools and aids, find and use documentation of the programming language and standard libraries.
- Be aware of programming aspects that can influence on information security.

Learning methods and activities

Lectures and exercises.

Compulsory assignments

  • Exercises

Further on evaluation

If there is a re-sit examination, the examination form may change from written to oral.

Specific conditions

Exam registration requires that class registration is approved in the same semester. Compulsory activities from previous semester may be approved by the department.

Course materials

To be announced at the start of the term.

Credit reductions

Course code Reduction From To
IT1104 3.7 2008-09-01
MNFIT111 3.7 2008-09-01
MNFIT113 3.7 2008-09-01
MNFIT114 3.7 2008-09-01
TDT4100 5.0 2007-09-01 2008-08-31
TDT4100 3.7 2008-09-01
TDT4130 5.0 2007-09-01 2008-08-31
TDT4130 3.7 2008-09-01


Detailed timetable


Examination arrangement: Written examination

Term Statuskode Evaluation form Weighting Examination aids Date Time Room *
Spring ORD Written examination 100/100 C 2018-05-16 09:00
Summer UTS Written examination 100/100 C
  • * 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.