Skip to main content
You are browsing the curriculum of an upcoming academic year (2024–2025).
Do you want to change to the ongoing academic year?
Course unit, curriculum year 2024–2025
COMP.SE.110

Software Design, 5 cr

Tampere University
Teaching periods
Active in period 1 (1.8.2024–20.10.2024)
Active in period 2 (21.10.2024–31.12.2024)
Course code
COMP.SE.110
Language of instruction
English, Finnish
Academic years
2024–2025, 2025–2026, 2026–2027
Level of study
Advanced studies
Grading scale
General scale, 0-5
Persons responsible
Responsible teacher:
Petri Rantanen
Responsible teacher:
David Hästbacka
Responsible organisation
Faculty of Information Technology and Communication Sciences 100 %
Coordinating organisation
Computing Sciences Studies 100 %
Sustainable development goals
Goal 9: Industry, Innovation and Infrastructure
Goal 12: Responsible Consumption and Production
Core content
  • The student is capable of designing and implementing quite large programs, where development can be divided between several team members.
  • The student understands the impact of design decisions on the division of labour
  • The student understands the general concept of an interface
  • The student knows and understands the use of common software design patterns
  • The student knows the principles of good object-oriented design and programming.
  • The student understands the basics of resource control in relation to the lifetime and ownership of objects.
  • The student is able to use exceptions in their programs
Complementary knowledge
  • The student understands the impact of design decisions on the modifiability and maintainability of software.
  • The student is capable of designing interfaces.
  • The student knows how to apply design patterns in their own software.
  • The student knows how to apply the principles of good object-oriented design and programming in their own software.
  • The student knows how to design and implement reliable and resource efficient software.
  • Exceptions, exception quarantees
  • Use of generic programming
Specialist knowledge
  • The student knows how to design and implement efficiently maintainable software.
  • The student knows how to choose an appropriate interface for each specific situation.
Learning outcomes
Prerequisites
Compulsory prerequisites
Equivalences
Studies that include this course
Completion option 1
Completion of all options is required.

Participation in teaching

26.08.2024 08.12.2024
Active in period 1 (1.8.2024–20.10.2024)
Active in period 2 (21.10.2024–31.12.2024)

Exam

No scheduled teaching