Software Architectures and Design (5 op)
Toteutuksen tunnus: 5G00GC06-3001
Toteutuksen perustiedot
- Ilmoittautumisaika
- 08.06.2025 - 30.08.2025
- Ilmoittautuminen toteutukselle on käynnissä.
- Ajoitus
- 25.08.2025 - 21.12.2025
- Toteutus ei ole vielä alkanut.
- Laajuus
- 5 op
- Toteutustapa
- Lähiopetus
- Yksikkö
- Software Engineering
- Toimipiste
- TAMK Pääkampus
- Opetuskielet
- englanti
- Koulutus
- Bachelor's Degree Programme in Software Engineering
- Opettajat
- Hanna Haataja
- Petteri Jekunen
- Vastuuhenkilö
- Petteri Jekunen
- Ryhmät
-
23I260EADegree Programme in Software Engineering
- Opintojakso
- 5G00GC06
Osaamistavoitteet (Opintojakso)
Student understands the overall flow of software design from low level design to high end overall software architecture design. Student is aware of criteria for choosing between different architecture models and may compare the benefits and trade-offs of different solutions. Student knows how to model and document software design and architecture. Student has skills to implement the overall structure for most common software design and architecture style solutions with a modern programming language. Student understands the role of software design and architecture design as part of the overall software development life cycle.
Sisältö (Opintojakso)
Common design patterns. Software architecture styles, principles, and requirements. Software design and architecture modelling in practise. Software design and architecture implementation in practice.
Arviointikriteerit, tyydyttävä (1-2) (Opintojakso)
The student knows some design patterns. The student knows some software architecture styles, principles and requirements. The student can use software design and architecture modelling in practise with guidance. The student can use software design and architecture implementation in practice with guidance.
Arviointikriteerit, hyvä (3-4) (Opintojakso)
The student knows the most common design patterns. The student knows the most common software architecture styles, principles and requirements. The student can use software design and architecture modelling in practise. The student can use a software design and architecture implementation in practice.
Arviointikriteerit, kiitettävä (5) (Opintojakso)
The student knows comprehensively common design patterns. The student knows comprehensively software architecture styles, principles and requirements. The student can exploit independently software design and architecture modelling in practise. The student can conduct different software design and architecture implementations in practice.
Aika ja paikka
As scheduled in the course calendar.
Tenttien ja uusintatenttien ajankohdat
TBA during the course.
Arviointimenetelmät ja arvioinnin perusteet
Grading of the course is a weighted average of
- Tasks
- Attendance
- Exams or
- Final project work
Max 100 points. Min points for the grades:
5 - 90
4 - 74
3 - 58
2 - 41
1 - 25
Arviointiasteikko
0-5
Opiskelumuodot ja opetusmenetelmät
Course contains
* frontal teaching: lecturing, demos
* individual self study exercises as home work
* reviews and feedback sessions
* group work
* discussions
* presentations / peer teaching
Larger project will (preferably group work) will be undertaken as last exercise in the course to summarize the contents of the course.
Students are encouraged to give feedback during the course and in the end. Anonymous feedback forum available in Moodle.
Oppimateriaalit
Teaching materials are listed in the Moodle space of the course. Materials will be available online including potential recordings from the lessons (contact lessons not recorded however). Official course books are available via Tuni library resources.
Course books for this implementation:
* Fundamentals of Software Architecture by Mark Richards, Neal Ford
* Head First Design Patterns, 2nd Edition by Eric Freeman, Elisabeth Robson
* Additional extra materials in Moodle.
Opiskelijan ajankäyttö ja kuormitus
One credit point equals to 27h of work resulting to total of estimated 135 hours work for this course.
Contact learning sessions will be concentrated on introducing the topics, discussions, feedback and reviews.
Majority of work will be conducted as self learning either individually or in groups.
Sisällön jaksotus
Introduction to SW Engineering Processes
Software Design
Software Architecture
Toteutuksen valinnaiset suoritustavat
Undertaking working life related or other personal IT-projects related to course content can be used to compensate some or all tasks and activities in the course. Presenting the results for the class recommended in this case.
Harjoittelu- ja työelämäyhteistyö
Course materials contains information based on working life visits in the course. This year's visitors will be announced during the course.
Kansainvälisyys
n/a
Lisätietoja opiskelijoille
This course is part of the overall art of software engineering covered in series of courses. Students are recommended to have enough substance courses completed before taking this course. To understand this course as a part of the overall software development practice requires also taking courses from sw requirements and software project areas.