Software Architectures and Design (5 cr)
Code: 5G00DM00-3005
General information
Enrolment period
15.07.2023 - 04.09.2023
Timing
28.08.2023 - 22.12.2023
Credits
5 op
Mode of delivery
Contact teaching
Unit
ICT Engineering
Campus
TAMK Main Campus
Teaching languages
- English
Degree programmes
- Bachelor's Degree Programme in Software Engineering
Teachers
- Petteri Jekunen
Person in charge
Petteri Jekunen
Groups
-
21I260EB
Objectives (course unit)
1. Student understands the ideas and principles of all main topics of the course.
2. Student can apply the previous information in typical daily tasks of a software engineer.
3. Student develops to an attitude of continuous learning of Software Engineering topics and applying this new information in her/his tasks.
4. Student has the right attitude towards working in a project group as a responsible group member.
5. Student understands and adapts to the demands of customers, his/her own company and managers in it, market forces as well as demands of the society.
Content (course unit)
Software engineering overview and processes, software development life cycle, software project planning and management, software requirements management, system modeling, software architecture design, software detailed design, analysis & design tools, software design strategies, software user interface design, software design complexity
Prerequisites (course unit)
Basic knowledge of programming.
Assessment criteria, satisfactory (1-2) (course unit)
Student knows about software engineering and about its processes and about software development life cycle. Student is able to implement software project planning and management, software requirements management and system modelling with guidance. Student can implement simple software architecture designs and simple software detailed designs. Student is able to use some analysis & design tools and software design strategies. Student is able to implement software user interface designs with guidance and knows about software design complexity.
Assessment criteria, good (3-4) (course unit)
Student knows and understands software engineering and its processes and software development life cycle. Student is able to implement software project planning and management, software requirements management and system modelling. Student can implement software architecture designs and software detailed designs. Student is able to use analysis & design tools and software design strategies. Student is able to implement some software user interface designs and understands software design complexity.
Assessment criteria, excellent (5) (course unit)
Student knows and understands in depth software engineering overview and its processes and software development life cycle. Student is able to implement diversely software project planning and management, software requirements management and system modelling. Student can implement independently software architecture designs and software detailed designs in various situations. Student is able to use diversely and independently analysis & design tools and software design strategies. Student is able to implement various software user interface designs and understands in depth software design complexity.
Location and time
As scheduled in the course calendar.
Exam schedules
There are no exams in this course.
Assessment methods and criteria
Grading of the course is a weighted average of
- Tasks - 67 %
- Final project work - 33 %
Max 100 points. Min points for the grades:
5 - 90
4 - 74
3 - 58
2 - 41
1 - 25
Assessment scale
0-5
Teaching methods
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.
Learning materials
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.
Student workload
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.
Content scheduling
Introduction to SW Engineering Processes
Software Design
Software Architecture
Completion alternatives
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.
Practical training and working life cooperation
Course materials contains information based on working life visits in the course. This year's visitors will be announced during the course.
International connections
n/a
Further information
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.