Object Oriented Programming A - L
Academic Year 2023/2024 - Teacher: Antonella DI STEFANOExpected Learning Outcomes
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.
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.
Detailed Course Content
Topics
-
1 (*) Objects. Classes and interfaces.
-
2 (*) Object oriented programming principles: encapsulation, inheritance and polimorphism.
-
3 Introduction to UML.
-
4 IDE for Java programming: NetBeans.
-
5 (*) Introduction to Java.
-
6 (*) Encapsulation and access modifiers.
-
7 (*) Inheritance and polimorphism.
-
8 (*) Abstract classes and packages.
-
9 (*) Exception handling.
-
10 Strings.
-
11 I/O package
-
12 (*) Parametric programming.
-
13 Enumerations and autoboxing.
-
14 Collections.
-
15 (*) Multithreading.
-
16 Events programming.
-
17 GUI.
-
18 Socket and network programming.
-
(*) Compulsory topics.
Course Planning
Subjects | Text References | |
---|---|---|
1 | (*)Concetto di ''oggetto''. Relazione tra oggetti. Concetto di ''classe'' e di ''interfaccia''. Contratto di una classe. | |
2 | (*)Principi di base della programmazione ad oggetti: incapsulamento, ereditatietà e polimorfismo. | |
3 | Cenni di UML e regole di progettazione del software | |
4 | Uso di un IDE per la programmazione Java: es. NetBeans | |
5 | (*)il linguaggio di programmazione ad oggetti di riferimento: Java | |
6 | (*)Incapsulamento e modificatori di accesso | |
7 | (*)Ereditarietà e polimorfismo | |
8 | (*)Classi astratte ed interfacce e Package | |
9 | (*)Gestione delle eccezioni | |
10 | I/O package | |
11 | (*)Programmazione parametrica -Generics | |
12 | classi wrapper | |
13 | (*)Collections, Collection e Map | |
14 | ordinamento: Comparator<> e Comparable<> | |
15 | Enumerazioni | |
16 | (*)Multithreading | |
17 | cenni sulle classi e le interfacce di rete: i socket | |
18 | gli argomento contrassegnati con (*) indica conoscenze minime irrinunciabili per il superamento dell'esame: la loro conoscenza è condizione necessaria ma non sufficiente per il superamento dell'esame |