Personal Information
Research Projects

By Geek & Poke

Software Development Principles & Patterns

Course Description

The goal of this course is to study and apply advanced software engineering best practices, principles, and patterns that concern different phases of the software development lifecycle and different aspects of the software itself. In particular, we will study in detail the fundamental GoF object-oriented design patterns, object-oriented reengineering patterns,  and patterns that facilitate the evolution of databases. 

Learning Objectives & Expected Outcomes

The main objectives of the course is that the students will be capable to:
  • Identify issues of poor software design/implementation. 
  • Improve the quality of software that suffers from issues of poor software design/implementation by applying patterns.

Literature and Study Material

The main textbooks for the course are:


The project is realized in groups of 2 students. The goal of the project is to apply patterns in the design and development of a particular a software application.
  • Requirements document.
  • Phase I
    • Deadline to be defined
  • Phase II
    • Deadline to be defined


Useful Links