Back to all courses

Programming 3: Interfaces and techniques

Individual course

After completing the course, the student is able to participate in the implementation of a larger software product.

Course contents

  • Modularity: Principle of locality, abstraction, encapsulation, interface, namespaces, design by contract
  • Inheritance: Base and subclasses, ownership of objects, dynamic binding
  • Team work: Version control in modern software development, division of labour
  • Software quality: Unit testing
  • Exceptions, exception guarantees
  • Use of generic programming

Learning outcomes

After completing the course, the student

  • knows how to use the typical programming tools and is able to explain their roles in software work.
  • knows how to program modules that are in connection to their environment through predefined interfaces.
  • is able to interpret interface documentation and understands the principles of design by contract.
  • knows more programming language structures than before and is able to use them in their programs.
  • can explain the concept of inheritance and is able to use it in their programs.

Teaching methods

There will also be the possibility to join local sessions on the Pori and Seinäjoki campuses. It’s also possible to join the Seinäjoki group remotely. Participation in these sessions is voluntary and does not affect the final grade. Schedules for face-to-face meetings will be agreed later with the teacher. On the Seinäjoki campus, support is provided in Finnish and English. In Pori, support is available in Finnish.

If you want to participate in the local sessions, send an email with a message “I want to participate in a local group in Seinäjoki/Pori” to olli.hotakainen(at)

Completion methods

Project and an exam.

The course material is available in Finnish and English.

More information in the Tampere University study guide.

You can get a digital badge after completing this course.

API rajapinta ohjelmisto tekniikka

Responsible teacher

University of Tampere
Terhi Kilamo

Further information about the course and studying

University of Tampere
Teemu Rauhala, ICT coordinator

Contact person for applications

FITech Network University
Monica Sandberg, Student services specialist
Start here
Start here
ICT Studies
Data science,
Software systems
Course code:
0 €
Teaching period:
Application deadline:
Application period has ended
Host university:
Tampere University
Study is open for:
Adult learner,
Degree student
Teaching methods:
Place of contact learning:
General prerequisites:
Good programming skills, for example the course Programming 2: Structures
Interested in this course? Subscribe and get updates about the course directly to your email. You can cancel subscription any time you want.