Programming 3: Interfaces and techniques
After completing the course, the student is able to participate in the implementation of a larger software product.
- 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
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.
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)tuni.fi.
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
Further information about the course and studying
Contact person for applications