Skip to main content
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)
Active in period 3 (1.1.2025–2.3.2025)
Active in period 4 (3.3.2025–31.5.2025)
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

09.12.2024 15.12.2024
Active in period 2 (21.10.2024–31.12.2024)
13.01.2025 19.01.2025
Active in period 3 (1.1.2025–2.3.2025)
03.03.2025 09.03.2025
Active in period 4 (3.3.2025–31.5.2025)