Software Design Patterns

Software Design Patterns

1.

Subject title

Software Design Patterns

Шаблони за дизајн на софтвер

2.

Code

SI-Z-03

3.

Study program

Software Engineering, Data science in computer science and engineering, Software Engineering, Bioinformatics, Security, Cryptography and Coding, Cloud Computing, IT management, Еducation with ICT, Eco-informatics, Inteligent Systems, Internet Technologies and cyber security, Computer Science, Software for embedded systems, Cloud Computing, IT management, Bioinformatics, Security, Cryptography and Coding, Statistics and Data Analytics, Statistics and Data Analytics,

4.

Organizer of the study program (unit, institute, department, division)

Faculty of Information Sciences and Computer Engineering

5.

Study cycle (first, second, third)

Втор циклус

6.

Academic year / semester

5 / Зимски

7. Number of ECTS credits

6.0

8.

Instructor

проф. д-р Дејан Ѓорѓевиќ проф. д-р Сузана Лошковска

9.

Prerequisites for enrollment

10.

Subject goals and competencies:


The purpose of the course is for students to get knowledge of software development templates, standard solutions to standard software design problems, to get acquainted with the mechanisms of software evolution, refactorization and implementation templates. Upon completion of the course, candidates will be able: to understand, perceive the need and apply the techniques for connecting and cohesion of components in object-oriented design, to describe and successfully apply the most used program templates, categorize the program templates on the basis The design occasion such as the interface, responsibility, constructing, applying and expanding templates, designing and constructing large framework-oriented computer systems by applying a meta-system access to object-oriented programming, designing and implementing a template Program templates.

11.

Subject content:


Design software, Design templates - Definition, History, Observer Pattern, Factory Patterns: Factory Method and Abstract Factory, Singleton Pattern, Facade Pattern, Visitor Pattern, Functors and the Command Pattern, Iterator Pattern, Composite Pattern, State And Strategy Patterns, Adapter Pattern, Proxy Pattern, Decorator Pattern, Chain of Responsibility Pattern, Concurrency Patterns, Antipatterns, Implementation stencils, Rolling templates, composite design templates, formal methods and design templates.

12.

Learning methods:


Предавања поддржани со презентации преку слајдови, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа, учење во електронско опкружување (форуми, консултации).

13.

Total available time fund

6.0 ECTS x 30 hours = 180 hours

14.

Time distribution

60 + 0 + 45 + 45 + 30 = 180 hours

15.

Forms of teaching activities

15.1.

Lectures - theoretical teaching

60 hours

15.2.

Exercises (laboratory, classroom), seminars, team work

0 hours

16.

Other forms of activities

16.1.

Project tasks

45 hours

16.2.

Independent tasks

45 hours

16.3.

Homework

30 hours

17.

Grading method

17.1.

Tests

40 points

17.2.

Seminar work / project (presentation: written and oral)

45 points

17.3.

Activities and learning

0 points

17.4.

Final exam

0 points

18.

Grading criteria (points / grade)

up to 50 points

5 (five) (F)

from 51 to 60 points

6 (six) (E)

from 61 to 70 points

7 (seven) (D)

from 71 to 80 points

8 (eight) (C)

from 81 to 90 points

9 (nine) (B)

from 91 to 100 points

10 (ten) (A)

19.

Condition for signature and taking final exam

реализирани активности

20.

Language of instruction

македонски и англиски

21.

Quality assurance method

механизам на интерна евалуација и анкети

22.

Literature

22.1.

Mandatory literature

No.

Author

Title

Publisher

Year

6068

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Design Patterns Elements of Reusable Object-Oriented Software

Addison-Wesley Pub Co

1995

6069

Eric Freeman,‎ Bert Bates,‎ Kathy Sierra,‎ Elisabeth Robson

Head First Design Patterns: A Brain-Friendly Guide

O`Reilly Media

2004

22.2.

Additional literature

No.

Author

Title

Publisher

Year