Professional study programme

Back   Schedule   Hrvatski

Object-Oriented Software Design SIR402-17

ECTS 5 | P 30 | A 0 | L 30 | K 0 | ISVU 175207 | Academic year: 2019./2020.

Course groups

Prikaži sve grupe na predmetu

Course lecturers

MARTINOVIĆ GORAN, Lecturer
BAJER DRAŽEN, Associate
ZORIĆ BRUNO, Associate

Goals

The goal of this course is to enable students to employ advanced, language independent, object-oriented programming concepts in software development. This primarily concerns the S.O.L.I.D. principles and the design patterns that enable the fulfilment of the former. The utilised languages are Java and/or C#.

Conditions for enrollment

The necessary requirements to enrol in the second year of the studies.

Course description

Introduction. Fundamentals of OOP. The principles of object-oriented software design (S.O.L.I.D.). Clean code. Code smells. Creational patterns (factory method, abstract factory, builder, prototype, singleton). Structural patterns (adapter, bridge, composite, decorator, façade, proxy, flyweight). Behavioural patterns (chain of responsibility, command, iterator, mediator, memento, observer, strategy, visitor). Refactoring. Object-relational mapping.

Student requirements

Defined by the Student evaluation criteria of the Faculty of Electrical Engineering, Computer Science and Information Technology Osijek and paragraph 1.9

Monitoring of students

Defined by the Student evaluation criteria of the Faculty of Electrical Engineering, Computer Science and Information Technology Osijek and paragraph 1.9

Obligatory literature

1. 1 Freeman E. et al. Head first design patterns O Reilly Media, 2004, 0596007124

2. 2 Robert C. Martin Clean code: A Handbook of Agile Software Craftsmanship Prentice Hall, 2008, 0132350882


Pretraži literaturu na:

Recommended additional literature

1. 1 Martin Fowler, Refactoring Addison-Wesley, 2001, 0201485672

2. 2 Robert C. Martin Agile Software Development: Principles, Patterns, and Practices Prentice Hall, 2002, 0135974445

3. 3 Gamma E. et al. Design Patterns: Elements of Reusable Object-Oriented Software Addison-Wesley Professional, 1994, 0201633612

Course assessment

Conducting university questionnaires on teachers (student-teacher relationship, transparency of assessment criteria, motivation for teaching, teaching clarity, etc.). Conducting Faculty surveys on courses (upon passing the exam, student self-assessment of the adopted learning outcomes and student workload in relation to the number of ECTS credits allocated to activities and courses as a whole).

Overview of course assesment

Learning outcomes
Upon successful completion of the course, students will be able to:

1. describe the basic principles important in object-oriented software development

2. describe and use the S.O.L.I.D. principles when developing software

3. describe various frequently used design patterns and explain the problems they solve

4. identify an appropriate design pattern in code or when presented with a specific problem

5. apply the design patterns while developing software

6. connect different design patterns and utilise them when constructing complex software solutions



Aktivnosti studenta: Vidi tablicu aktivnosti

Student's activity Workload ECTS (Workload/30) Learning outcomes
Upon successful completion of the course, students will be able to:
Teaching
method
Assessment method Points
Pohađanje Predavanja (PR), Auditorne vježbe (AV), Laboratorijske vježbe (LV)541.81,2,3,4,5,6Predavanja (PR), Laboratorijske vježbe (LV)Predavanja (PR), Laboratorijske vježbe (LV)00
Pisanje priprema za LV, analiza rezultata, te pisanje izvještaja210.72,3,4,5Laboratorijske vježbe (LV)Provjera pripreme za LV, nadzor provođenja LV-a, provjera napisanih izvještaja015
Priprema za usmeni ispit i usmeno odgovaranje na pitanja3011,2,3,4,5Usmeni ispitProvjera danih odgovora2040
Rješavanje zadataka3012,4,5,6Kontrolne zadaće (pismeni ispit)Provjera riješenih zadataka1530
Zadaće / seminarski rad150.51,2,3,4,5,6Rješavanje domaćih zadaća ili napisan seminarski radProvjera riješenih zadataka715