Syllabus

Choose a track help:
Each course has a designated track, consisting of 5 units.
Scarne's Dice app icon
Scarne's Dice with App Inventor

In this introductory unit, you'll create a game called Scarne's Dice using App Inventor.

UI design, asynchronous programming

Lesson plan
Anagrams app icon
Anagrams

Start to work in Android Studio, and create an Android app for a simple anagram game.

HashSets, HashMaps

Lesson plan
Scarne's Dice app icon
Scarne's Dice

Create the game Scarne's Dice in Android Studio.

UI design, asynchronous programming

Lesson plan
Word Stack app icon
Word Stack

The idea of the game is to try to separate out two words of the same length whose letters have been scrambled (but the order of the letters has been preserved).

Drag and drop UI, stacks

Lesson plan
Ghost app icon
Ghost

Ghost is a word game in which players take turns adding individual letters to a growing word fragment, trying not to be the one to complete a valid word.

Binary search, trees, tries

Lesson plan
Ghost II app icon
Ghost II

This workshop's activity will build on the work you did to improve the game of Ghost.

Binary search, trees, tries

Lesson plan
Puzzle 8 app icon
Puzzle 8

This game goes by many names: some call it puzzle-8 or 8-puzzle or 15-puzzle. The idea is to slide tiles around to form an image or to recreate a numerical sequence.

Heaps, priority queues, A* algorithm

Lesson plan
Word Ladder app icon
Word Ladder

The game gives the players two starting words of the same length (gain and fire in this example) and a number of blank spaces in between. The objective of the game is to fill each blank space with a word that differs from the word above and the word below it by a single letter.

Multiple activities, graphs

Lesson plan
Black Hole app icon
Black Hole

Black Hole is a two-player strategy game where each player starts with 10 tiles numbered 1 through 10. The objective of the game is to have fewer points sucked into the black hole than the other player.

Unit testing, Monte Carlo method

Lesson plan
Continental Divide app icon
Continental Divide

The subject of this unit is Dynamic Programming. The challenge of this app will be to color numerical cells to represent which ocean it flows to.

Dynamic programming

Lesson plan
Code Sprint app icon
Code Sprint

A sprint is "a set period of time during which specific work has to be completed and made ready for review", and in this case, that work will be creating an app, which you'll be presenting in the workshop.

Lesson plan