Unit 1 — Your Language Track

Learn the Unit 1 basics in one of the approved languages, and build the adventure game in it.

This Track Is for You If…

  • You already have some programming experience, and you want to learn these basics in an approved language instead of Python.
  • You already know Python and want to learn in another language. You don't need the Python lessons, but you still show every concept below in your language.

Python is the starting point for new students to coding, so Core is the default route. This track is for students with some experience who want a different language. It has the same concepts, the same game and the same checkpoints as Core. Only the language and the path into the concepts are different.

Check Before You Choose

Without notes, and in the language you'd build in, can you do these? It isn't graded. It helps you and your teacher see where to start.

  1. Print a message, and read something the user types in.
  2. Make a choice with an if/else.
  3. Repeat something until a condition changes.
  4. Write a function that takes an input and returns a result.
  5. Keep a list, add to it, and loop over it.

If you can do all five quickly, you'll move through the concept list fast. If not, you'll spend more time on it. Either way you finish the same project, so start here and let your teacher know which route fits.

Choosing Your Language

Use a language from the approved list on the 2C page. Those are the languages confirmed to work on the lab computers.

Want a language that isn't on the list? Ask your teacher at CP1. A new language gets added once it passes its check on a lab machine.

What You'll Learn

These are the concepts this track needs. Each one must appear in your game and in your concept log, with a note on how your language writes it.

  • Variables and data types
  • Input and output
  • Operators and expressions
  • Conditionals
  • Loops
  • Functions
  • Lists
  • Strings
  • Debugging: finding and fixing a planted bug in your own game

There are no Python lessons on this track. Use your language's official documentation and your own practice to learn each concept, then show it in your game.

What You'll Build

The same text adventure game as Core, across three projects. Your language, your code, your names. Each project page lists the goals it must show in any language.

Common Parameters (any language, any project)

These apply to all three projects, and to any simple project you build in your language. They're the same whichever language you pick, so your teacher can check any project the same way.

  • Language: one from the approved list on the 2C page.
  • Folder: your project files go in 1_foundations/adventure_game, with a main file and a README.md beside it.
  • Concept log: one row per concept the project uses, in the README: how your language writes it, and what surprised you.
  • Run check: run the project from start to finish at least twice, making different choices each time. Write down what happened in the README.
  • Documentation: someone who has never seen your code should be able to run it and understand what each part does from your comments and README.
  • Commits: commit when the project runs, with the checkpoint prefix (CP1:, CP2:, CP3:). Push before your one-on-one.
  • Assessment: the same Unit 1 rubric as Core.

Simple project instead? If you'd rather build a small tool than the adventure game, it still needs these parameters and the goals on each project page. Agree the idea with your teacher first.

Concept Log

In your README, keep one row for each concept above. Use the same format as 2C: how your language writes it, and what surprised you. Start it at CP1, and add to it as you go.

ConceptHow I write itWhat surprised me
Loop until a condition changes while (!won) { The condition is checked before each pass, so a bad starting value can skip the loop entirely

Checkpoints on This Track

CheckpointWhat it looks like on this track
CP1 Pitch names the language; hello world running in your language, committed; project 1A running with one choice; concept log started
CP2 Project 1B running, with the rooms and the loop working; concept log has at least 5 rows
CP3 Project 1C running with inventory; planted bug found and fixed, with a short record of how; concept log complete

Start each checkpoint commit with CP1:, CP2: or CP3:, and push before your teacher calls you up.

How You're Assessed

The same Unit 1 evaluation as Core: the rubric, a scored Unit 1 mark, and a short self-check before your one-on-one. Work you've finished counts, even when some of the project is still unfinished.

After This Unit

Your teacher will help you choose your Unit 2 level, using your Unit 1 work and your concept log. Ask about it at CP2 of this unit, so the choice is settled before Unit 2 starts.

Done Looks Like…

Someone can play your game from start to finish. Your concept log shows where each concept is in your code and how your language writes it.