A comprehensive collection of Java practice exercises and projects from the Object-Oriented Programming (OOP) course at Politecnico di Torino (2023).
- Lecture slides: Complete set of PDF slides covering all Java and OOP topics
- Detailed notes: Comprehensive takeaways from lectures covering:
- Java Environment & Basics
- Inheritance & Polymorphism
- Generics & Collections
- Streams & Lambda Expressions
- Exception Handling & I/O
- Multithreading & GUI Development
- Software Engineering principles
Hands-on implementations demonstrating core Java concepts:
- Example1SortingStringInterface: Functional interfaces and method references
- Example2LambdaGenerics: Lambda expressions with generic types
- Example3Collections: Working with Java Collections Framework
- Example4Streams: Stream API operations and collectors
- Example5Exceptions: Custom exception handling
- Example6IO: File I/O operations and serialization
- Example7Multithreads: Concurrent programming concepts
- Example8GUI: Swing-based graphical user interfaces
Structured lab assignments covering:
- Lab1: University management system
- Lab3: Diet management application
- Lab4: Mountain huts booking system
- Lab5: Medical clinic management
- Lab6: Social network implementation
Real exam simulations including:
- Medical center management systems
- Meeting scheduling applications
- Train seat reservation systems
- Library management systems
- Food delivery platforms
- Course enrollment systems
- Football league management
- Job offers platform
- Core Java: Syntax, OOP principles, inheritance, polymorphism
- Advanced Features: Generics, collections, streams, lambda expressions
- Design Patterns: Observer pattern, composition, abstraction
- Practical Skills: Exception handling, I/O operations, multithreading
- Software Engineering: Testing, configuration management, UML
- Modern Java: Functional programming, stream processing, optional handling
Projects are configured for Eclipse IDE with Java 17, following standard Maven/Gradle project structures.
- Java Documentation: https://docs.oracle.com/en/java/javase/17/
- Course Page: https://didattica.polito.it/pls/portal30/gap.pkg_guide.viewGap?p_cod_ins=04JEYOA&p_a_acc=2024&p_header=S&p_lang=&multi=N
- Course Repository (2023): https://git-oop.polito.it/oop_2023