Object Oriented Programming M - Z
Academic Year 2023/2024 - Teacher: GIUSEPPE MANGIONIExpected Learning Outcomes
Knowledge and understanding abilities
The course is an introduction to the object-oriented programming (OOP) by Java.
The course has the main objective of providing students with the basic concepts of class and object and the fundamental principles of encapsulation, polymorphism, inheritance and exception handling.
Applying knowledge and understanding abilities
The course also introduces techniques and tools for application programs development using the Java programming language, also using parametric, multithreaded and event programming concepts.
Course Structure
Lessons ex-catedra and laboratory activities.
Should teaching be carried out in mixed mode or remotely, it may be necessary to introduce change with respects to previous statements, in line with the programme planned and outlined in the syllabus.
Detailed Course Content
Topics | Book references | |
1 | (*) Objects. Classes and interfaces. | Chapter 2 |
2 | (*) Object oriented programming principles: encapsulation, inheritance and polimorphism. | Chapter 2 |
3 | Introduction to UML. | |
4 | IDE for Java programming: NetBeans. | |
5 | (*) Introduction to Java. | Chapters 3, 4 and 5 |
6 | (*) Encapsulation and access modifiers. | Chapters 6 and 7 |
7 | (*) Inheritance and polimorphism. | Chapter 8 |
8 | (*) Abstract classes and packages. | Chapter 9 |
9 | (*) Exception handling. | Chapter 10 |
10 | Strings. | Chapter 15 ( |
11 | I/O package | Chapters 13 and 19 |
12 | (*) Parametric programming. | Chapter 14 |
13 | Enumerations and autoboxing. | Chapter 12 |
14 | Collections. | Chapter 17 |
15 | (*) Multithreading. | Chapter 11 |
(*) Compulsory topics. |
Textbook Information
Herbert Schildt, “Java: The Complete Reference” McGraw-Hill; 2018 edition.
Course Planning
Subjects | Text References | |
---|---|---|
1 | (*) Concetto di ''oggetto''. Relazione tra oggetti. Concetto di ''classe'' e di ''interfaccia''. Contratto di una classe. | Capitolo 2 |
2 | (*) Principi di base della programmazione ad oggetti: incapsulamento, ereditatietà e polimorfismo. | Capitolo 2 |
3 | Uso di un IDE per la programmazione Java: es. NetBeans | Manuale dell'IDE |
4 | (*) Il linguaggio di programmazione ad oggetti di riferimento: Java | Capitoli 3, 4 e 5 |
5 | (*) Incapsulamento e modificatori di accesso | Capitoli 6 e 7 |
6 | (*) Ereditarietà e polimorfismo | Capitolo 8 |
7 | (*) Classi astratte ed interfacce e Package | Capitolo 9 |
8 | (*) Gestione delle eccezioni | Captiolo 10 |
9 | Gestione delle stringhe | Capitolo 15 (fino a 15.9) |
10 | I/O package | Capitolo 13 (fino a 13.10) e capitolo 19 |
11 | (*) Programmazione parametrica | Capitolo 14 |
12 | Enumerazioni autoboxing | Capitolo 12 (fino a 12.3) |
13 | Collections | Capitolo 17 (fino a 17.5) |
14 | (*) Multithreading | Capitolo 11 |
15 | Le classi e le interfacce di rete: i socket | Capitolo 21 |
16 | (*) Conoscenze minime irrinunciabili per il superamento dell'esame. La conoscenza degli argomenti contrassegnati con l'asterisco è condizione necessaria ma non sufficiente per il superamento dell'esame. Rispondere in maniera sufficiente o anche più che sufficiente alle domande su tali argomenti non assicura, pertanto, il superamento dell'esame. |