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

Slides:



Advertisements
Similar presentations
Student Projects in the Course Data Structures
Advertisements

Course in software testing - from bachelor to master, from Skopje to Novi Sad (and beyond) Anastas Mishev Katerina Zdravkova Sashko Ristov Hristina Mihajloska.
Course Overview CSE8313 Object-Oriented Analysis and Design Spring 2015 Dr. LiGuo Huang Dept. of Computer Science and Engineering Southern Methodist University.
SE2811 Week 7, Class 2 The Gang of Four and more … Lab Thursday: Quiz SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors: Dr. Yoder.
IVANA NIŽETIĆ Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia Long-lasting teaching materials in spite of changing technology.
Experience from using JCSE topics in student projects V. Ajanovski, B. Jakimovski Faculty of Natural Sciences and Mathematics Skopje, Macedonia.
Refactoring By: Brian Smith. What is Refactoring? Definition: a change to the internal structure of software to make it easier to understand and cheaper.
Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University.
11th Workshop "Software Engineering Education and Reverse Engineering" Ohrid, Macedonia August 2011 Selected student software projects in the field.
DAAD project “Joint Course on OOP using Java” Development in teaching Design Patterns in the course OOP with Java Ana Madevska Bogdanova Faculty of Computer.
Design Patterns for Object Oriented systems CSC 515 Ashwin Dandwate.
Two e-Learning elective seminars in Novi Sad Putnik Z., Komlenov Ž., Budimac Z. DMI, Faculty of Science University of Novi Sad.
Design Patterns Yes, they are important Robert Cotton April 23, 2009.
Nevena Ackovska Institute of Informatics FNSM, UKIM, Skopje, Macedonia.
Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University.
1 Distributed Systems – Aims The main aim of the course is to introduce fundamental concepts and techniques for distributed systems, i.e., systems in which.
Master course 'Architecture, Design, and Patterns‘ more improvements since the last year ADP 2011 Gordana Rakic, Vladimir Kurbalija.
Adapters Presented By Zachary Dea. Definition A pattern found in class diagrams in which you are able to reuse an ‘adaptee’ class by providing a class,
(c) 2010 University of California, Irvine – André van der Hoek1June 29, 2015 – 08:55:05 Informatics 122 Software Design II Lecture 8 André van der Hoek.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style ADVANCED PROGRAMING PRACTICES Introduction.
10th Workshop "Software Engineering Education and Reverse Engineering" Ivanjica, Serbia, 5-12 September 2010 First experience in teaching HCI course Dusanka.
13-Jul-15 Refactoring II. Books Design Patterns is the classic book by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides Basically a catalog.
INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska.
Student view of SE study program at FER, Zagreb Ivan Belfinger Mentor: prof. dr. sc. Krešimir Fertalj Faculty of Electrical Engineering and Computing,
Experience with Teaching Software Quality Assurance Dušanka Bošković Computing and Informatics Bachelor Programme Faculty of Electrical Engineering Sarajevo,
EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia.
IT704 STRATEGIC PLANNING FOR INFORMATION SYSTEM IT704 STRATEGIC PLANNING FOR INFORMATION SYSTEM Semester 1/2007.
Design Patterns Trends and Case Study John Hurst June 2005.
DAAD project “Joint Course on OOP using Java” Design Patterns in the course ‘OOP in Java’ - first experiences Ana Madevska Bogdanova Institute of informatics.
Human Computer Interaction Semester 1, 2013/2013.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
樣式導向設計 (Pattern-Oriented Design) 課程簡介 Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering.
1 COMS 261 Computer Science I Title: Course Introduction Date: August 25, 2004 Lecture Number: 01.
Course Introduction Software Engineering
Course ‘Data structures and algorithms – using Java’ Teaching materials and presentation experience Anastas Misev Institute of Informatics Faculty of Natural.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 27. Review UML dynamic view – State Diagrams.
On a new cycle of lectures/assignments on 'Architecture, Design, and Patterns' ADP 2010 Gordana Rakic, Vladimir Kurbalija.
1 WORKSHOP ON COMPUTER SCIENCE EDUCATION Innovation of Computer Science Curriculum in Higher Education TEMPUS project CD-JEP 16160/2001.
CS 3120 USER INTERFACE DESIGN, IMPLEMENTATION AND EVALUATION (UIDIE) Dr. Ben Schafer
DAAD project “Joint Course on OOP using Java” On Object Oriented modeling in Java (Why & How) Ana Madevska Bogdanova Institute of informatics Faculty of.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
Introduction.  Introduction to course and syllabus  Meet and greet activity  Before next time.
Teaching the simulator design in Java Zaharije Radivojević, Miloš Cvetanović 11th Workshop “Software Engineering Education and Reverse Engineering” Ohrid,
 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,
An Introduction To Design Patterns Jean-Paul S. Boodhoo Independent Consultant
Design Patterns. 1 Paradigm4 Concepts 9 Principles23 Patterns.
Presenter: Ljupco Antovski Institute of Informatics, Faculty of Science and Mathematics, St. Cyril and Methodius University, Skopje, Macedonia
CS251 – Software Engineering Lectures 18: Intro to DP Slides by Rick Mercer, Christian Ratliff, Oscar Nierstrasz and others 1 و ابتغ فيما آتاك الله الدار.
The influence of the new administrative law upon teaching OOP course Ana Madevska Bogdanova Nevena Ackovska University “Sts. Cyril and Methodius”, Skopje,
Challenging students to acquire deeper knowledge in HCI course N. Ackovska and M. Kostoska 15 th Workshop on “Software Engineering and Reverse Engineering”
The PROXY Design Pattern Oleksandra Sopova Feb, 2014.
Object Oriented Methodology Course Introduction. Objectives A 3-credit hour graduate course explaining the development of object oriented software systems.
Final Challenge Approach to Robotics Education Angela A. Sodemann Arizona State University Keywords: robotics, hands-on, project- based.
BMTS Computer and Systems Pre-requisites :CT140 –Computer Skills Nature Of the Course: This course deals about the fundamentals of Computer such.
Syllabus Multivariate Statistics 4th Semester Edi Ariyanto, SE, MSI Lecturer.
Design Patterns CSCE 315 – Programming Studio Spring 2013.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Advanced Programing practices
Advanced Software Engineering
Advanced Programming Dr. Sadi Seker.
Advanced Software Engineering
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
樣式導向設計 (Pattern-Oriented Design) 課程簡介
Introduction – Process View on Management
Design Patterns Introduction
Course Overview CSE8313 Object-Oriented Analysis and Design
Two part course Software Engineering option only!
Facilitator Linda C. Hodges
Advanced Programing practices
Informatics 122 Software Design II
Presentation transcript:

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

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

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

 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  Lets start with history…  Structure and topics  Survey and results

 The course become part of the syllabus in 2008  Our first experience with the course  So how do you start? – Learn from others’ experience

Requirements Description in the syllabus Design Research & experience Implementation One semester Verification Surveys and statistics

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

 Week type ◦ 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

 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 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

 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!!!

 Exams (theory + practice) – 60% ◦ Theory exam – 30% ◦ Practical exam – 30%  Homework – 20%  Project – 20 %

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

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

 At the end of the semester a survey was conducted  32 participants  10 questions  1 text field – comments, suggestions and critiques

 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

 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

 Accept and apply the student suggestions  Review the course materials, change the material distribution (as every year)  Maybe: reverse engineering (new idea)

 So far, so good  The students should be prepared to work ◦ Homework ◦ Exercises ◦ Projects  Challenge motivates