Skip to content

Vol 1: Programming Basics ​

This volume builds the core vocabulary of programs: types, control flow, methods, objects, collections, concurrency, and I/O. Each concept is tied to observable output and explicit failure boundaries, turning syntax from trivia into behavior.

Prerequisites ​

  • Complete the environment setup in Vol 0 and confirm that java and javac come from a working JDK. This volume uses Java 17 language and API contracts.
  • You only need to create source files, navigate to their directory, and run commands. Give independent experiments separate directories so repeated class names do not overwrite one another.

Coverage ​

The volume contains 15 chapters and 62 lessons. Short programs lead into shared objects, threads, and files; labs check successful output alongside deliberate failures.

Chapter 1: Java Programs and Their Errors ​

Chapter 2: Variables, Types, and Conversion ​

Chapter 3: Expressions and Operators ​

Chapter 4: Branches and Loops ​

Chapter 5: Methods and Recursion ​

Chapter 6: Arrays and Copying ​

Chapter 7: Objects, Encapsulation, and Class State ​

Chapter 8: Inheritance, Polymorphism, Lambdas, and Streams ​

Chapter 9: Strings and Encoding ​

Chapter 10: Collection Costs and Contracts ​

Chapter 11: Exceptions and Resource Cleanup ​

Chapter 12: Generics and Type Erasure ​

Chapter 13: Annotations and Reflection ​

Chapter 14: Threads, Synchronization, and Executors ​

Chapter 15: I/O and Filesystems ​

Outcomes ​

  • Explain Java evaluation order, conversions, and method dispatch well enough to account for a program’s output.
  • State object and collection invariants and test their boundaries with runnable positive and negative examples.
  • Handle exceptions, cancel threads, and close I/O resources while distinguishing process-local correctness from persistence guarantees.

How to use this map ​

Read in lesson order the first time. Chapter 8 introduces dynamic dispatch before detailing overriding rules. During review, follow the symptom: lost precision points to Chapters 2–3, collection behavior to Chapter 10, a process that will not exit to Chapter 14, and partial file writes to Chapter 15. Run the example, check its output, then change one boundary condition.

Built with VitePress | Software Systems Atlas