Ages 13–15 | 5-Day Full-Day or 10-Day Half-Day
Start with Karel the Dog to learn algorithmic thinking, progress through variables, control flow, and methods, build classes with object-oriented programming, work with arrays and ArrayLists, and finish by coding a Blackjack game and a capstone project of your choice. Powered by CodeHS Introduction to Java (Latte).
| Session | Project |
|---|---|
| AM 1 | Karel commands — move, turn, put/pick beepers; solve maze puzzles by writing step-by-step algorithms |
| AM 2 | Java program structure and the run method; complete the Tower and Pyramid of Karel challenges |
| PM 1 | Variables and types — declare ints, doubles, Strings, booleans; print output and read user input |
| PM 2 | Arithmetic expressions and type casting — build a calculator program that handles mixed-type math |
| Session | Project |
|---|---|
| AM 1 | If/else statements and boolean logic — write a number classifier and a grade-letter converter |
| AM 2 | For loops, while loops, nested loops — generate multiplication tables and pattern printers |
| PM 1 | Write reusable methods with parameters and return values; refactor earlier code into clean functions |
| PM 2 | Method Challenges: Password Checker (validate strength rules), AltCase (alternate caps), Bracket Matcher (check balanced brackets) |
| Session | Project |
|---|---|
| AM 1 | Classes vs. objects — build a Rectangle class and a Point class with instance variables and constructors |
| AM 2 | Encapsulation — write getter/setter methods; create a Student class that stores name, grade, and GPA |
| PM 1 | Variable scope and shadowing — debug scoping bugs; understand local vs. instance variables |
| PM 2 | Project: Rock, Paper, Scissors — design Player and Game classes; code the full game loop with win/loss tracking |
| Session | Project |
|---|---|
| AM 1 | Arrays — create, index, iterate; code sum, max, min, and search algorithms on integer arrays |
| AM 2 | ArrayLists — dynamic sizing, add/remove elements; build a Road Trip itinerary manager |
| PM 1 | Project: Blackjack — build a Hand class (add cards, calculate score, handle aces) and a Blackjack class (deal, hit, stand logic) |
| PM 2 | Complete and extend Blackjack — add dealer AI, betting system, or multi-round play |
| Session | Project |
|---|---|
| AM 1 | Brainstorm and plan — choose a project (game, simulation, or tool); outline classes, methods, and data structures |
| AM 2 | Build — implement core classes and game/app logic |
| PM 1 | Build — add data structures, polish features, test and debug |
| PM 2 | Demo day — present projects, walk through code, peer code review |
| Days | Content |
|---|---|
| Days 1–2 | Karel the Dog & Java Fundamentals (Full-Day 1 content) |
| Days 3–4 | Control Flow & Methods (Full-Day 2 content) |
| Days 5–6 | Object-Oriented Programming (Full-Day 3 content) |
| Days 7–8 | Data Structures & Game Projects (Full-Day 4 content) |
| Days 9–10 | Capstone Project (Full-Day 5 content) |
