Syllabus
Applied CS Skills units can be used individually or as a part of a track. Tracks are organized by difficulty, each consisting of 5 units plus a code sprint.
Choose a track:
The Starter Track uses ‘Scarne’s Dice with App Inventor’ as the first unit, where you’ll use App Inventor instead of Android Studio.
The Beginner Track uses introductory units, all using Android Studio.
In this introductory unit, you'll create a game called Scarne's Dice using App Inventor.
UI design, asynchronous programming
Lesson planStart to work in Android Studio, and create an Android app for a simple anagram game.
HashSets, HashMaps
Lesson planCreate the game Scarne's Dice in Android Studio.
UI design, asynchronous programming
Lesson planImplement your own circular linked list to help a band manager order a band's gig (based on the Traveling Salesman Problem).
Circular linked list
Lesson planThe 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 planBuild a visualization of a binary search tree that contains the values 1 through 20.
Binary Search Trees, AVL Trees
Lesson planGhost 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 planThis workshop's activity will build on the work you did to improve the game of Ghost.
Binary search, trees, tries
Lesson planThe 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 planBlack 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 planThis 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 planThe 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 planA 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