Design patterns

Course: Information Systems

Structural unit: Faculty of information Technology

Title
Design patterns
Code
ВБ 3.3
Module type
Вибіркова дисципліна для ОП
Educational cycle
Second
Year of study when the component is delivered
2021/2022
Semester/trimester when the component is delivered
2 Semester
Number of ECTS credits allocated
3
Learning outcomes
Ability to demonstrate knowledge and understanding of the general principles of applying design patterns, the essence and purpose of design patterns, the classification of patterns, general approaches and peculiarities of using design patterns in applied systems, the main characteristics of high-quality code, principles and approaches to refactoring existing code. Ability to apply design patterns in the development of applied software systems. Classifying the type and problems in the development of applied information software systems, determining the necessity of applying specific design patterns, evaluating the need for refactoring existing code, and choosing appropriate patterns for optimization. Developing methods, moving functions between objects, and organizing data. Ability to effectively form a communication strategy through precise argumentation, independently solve professional tasks, and take responsibility for the solutions obtained.
Form of study
Full-time form
Prerequisites and co-requisites
Having a bachelor's degree. Have elementary skills in in higher mathematics, algorithm theory, and programming.
Course content
The course “Design Patterns” aims to provide students with the competencies and skills necessary for proficient use of the theoretical foundations and basic tools of applying design patterns in practical systems. The course allows students to describe, analyze, and optimize architectural software solutions in various information and computer systems, develop high-quality software, and conduct refactoring of existing software code. The goal of this course is to provide future professionals with the theoretical and practical basis of knowledge, methods, and tools necessary for successful application of design patterns as high-level descriptions of typical problems in software project implementation. This will enable professionals to create high-quality software code and implement design patterns regardless of the chosen programming language.
Recommended or required reading and other learning resources/tools
4. Alan Dennis, Barbara Wixom, David Tegard en. Systems Analysis and Design: An Object-Oriented Approach with UML, 5th Ed)ition. – Wiley, 2015. – 544 p. 5. Eberhard Wolff. Microservices: Flexible Software Architecture. – AddisonWesley Professional, 2016. – 432 p. 6. UML Tutorial [Електронний ресурс]. – Режим доступу: URL: https://www.tutorialspoint.com/uml/index.htm. 7. Java Tutorial [Електронний ресурс]. – Режим доступу: URL: https://www.tutorialspoint.com/java/index.htm. 8. C++ Tutorial [Електронний ресурс]. – Режим доступу: URL: https://www.tutorialspoint.com/cplusplus/index.htm.
Planned learning activities and teaching methods
Lectures, laboratory activities, individual work
Assessment methods and criteria
The level of achievement of all planned learning outcomes is determined based on the results of the defense of laboratory work and individual work. The overall grade is formed (maximum of 100 points) as the sum of points for systematic work throughout the semester, taking into account the control work. The credit is given based on the results of the student's work throughout the semester. Students who have accumulated a total of fewer points than the recommended minimum of 48 points must work on the missed material and pass the credit to obtain it. At the student's request and if they have credit points, they can improve their result by taking an additional credit test, which is evaluated at 20/12 points, but the total number of points cannot exceed 100 points. Thus, the final evaluation for the discipline (minimum of 60, maximum of 100 points) is determined by the sum of the points for the semester work.
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

DEPARTMENT OF APPLIED INFORMATION SYSTEMS
Faculty of information Technology
DEPARTMENT OF APPLIED INFORMATION SYSTEMS
Faculty of information Technology