Object-Oriented Programming
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BI-OOP | Z,ZK | 4 | 2P+2C | Czech |
- Course guarantor:
- 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:
-
BIE-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, 2015-2020 (VO)
- Bachelor branch Security and Information Technology, in Czech, 2015-2020 (elective course)
- Bachelor branch Computer Science, in Czech, 2015-2020 (compulsory course of the specialization)
- Bachelor branch Computer Engineering, in Czech, 2015-2020 (elective course)
- Bachelor branch Information Systems and Management, in Czech, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Software Engineering, in Czech, 2015-2020 (compulsory course of the branch)
- Bachelor branch Web and Software Engineering, spec. Web Engineering, in Czech, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Computer Graphics, in Czech, 2015-2020 (elective course)
- Bachelor branch Knowledge Engineering, in Czech, 2018-2020 (elective course)