15
INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska Faculty of Computer Science and Engineering (FCSE) UKIM, Skopje, Macedonia 13 th DAAD Workshop on “Software Engineering Education and Reverse Engineering” , Bansko, Bulgaria 26th August – 31th August 2013

INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

Embed Size (px)

Citation preview

Page 1: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS

Magdalena Kostoska

Nevena Ackovska

Faculty of Computer Science and Engineering (FCSE)

UKIM, Skopje, Macedonia

13th DAAD Workshop on “Software Engineering Education and Reverse Engineering” , Bansko, Bulgaria 26th August – 31th August 2013

Page 2: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

Introduction (About courses)

• Undergraduate course: Software design and architecture

• Postgraduate course: Architecture, design and patterns

• Teacher: Nevena Ackovska• Teaching Assistant: Magdalena Kostoska

• Two independent courses, different students enroll this courses – NOT ANY MORE!!!

Page 3: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

• The course become part of the syllabus in 2008• Our first experience with the course – 2009

• Experience & Surveys => Improvements

• Out intention: To prepare students for ADP

Software design and architecture (SDA)

Page 4: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

• 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

SDA - Topics

Page 5: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

• Homework – assignments every week• One project (refactoring)• Exams (for theory and practice)• Challenges & activity

• Java oriented

SDA - Grading

Page 6: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

Architecture, design and patterns (ADP)

• Course syllabus created as part of the TEMPUS Software Engineering studies

• Lectures – inherited (Thanks to prof. Jurca & prof. Budimac)

• Our first experience with the course – 2010

• The first generation - None studied design and software patterns in Undergraduate studies

Page 7: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

• Introduction to Software Architecture (SA)• Analogy with Classical Architecture• The Deliverables of SA• Elements of SA• Analysis and Evaluation of SA• Architecture, processes, and organization• Model Driven Architecture• Design patterns• Frameworks and tools

ADP - Topics

Page 8: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

• Homework – read, write, execute• Two projects

• In the begging: patterns & refactoring• Now (depending of the background knowledge): refactoring

& metrics

• No Exam - students prefer projects• Challenges & activity

• Java and C# oriented

ADP - Gradings

Page 9: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

• This year FCSE re-accredited the undergraduate studies, but slightly changed

• The course Software design and architecture – part of the curricula again, but topics are changed !!!

• Reason: optimizing the number of courses and their content

News

Page 10: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

• Physical model construction• Software decomposition and components• Design principles (correctness, robustness, flexibility…)

• Refactoring• Design patterns• OO analysis and design• Design characteristics and metrics

SDA – New Topics

Page 11: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

Introduction to Software Architecture

Analogy with Classical Architecture

The Deliverables of SA

Elements of SA

Analysis and Evaluation of SA

Architecture, processes, and organization

Model Driven Architecture

Design patterns

Frameworks and tools

Refactoring

Physical model construction

OO analysis and design

Software decomposition and components

Design principles

Design patterns

Refactoring

Design characteristics and metrics

Software Construction

Analysis

Page 12: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

• Lots of partial or complete topics overlaps• The new SDA course will be activated this year• What happens when this students graduate and enroll

ADP in master studies???

• The first students from this program are expected to graduate in 2 years (2015)

Analysis

Page 13: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

• Strategies to deal with overlaps:

• Strategy 1: Let the topics overlap, in undergraduate course teach the basics (core), in master course expand the knowledge

• Strategy 2: Divide the shared topics among these two courses

Analysis

Page 14: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

• Syllabus evolve – adjusting required

• Compromise with the other professors

• General goal: give the students the required knowledge

Conclusion

Page 15: INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska

Questions?