Object-oriented Programming¶
The notes found here do not substitute attendance at either lectures or practical sessions. The lecture material is available in the CooSpace scene. This learning material is also available in zip format for offline use at this link.
Required Applications¶
UML Editor¶
In some classes, we will learn object-oriented design, for which you will need a UML editor. Some alternatives:
- ArgoUML Download (this is the program we used in practice sessions)
- Draw.io Launch
- PlantUML Download
- Modelio Download
Recommended Development Environments¶
- JetBrains IntelliJ IDEA
- Visual Studio Code
Course Topics¶
- UML basics (visual modeling, notation, tool, model, view, diagram)
- Objects - state, behavior, identity, life
- Class, package, class diagram (association, aggregation, inheritance)
- Interface of objects, implementation hiding
- Re-using the implementation - composition, aggregation
- Re-using the interface - inheritance, polymorphism
Literature¶
- Bruce Eckel: Thinking in Java Download
About the notes¶
Errors¶
The notes are continuously being developed, so there might be minor errors, omissions, or typos.
If anyone finds such issues, please write to antal .at. inf.u-szeged.hu
so we can fix them as soon as possible.
Creators¶
This website is the mirrored English version of the same course taught in Hungarian.
Legal Disclaimer¶
Brief summary of the CC4, and the full version.