Back to Java Programming: From Code to Software Design

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.

Audience
9-12
Structure
18 units
Delivery
Self-paced

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.