Programming 2
A.Y. 2026/2027
Learning objectives
The topic of this course is Object-Oriented Programming through the use of the Java programming language; we aim at presenting the methods and techniques of object-oriented programming and of the specific language adopted, giving an overview of its base syntax.
Expected learning outcomes
Ability of writing programs in the OOP paradigm.
Lesson period: First semester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course can be attended as a single course.
Course syllabus and organization
Single session
Responsible
Lesson period
First semester
Course syllabus
We present the main notions about object-oriented programming, focusing on Java language. More specifically, the following topics will be covered:
- Introduction to the Java programming language, the Java Virtual Machine (JVM), an introduction to Object-Oriented Programming (OOP), protocols, and contracts.
- Review of control structures and primitive data types.
- The Java class hierarchy. Overloading and overriding. Interfaces. Generic classes. The type hierarchy and the concept of subtyping. Use of wildcards in type definitions (existential types).
- Representation and use of collections (in particular, the List, Set, and Map interfaces).
- Implementation and extension of classes. Definition and use of comparators.
- Definition and use of exceptions.
- Introduction to the Java programming language, the Java Virtual Machine (JVM), an introduction to Object-Oriented Programming (OOP), protocols, and contracts.
- Review of control structures and primitive data types.
- The Java class hierarchy. Overloading and overriding. Interfaces. Generic classes. The type hierarchy and the concept of subtyping. Use of wildcards in type definitions (existential types).
- Representation and use of collections (in particular, the List, Set, and Map interfaces).
- Implementation and extension of classes. Definition and use of comparators.
- Definition and use of exceptions.
Prerequisites for admission
Basic notions about imperative programming (Programmazione 1)
Teaching methods
Class and laboratory lessons.
Teaching Resources
G. Pighizzini, M. Ferrari: Dai fondamenti agli oggetti. Corso di programmazione JAVA, Addison-Wesley, Pearson Education Italia.
Assessment methods and Criteria
Java project to implement in a laboratory followed by an oral discussion.
INFO-01/A - Informatics - University credits: 6
Laboratories: 24 hours
Lessons: 36 hours
Lessons: 36 hours
Professor:
Fiorentini Camillo
Professor(s)