A comprehensive collection of Java projects, lessons, exercises, and assessments for learning Object-Oriented Programming and data structures.
- About
- Repository Structure
- Quick Navigation
- Getting Started
- Projects
- Programming Object-Oriented
- Technologies & Tools
This repository contains educational materials for Java programming, including:
- Foundational Projects: Basic applications demonstrating core Java concepts
- Lessons: Structured educational materials covering OOP concepts
- Exercises: Practical coding exercises to reinforce learning
- Assessments: Evaluation projects to test comprehensive understanding
The materials progress from fundamental concepts to advanced patterns, with each lesson building upon previous knowledge.
Languages: English (repository structure) | Portuguese (code comments & documentation)
java_development/
βββ π projects/ # Foundational projects
β βββ EmpresaFicticia/ # Fictional company OOP example
β βββ NumerosAleatorios/ # Random numbers application
β
βββ π programming-object-oriented/ # Main educational content
β βββ π lessons/ # Structured lessons
β β βββ lesson-01-basics/ # Basic concepts (conversion, tuples, equality)
β β βββ lesson-02-arrays-collections/ # Arrays and collections
β β βββ lesson-03-inheritance/ # Inheritance and polymorphism
β β βββ lesson-04-advanced/ # Advanced topics
β β βββ lesson-review/ # Review and consolidation
β β
β βββ π exercises/ # Practical exercises
β β βββ list-exercises-01/ # List 1 exercises
β β βββ list-exercises-02/ # List 2 exercises
β β βββ list-exercises-03/ # List 3 exercises
β β βββ list-exercises-04/ # List 4 exercises (vectors, lists, matrices)
β β βββ list-exercises-05/ # List 5 exercises (inheritance)
β β βββ list-exercises-06/ # List 6 exercises (OOP patterns)
β β βββ list-exercises-07/ # List 7 exercises
β β βββ list-exercises-08/ # List 8 exercises
β β
β βββ π assessments/ # Evaluation projects
β β βββ assessment-01/ # First assessment
β
βββ README.md # This file
- Start with lessons in order:
lesson-01-basicsβlesson-02-arrays-collectionsβ etc. - After each lesson, practice with corresponding exercises
- Complete assessments to evaluate your understanding
| Topic | Resource | Path |
|---|---|---|
| Basic Concepts | lesson-01-basics | programming-object-oriented/lessons/lesson-01-basics/ |
| Arrays & Collections | lesson-02-arrays-collections | programming-object-oriented/lessons/lesson-02-arrays-collections/ |
| Inheritance & Polymorphism | lesson-03-inheritance | programming-object-oriented/lessons/lesson-03-inheritance/ |
| Advanced Topics | lesson-04-advanced | programming-object-oriented/lessons/lesson-04-advanced/ |
| Practical Exercises | list-exercises | programming-object-oriented/exercises/ |
| Assessments | assessments | programming-object-oriented/assessments/ |
- Java 8+ installed
- IntelliJ IDEA (recommended) or any Java IDE
- Git (for cloning the repository)
-
Open in IntelliJ IDEA
# Clone the repository git clone https://github.com/anderson/java_development.git # Open in IntelliJ # File β Open β Select the project folder
-
Run a lesson or exercise
- Each project folder contains an
.imlfile for IntelliJ configuration - Locate the
Main.javaclass in the package - Right-click β Run
- Each project folder contains an
-
Command line (if not using IDE)
cd programming-object-oriented/lessons/lesson-01-basics/ javac src/conversao/*.java java -cp src conversao.DemoConversao
Located in projects/
| Project | Description | Concepts |
|---|---|---|
| EmpresaFicticia | Fictional company management system | Classes, inheritance, polymorphism |
| NumerosAleatorios | Random number generator | Methods, randomization |
Each lesson is a complete IntelliJ project with multiple packages (examples).
- Path:
lesson-01-basics/ - Packages: conversao, data, igualdade, tupla
- Topics: Unit conversion, Date class, equality, tuples
- Estimated Duration: 2-3 hours
- Path:
lesson-02-arrays-collections/ - Topics: Arrays, ArrayLists, GameOfCheckers, Pascal's Triangle, Media calculations
- Estimated Duration: 3-4 hours
- Path:
lesson-03-inheritance/ - Topics: Class hierarchy, inheritance, method overriding, company example, academic records
- Estimated Duration: 3-4 hours
- Path:
lesson-04-advanced/ - Topics: Search algorithms, color handling
- Estimated Duration: 2-3 hours
- Path:
lesson-review/ - Topics: Arrays/ArrayLists, generic collections, exceptions, polymorphism, class reuse
- Estimated Duration: 4-5 hours
8 lists of progressive exercises to reinforce concepts from lessons.
| List | Focus | Path |
|---|---|---|
| 01 | Fundamentals | list-exercises-01/ |
| 02 | Control flow | list-exercises-02/ |
| 03 | Methods & Arrays | list-exercises-03/ |
| 04 | Vectors & Matrices | list-exercises-04/ |
| 05 | Inheritance & Delegation | list-exercises-05/ |
| 06 | OOP Patterns | list-exercises-06/ |
| 07 | Integration | list-exercises-07/ |
| 08 | Consolidation | list-exercises-08/ |
| Assessment | Purpose | Path |
|---|---|---|
| Assessment 01 | First comprehensive evaluation | assessment-01/ |
- Java (8+)
- Standard Java libraries
- IntelliJ IDEA (recommended IDE)
- Git (version control)
- Java Compiler (javac)
- JVM (Java Virtual Machine)
- Each lesson/exercise is an IntelliJ project (
.imlfile) - Code organized in packages under
src/ - Compiled classes in
out/(gitignored)
- Packages use descriptive names in both English and Portuguese
- Examples:
conversao,data,agenda,empresa
- Classes: PascalCase (
Main.java,Funcionario.java) - Packages: lowercase with hyphens when multiple words
lesson-01-basics/
βββ lesson-01-basics.iml
βββ .gitignore
βββ src/
β βββ conversao/
β β βββ ConversaoUnidades.java
β β βββ DemoConversao.java
β βββ data/
β β βββ Data.java
β β βββ demoData.java
β βββ ...
βββ out/ (compiled classes - gitignored)
This project is licensed under the terms specified in the LICENSE file.
Last Updated: May 2026
Repository Version: 1.0 (Restructured)