![Page 1: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/1.jpg)
Transform the theory into practice –
Software Design and Architecture for Computer Science Students
Nevena Ackovska/Magdalena KostoskaFaculty of Computer Science and Engineering (FCSE)
UKIM, Skopje, Macedonia
11th DAAD Workshop on “Software Engineering Education and Reverse Engineering” , Ohrid, Macedonia 22th August – 27th August 2011
![Page 2: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/2.jpg)
The team Lets start with history… Structure and topics Survey and results
Overview
![Page 3: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/3.jpg)
The team Lets start with history… Structure and topics Survey and results
Overview
![Page 4: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/4.jpg)
SDA – Software Design and Architecture
Nevena Ackovska◦ Lectures
Magdalena Kostoska◦ Theory and practice exercises
Panche Ribarski◦ Stepped in - help with practice exercises (lots of
students!!!)
The team of SDA undergraduate in Skopje
![Page 5: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/5.jpg)
The team Lets start with history… Structure and topics Survey and results
Overview
![Page 6: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/6.jpg)
The course become part of the syllabus in 2008
Our first experience with the course - 2009
So how do you start? – Learn from others’ experience
History – the beggings…
![Page 7: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/7.jpg)
Requirements
• Description in the syllabus
Design
• Research & experience
Implementation
• One semester
Verification
• Surveys and statistics
History – lets work…
![Page 8: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/8.jpg)
History – first results…
2009 2010 20110
10
20
30
40
50
60
70
54
6368
Num. students
Num. students
![Page 9: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/9.jpg)
The team Lets start with history… Structure and topics Survey and results
Overview
![Page 10: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/10.jpg)
Week type 2+1+2◦ 2 classes lectures◦ 1 class theoretical exercises (examples)◦ 2 classes practical exercises (in lab)
In 2009/10: classes scattered during week
In 2011: one course – one day
The structure of the course
![Page 11: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/11.jpg)
Introduction to software architecture, design and patterns
Design patterns ◦ Factory, Prototype, Composite, Adapter,
Decorator, Observer, Template Method, Strategy and finally MVC
Refactoring and refactoring patterns◦ Introduction to refactoring and many refactoring
patterns More about SA modularity, cohesion and
examples of specific software architecture
Topics
Big hit since 2009
Big hit for working students
![Page 12: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/12.jpg)
Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Addison-Wesley, 1995
Head First Design Patterns, O'Reilly, Freeman and Freeman, 2004
Software Design 2nd edition, Pearson, David Budgen, 2003
Refactoring: Improving the Design of Existing Code by M. Fowler, K. Beck, J. Brant, W. Opdyke, D. Roberts. Addison-Wesley, 2001
Literature
![Page 13: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/13.jpg)
Lectures: theoretical introduction into the given topic + examples of most common application topic
Exercises: wider examples, application specifics, problem space
Laboratory exercises: student are given real-life problems to recognize and evaluate the preconditions of pattern usage; refactoring bad smells etc..
This enables the students to turn their theoretical knowledge into real-life codes!!!
Lectures/Exercises
![Page 14: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/14.jpg)
Exams (theory + practice) – 60%◦ Theory exam – 30%◦ Practical exam – 30%
Homework – 20%
Project – 20 %
Grading
![Page 15: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/15.jpg)
Java based
Design and Patterns usage: ◦ for each of the patterns a specific task is given◦ the task is connected to everyday problems
Refactoring: ◦ a certain projects in java are given and the task is to
refactor the project◦ The may include student final projects or real-project
code (but partially, due to privacy and ownership of company code)
Practical tasks
![Page 16: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/16.jpg)
The team Lets start with history… Structure and topics Survey and results
Overview
![Page 17: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/17.jpg)
At the end of the semester a survey was conducted
32 participants
10 questions
1 text field – comments, suggestions and critiques
Survey in 2011…
![Page 18: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/18.jpg)
Survey in 2011 - Results
Theory exercises are tightly cou-pled with lab
exercises
The course is well or-ganized
totally agreepartially agreepartially disagreedisagreeno opinion
![Page 19: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/19.jpg)
Would you choose similarly structured software course, if offered, in future?
yesprobably yes, if I have unused elective courseno, I’m interested only in hardware courses no, because I don’t like how the course is organized No opinion
Survey in 2011 - Results
![Page 20: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/20.jpg)
Lecture material corresponds with ex-ercises
totally agreepartially agreecoulbe be better coordinatedno opinion
Survey in 2011 - Results
![Page 21: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/21.jpg)
Survey in 2011 - Results
The lab exercises or-ganization contributes to course completion
totally agreepartially agreepartially disagreedisagreeno opinion
The lab exercises help in getting more software
practical knowl-edge
![Page 22: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/22.jpg)
Most of the comments were satisfactory◦ This shows the we are on a good course◦ Maybe introduce more patterns
Suggestions:◦ More examples of patterns usage◦ More time spending on patterns◦ Some of the students found the homework and
practical exam related to patters too demanding◦ More classes of lab exercises per week◦ More rigorous lab exercises
Survey in 2011- Results
![Page 23: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/23.jpg)
Keep up with the trend: Every year - more students
Even some of the older students (that were not able to enroll this course) choose diploma thesis in this course◦ Due to the requirements they get from work
This prepares students for ADP
Expectations
![Page 24: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/24.jpg)
Accept and apply the student suggestions
Review the course materials, change the material distribution (as every year)
Maybe: reverse engineering (new idea)
The future
![Page 25: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/25.jpg)
So far, so good
The students should be prepared to work◦ Homework◦ Exercises◦ Projects
Challenge motivates
Conclusions
![Page 26: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering](https://reader035.vdocuments.net/reader035/viewer/2022062515/56649ce55503460f949b360e/html5/thumbnails/26.jpg)
Questions?