diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index d790bbd..98aa1ae 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -53,6 +53,13 @@ export default defineConfig({ { text: 'Java Basics', link: '/curriculum/getting-started/java-basics' }, ], }, + { + text: 'Java Track (optional depth)', + items: [ + { text: 'Object-Oriented Programming', link: '/curriculum/getting-started/oop-concepts' }, + { text: 'Intermediate Java', link: '/curriculum/getting-started/intermediate-java' }, + ], + }, { text: 'Challenges', items: [ diff --git a/docs/curriculum/index.md b/docs/curriculum/index.md index dcb4f0c..27a7a71 100644 --- a/docs/curriculum/index.md +++ b/docs/curriculum/index.md @@ -2,7 +2,7 @@ Welcome to the XBot programming curriculum. You will go from writing your first Java code to making a robot drive itself. -**No programming experience?** Start here. The curriculum assumes you know nothing about programming and teaches you everything step by step. +**No programming experience?** Start here. The curriculum assumes you know nothing about programming and teaches you everything step by step. [Java Basics](getting-started/java-basics) covers the minimum you need to begin, and the [Java track](#java-track) below goes deeper when you want it. Work through the steps in order. Each challenge builds on the one before it. @@ -27,6 +27,17 @@ Background you will be pointed at from the challenges, and can come back to any | [Git Introduction](getting-started/git-introduction) | What source control is, and the terms you will see | | [Clone with GitHub Desktop](getting-started/clone-with-github-desktop) | Getting a copy of a repository onto your computer | +## Java track + +[Java Basics](getting-started/java-basics) is deliberately short -- just enough to start driving a robot. These two pages go further, and you can work through them alongside the challenges rather than before them. + +| Page | What It Covers | +|------|----------------| +| [Object-Oriented Programming](getting-started/oop-concepts) | Encapsulation, inheritance, polymorphism, abstraction | +| [Intermediate Java](getting-started/intermediate-java) | Generics, lambdas, Optional, collections, streams, enums | + +Of the two, get comfortable with **classes and objects** before the [Auto-stopping Collector](challenges/auto-stopping-collector) challenge -- that is the first time you write a class from scratch rather than filling in a method. + ## Challenges Hands-on exercises in the [XbotEdu](https://github.com/Team488/XbotEdu) practice project. Each one has unit tests, so you can check your own work without a physical robot.