Skip to main content

Software Design (5cr)

Course unit code: C-10122-COMP--SE--110

General information


Credits
5 cr
Institution
University of Tampere

Objectives

A student obtaining the grade "good" is capable of participating in the design and implementation of a larger software application. In particular, the student: can divide a software into well-defined parts that are in connection to their environment through interfaces.understands the most common design patterns related to software design and implementation, and is able to understand and develop software where such design patterns are utilized.knows how to use the typical programming tools and is able to explain their roles in software work.is able to write interface documentation and understands the role of design by contract in software design

Content

Core contentThe 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 labourThe student understands the general concept of an interfaceThe student knows and understands the use of common software design patternsThe 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 programsComplementary knowledgeThe 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 quaranteesUse of generic programmingSpecialist knowledgeThe student knows how to design and implement efficiently maintainable software. The student knows how to choose an appropriate interface for each specific situation.

Prerequisites

Good programming skills are required

Go back to top of page