nevena ackovska /magdalena kostoska faculty of computer science and engineering (fcse)

Post on 24-Feb-2016

50 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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

The team Lets start with history… Structure and topics Survey and results

Overview

The team Lets start with history… Structure and topics Survey and results

Overview

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

The team Lets start with history… Structure and topics Survey and results

Overview

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…

Requirements

• Description in the syllabus

Design

• Research & experience

Implementation

• One semester

Verification

• Surveys and statistics

History – lets work…

History – first results…

2009 2010 20110

10203040506070

5463

68

Num. students

Num. students

The team Lets start with history… Structure and topics Survey and results

Overview

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

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

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

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

Exams (theory + practice) – 60%◦ Theory exam – 30%◦ Practical exam – 30%

Homework – 20%

Project – 20 %

Grading

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

The team Lets start with history… Structure and topics Survey and results

Overview

At the end of the semester a survey was conducted

32 participants

10 questions

1 text field – comments, suggestions and critiques

Survey in 2011…

Survey in 2011 - ResultsTheory exercises are tightly cou-pled with lab

exercises

The course is well or-ganized

totally agreepartially agreepartially disagreedisagreeno opinion

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

Lecture material corresponds with ex-ercises

totally agreepartially agreecoulbe be better coordinatedno opinion

Survey in 2011 - Results

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

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

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

Accept and apply the student suggestions

Review the course materials, change the material distribution (as every year)

Maybe: reverse engineering (new idea)

The future

So far, so good

The students should be prepared to work◦ Homework◦ Exercises◦ Projects

Challenge motivates

Conclusions

Questions?

top related