Object Oriented Programming M - Z

Academic Year 2022/2023 - Teacher: GIUSEPPE MANGIONI

Expected 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 
16 Socket and network programming. Chapter 21
     
     
  (*) Compulsory topics.

Textbook Information

Herbert Schildt, “Java: The Complete Reference” McGraw-Hill; 2018 edition.

Course Planning

 SubjectsText 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
3Uso di un IDE per la programmazione Java: es. NetBeansManuale dell'IDE
4(*) Il linguaggio di programmazione ad oggetti di riferimento: JavaCapitoli 3, 4 e 5
5(*) Incapsulamento e modificatori di accessoCapitoli 6 e 7
6(*) Ereditarietà e polimorfismoCapitolo 8
7(*) Classi astratte ed interfacce e PackageCapitolo 9
8(*) Gestione delle eccezioniCaptiolo 10
9Gestione delle stringheCapitolo 15 (fino a 15.9)
10I/O packageCapitolo 13 (fino a 13.10) e capitolo 19
11(*) Programmazione parametricaCapitolo 14
12Enumerazioni autoboxingCapitolo 12 (fino a 12.3)
13CollectionsCapitolo 17 (fino a 17.5)
14(*) MultithreadingCapitolo 11
15 Le classi e le interfacce di rete: i socketCapitolo 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.
VERSIONE IN ITALIANO