Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -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: [
Expand Down
13 changes: 12 additions & 1 deletion docs/curriculum/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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.
Expand Down
Loading