Object-Oriented Programming
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BIK-OOP | Z,ZK | 4 | 14KP+4KC | Czech |
- Course guarantor:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Theoretical Computer Science
- Synopsis:
-
This course is presented in Czech.
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 program Informatics, unspecified branch, in Czech, part-time, 2015 – 2021 (VO, elective course)
- Bachelor branch Security and Information Technology, in Czech, part-time, 2015 - 2019 (elective course)
- Bachelor branch Web and Software Engineering, spec. Software Engin., in Czech, part-time, 2015–2020 (compulsory course of the branch, elective course)
- Bachelor Specialization Information Security, part-time, in Czech, 2021 (elective course)
- Bachelor Specialization Software Engineering, part-time, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Networks and Internet, part-time, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, part-time, in Czech, 2021 (elective course)
- Bachelor branch Security and Information Technology, part-time, in Czech, 2020 (elective course)
- Bachelor program, unspecified specialization, part-time, in Czech, 2021 (elective course)