This document describes a project-based course to build a Minesweeper game from scratch using Java. The 13-section course breaks the project into incremental parts, teaching programming concepts at each stage like object-oriented design, testing, persistence, web development, and more. Learners will build both desktop and web versions, while practicing techniques such as refactoring, internationalization, logging, and database integration. The goal is for students to learn Java by completing the projects and reading provided code at their own pace.