Software design patterns (EN)
2020/2021- Formål
Welcome to Design Patterns. This course is an introduction to software design patterns. A pattern represents a best practice solution to a software problem in a specific context.
Viden
This course is designed for students with some degrees of (object-oriented) programming background. The objective of the course is to get students acquainted with techniques for designing reusable software as well as for organizing, produce and maintain modular systems. Moreover, this course guides students through anti-patterns, common pitfalls and mistakes that people make when they plan, create, and manage software projects.
Course Aims
• To provide students with in depth knowledge of combining design patterns and object-oriented programming
• To provide students with a comprehensive understanding of the underlying principles of several design patterns
• To allow students to develop practical solutions to real world problems based on design patterns
• To provide students with the basic capability to identify problematic software designs and code smellsAt the end of the course, students will have comprehensive knowledge and critical understanding of:
Færdigheder
• the underlying design principles single patterns are based on
• specific contexts in which design patterns can be applied
• the consequences of applying design patterns to a real system
• problematic software designs, code smells, and anti-patternsAt the end of the course, students will have acquired the skills to:
Kompetencer
• analyze and identify the need of including design patterns in the code
• apply design patterns to the implementation of softwareAt the end of the course, students will have acquired the competencies to:
• analyze and identify problematic issues in the code
• apply design patterns to the implementation of software
• locate code smells and anti-patterns in code
• refactor their code - Undervisningsform og udfoldelse
af læringsmål The teaching is organised as a variation between class teaching, guest lecturing, company visits, group project work and individual work. The learning is most often problem-based and cross-disciplinary and always practise-oriented. In addition to learning the subject, the student will gain the competences to work individually and in collaboration with others.
The common aim of the activities is always to set clear intended learning objectives. - Forudsætninger for at deltage i
faget
Faglige forudsætninger for at deltage i faget
As it is common for any other course at KEA, students have to make sure that they are sufficiently prepared to learn the course material, handle the course assignments and participate in course interactions.
Students should have working knowledge of a higher level programming language, ideally an object-oriented one. - Prøve
Læringsmålene for prøven er identiske med fagets/fagenes læringsmål
Forudsætninger for indstilling til eksamenEvery week, you are assigned weekly assignments.
At the end of the course, you are required to hand in a project report that cover the topics discussed during the course.Faget prøvesFaget/modulet prøves selvstændigtPrøveformMundtlig prøveIndividuel eller gruppeprøveIndividuelAnvendt sprog til prøvenEngelskVarighedPrøven startes med en fremlæggelse på 10 minutter. Derefter eksamineres den studerende 20 minutter inkl. votering.Bedømmelsesform7-trins skalaBedømmer(e)Intern censurKriterier for prøvevurderingDer gives én samlet karakter ud fra en helhedsvurdering af fremlæggelsen og den efterfølgende eksamination.
På faget Software design patterns (EN) modtager du 68 timers undervisning, hvilket svarer til 90 lektioner (1 lektion = 45 min.) og 25% af din samlede arbejdsbelastning på faget.
Undervisningen vil primært bestå af følgende aktiviteter: klasseundervisning.
Forberedelsen vil primært bestå af følgende aktiviteter: læsning af egne noter, læsning af pensum, prøve, forberedelse til prøve.
Læs om KEAs studieaktivitetsmodel
*KEA kan fravige det angivne timetal, hvis det er begrundet i særlige forhold.