Object-Oriented Programming
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BIE-OOP | Z,ZK | 4 | 2P+2C | English |
- Garant předmětu:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Theoretical Computer Science
- Synopsis:
-
Object-oriented programming has been used in the last 50 years to solve computational problems by using graphs of objects that collaborate together by message passing. In this course we look at some of the main principles of object-oriented programming and design. The emphasis is on practical techniques for software development including testing, error handing, refactoring and design patterns.
- Requirements:
-
BI-PPA
- Syllabus of lectures:
-
1. Principles of object-oriented programming
2. Polymorphism
3. Encapsulation
4. Composition and inheritance
5. Error handling
6. Inversion of control and refactoring
7. Testing and debugging
8. Type classes
9. Essential object-oriented design patterns
10. Object model and reflection
11. Prototype-based inheritance
12. Pure object-oriented programming languages
- Syllabus of tutorials:
-
1. Scala introduction
2. Immutable objects
3. Generics
4. Models
5. Modules
6. UI Layer
7. Business and persistence
8. Cross-cutting concerns
9. Type classes
10. Traits
11. Reflection
12. Summary
- Study Objective:
- Study materials:
-
All materials will be provided on the course website.
- Note:
- Further information:
- https://courses.fit.cvut.cz/BI-OOP/
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Bachelor branch Security and Information Technology, in English, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Software Engineering, in English, 2015-2020 (compulsory course of the branch, elective course)
- Bachelor branch Computer Science, in English, 2015-2020 (compulsory course of the specialization, elective course)
- Bachelor specialization, Computer Engineering, 2021 (elective course)
- Bachelor specialization, Information Security, 2021 (elective course)
- Bachelor specialization, Software Engineering, 2021 (elective course)
- Bachelor specialization, Computer Science, 2021 (elective course)
- Bachelor specialization, Computer Networks and Internet, 2021 (elective course)
- Bachelor specialization Computer Systems and Virtualization, 2021 (elective course)
- Study plan for Ukrainian refugees (elective course)
- Bachelor branch Computer Science, in English, 2015-2020 original version (compulsory course of the specialization, elective course)