Phase 1: Java Fundamentals¶
Build a rock-solid foundation in Java programming, focusing on core concepts and object-oriented principles.
Duration: 2-3 Months
Learning Resources¶
| Resource Type | Name |
|---|---|
| Course | Tim Buchalka's Java Masterclass (Udemy) |
| Book | Effective Java by Joshua Bloch |
| Book | Core Java Volume I by Cay S. Horstmann |
Topics¶
-
Topic 1: Java Basic Interactive Applications
Variables, data types, operators, control flow, methods, loops, switch, user input.
-
Topic 2: OOP & Class Design Internals
Classes, objects, encapsulation, inheritance, polymorphism, abstraction, composition.
-
Topic 3: Arrays, Lists & Autoboxing
Arrays, ArrayList, LinkedList, Iterators, Autoboxing/Unboxing, Enums.
-
Topic 4: Abstraction, Interfaces, Generics & Nested Classes
Abstract classes, interfaces, generics, bounded types, wildcards, comparators, nested & anonymous classes.
-
Topic 5: Lambda Expressions & Functional Programming
Lambda syntax, functional interfaces (Consumer, Predicate, Function, Supplier), method references, chaining with andThen/compose, Comparator convenience methods.
-
Topic 6: Collections Framework
List, Set, Map, Queue implementations, internal workings, performance characteristics.
-
Topic 7: Java Streams API
Stream pipelines, intermediate & terminal operations, Collectors, Optional, parallel streams.
Topic Structure¶
Each topic folder contains three key documents:
| Document | Purpose |
|---|---|
topic-note.md |
Course notes from Tim Buchalka's Udemy course - brainstorming and observed ideas |
book-reading.md |
Notes from Effective Java - building theoretical mindset |
summary.md |
Final combined understanding - comprehensive topic mastery |
Project Ideas¶
- Command-line Calculator - Practice methods, exception handling
- Student Management System - Use OOP, collections, file I/O
- Library Management System - Comprehensive use of all fundamentals
Phase Progress¶
- Topic 1: Java Basic Interactive Applications
- Topic 2: OOP & Class Design Internals
- Topic 3: Arrays, Lists & Autoboxing
- Topic 4: Abstraction, Interfaces, Generics & Nested Classes
- Topic 5: Lambda Expressions & Functional Programming
- Topic 6: Collections Framework
- Topic 7: Java Streams API
- Phase 1 Project
Phase Start Date: | Target Completion: