nevena ackovska/magdalena kostoska faculty of computer science and engineering (fcse) ukim, skopje,...

26
Transform the theory into practice – Software Design and Architecture for Computer Science Students Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering Education and Reverse Engineering” , Ohrid, Macedonia 22th August – 27th August 2011

Upload: magdalene-higgins

Post on 17-Dec-2015

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Nevena Ackovska/Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 11 th DAAD Workshop on “Software Engineering

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Questions?