Welcome to my Java learning repository! This space is dedicated to documenting my journey as I learn Java from scratch, advancing core concepts, object-oriented programming (OOP), and software development best practices.
Here you will find code snippets, exercises, and small programs compiled from textbooks, online courses, and academic coursework.
I am currently building my foundations and tracking my progress across three main streams:
- Academic: CFGS DAM - Programació (M03) (Institut Obert de Catalunya - IOC).
- Official coursework focused on structural programming, OOP paradigms, modularity, and software design patterns required for Multi-platform Application Development.
- Book: Java: A Beginner's Guide (9th Edition) by Herbert Schildt.
- Focused on core syntax, data types, control statements, and standard library mechanics.
- Course: Java Programming MOOC (University of Helsinki).
- Focused on algorithmic thinking, test-driven exercises, and robust Object-Oriented Programming.
- OS: Debian Trixie
- Language Version: Java 21 (LTS)
- Compiler/Runtime: OpenJDK
- IDE/Editor: VS Codium
The repository is organized logically into directories separating theoretical practice, course exercises, and official academic modules:
.
├── ioc-dam-programacio/ # Official IOC DAM Programació (M03) coursework
│ ├── unit01-introduction/ # Basic syntax, structure, and primitive types
│ ├── unit02-oop/ # Classes, objects, methods, and encapsulation
│ └── assignments/ # Graded tasks (Lliuramientos / Prácticas)
│
├── herbert-schildt-guide/ # Exercises and examples from the book
│ ├── ch01-fundamentals/ # Java basics (e.g., GalToLit.java)
│ ├── ch02-data-types/ # Data types and operators
│ └── README.md # Specific chapter index
│
├── mooc-java-programming/ # University of Helsinki MOOC exercises
│ ├── part01/ # Conditionals, variables, reading input
│ ├── part02/ # Loops, methods, dividing code
│ └── part03/ # Lists, arrays, strings
│
└── README.md # Main repository guide (this file)