Public course syllabus
Java Programming: From Code to Software Design
A self-paced Java 25 course that begins with small runnable programs and grows into disciplined software design. Learners trace how source code becomes JVM execution, reason about types and control flow, design methods and data structures, model systems with objects and interfaces, handle failure, test behavior, refactor safely, and defend a complete software capstone. The browser-first core uses the official Java Playground; an optional JDK lane adds multi-file projects, file I/O, and JUnit 6 without making a local development machine a prerequisite for conceptual mastery.
Course overview
This self-paced Java 25 course begins with small runnable programs and grows into deliberate software design: JVM execution, types, control flow, methods, collections, objects, interfaces, failure handling, testing, debugging, refactoring, and a final software engineering defense.
Audience and pace
Grades 9–12. Eighteen open-progress Units use internal route slots rather than calendar deadlines; move forward when Unit evidence is complete.
What you will learn
- Trace how Java source becomes JVM execution and reason about type, state, control flow, and failure.
- Design methods, collections, classes, records, interfaces, and collaborating objects around requirements.
- Test, debug, refactor, and defend behavior with executable evidence.
Course structure
The sequence covers execution/types/state; decisions/methods; data structures/object models; interfaces/composition/polymorphism; failure/persistence/testing/refactoring; and a software engineering capstone.
Learning evidence and assessment
Learners produce runnable programs, trace/test records, object/design artifacts, failure analysis, regression evidence, and technical defenses. The browser-first core uses the official Java Playground; an optional JDK lane adds multi-file projects, file I/O, and JUnit 6.
Expectations and boundaries
Use approved tools and preserve source, dependency, privacy, and repository boundaries. Do not submit code you cannot explain or run unreviewed external code in a local environment.
Capstone
The Java Software Engineering Capstone requires requirements, architecture, implementation, tests, failure evidence, revision, regression evidence, and a design defense.
Access and support
The browser core supports conceptual mastery without a local machine. The optional local JDK lane has documented setup and evidence requirements.