Nevena Ackovska /Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE)

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

description

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. Overview. The team Lets start with history… Structure and topics - PowerPoint PPT Presentation

Transcript of Nevena Ackovska /Magdalena Kostoska Faculty of Computer Science and Engineering (FCSE)

Page 1: Nevena Ackovska /Magdalena  Kostoska Faculty of Computer Science and Engineering (FCSE)

Transform the theory into practice – Software Design and Architecture

for Computer Science StudentsNevena Ackovska/Magdalena Kostoska

Faculty 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)

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)

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)

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)

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)

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)

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)

History – first results…

2009 2010 20110

10203040506070

5463

68

Num. students

Num. students

Page 9: Nevena Ackovska /Magdalena  Kostoska Faculty of Computer Science and Engineering (FCSE)

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)

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)

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)

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)

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)

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)

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)

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)

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)

Survey in 2011 - ResultsTheory 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)

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)

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)

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)

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)

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)

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)

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)

Questions?