HI1001 Object Oriented Programming
KTH Royal Institute of Technology
ML1300/HI1900/6S2950, Computer Programming, Basic Course, or corresponding course.
- Basic concepts in object-oriented programming: abstract data types, encapsulation, reuse.
- IDE.
- Principles of object-oriented programming: classes/objects, relations, inheritance, polymorphism.
- Object-oriented software development: analysis, design and implementation.
- Class diagrams and relations in e.g. Unified Modelling Language.
- Exception-handling.
- Streams.
- Concurrent programming.
- Graphical user interfaces and event driven programming.
The aims of this course are to provide the participants with knowledge about object-oriented syntax and programming techniques, and also basic knowledge about object-oriented design.
To obtain the grade E, the student should be able to
- describe the different phases in object-oriented software development.
- develop simple models, that can be used for implementation of applications, using the concepts of object-orientation.
- describe the model using the Unified Modelling Language,
- implement classes that, when possible, can be reused in similar contexts.
To obtain the grade E, the student should also, using the some object-oriented language, be able to
- use an IDE to implement, debug and execute object-oriented applications.
- implement structured applications, using object-oriented principles like data abstraction and encapsulation, that are easy to maintain and further develop.
- use inheritance to extend and override the functionality of classes.
- implement polymorphic code.
- use exception-handling to handle run-time errors.
- use streams to read and write data from/to different types of sources/targets.
- implement simple concurrent applications using threads, describe problems related to concurrent programming and how to solve these problems.
- implement event driven applications with simple graphical user interfaces.
- describe, and in simple cases implement, the Model-View-Controller pattern.
To obtain higher grades, the student should also be able to
- use the methods in object-oriented analysis and design to develop models of and implement more complex applications.
Reviews
Improve accuracy by rating this course