Object Oriented Programming (E371042)
|Departments:||ústav přístrojové a řídící techniky (12110)|
|Valid until:|| ??||Range:||2P+2C|
The aim of this course is to introduce basic principles of OOP, especially the concepts of object, class, attribute and method. The lectures cover three subjects: objects and classes, relationships between them, inheritance and polymorphism. In the exercises, the subject is practiced on computers, in the form of Java programs.
• Objects and Classes
• Relationships between Objects and Classes
3. Aggregation and compositione
4. Concepts to remember
5. Tasks to solve
• Inheritance and Polymorphism
1. Inheritance of Classes
2. Abstract classes, Interface
4. Tasks to solve
• Conclusion, summary.
Structure of tutorial
Introduction into running applications in 308 laboratory, students' accounts, students will be submitted 3 practical excercises to solve.
Simple application. Constants. Simple types, structured types incl. arrays, records, sets, files. Variables. Basics of programming language.
Sorting. Handling events (OnMouse.., Timer). Using components, their fields (Canvas) and attributes (writing and painting on Canvas).
Printing from Delphi applications.
Dynamic data structures: stack, queue, linked list, tree.
Binary tree, AVL tree, B-tree.
Budd, Timothy: Understanding Object-Oriented Programming With Java. Updated Edition (New Java 2 Coverage). Amazon, 2018, ISBN-13: 978-0201612738.
Barnes, David: Object-Oriented Programming with Java: An Introduction. Amazon, 2018, ISBN-13: 978-0130869005.
Kendal, Simon: Object Oriented Programming using Java. Bookboon, 2018. ISBN: 978-87-7681-501-1.
Java Tutorial. Accessible on-line on https://www.tutorialspoint.com/java/ [cit. 4.2.2019]
The course assumes no prior knowledge.
For the Exams: knowledge prescribed in lectures. The exam has a practical and oral parts. The practical part of the exam is to write and debug a simple program on given task.
For Assessment, the student receives three tasks to program.
OOP, Java, encapsulation, inheritance, polymorphism, messages, exceptions, constructor, virtual methods, properties.