
Can read Cartesian coordinates 
Neophyte

Cartesian Coordinates

Understands basic Arithmetic 
Neophyte

Arithmetic Basics

Arithmetic: Multiplication/Division/Negatives/Decimals/Inequalities 
Hacker

Arithmetic Basics 2

Elementary understanding of sine. (Amplitude, period) 
Coder

Sine Wave Basics

Can plot mathematical functions 
Coder

Function Plotter

Basic shape area and perimeter formulas (rectangles, circles, triangles) 
Coder

Area and Perimeter Basics

Can solve right triangles (Find missing angles and sides) 
Coder

Trigonometry with Right Triangles

Pythagorean theorem 
Coder

Pythagorean Theorem

Basic Algebra (first order polynomials, averages, sqrt, pow) 
Coder

Algebra Basics

Second order polynomials 
Developer

Second Order Polynomials

Polar coordinates 
Developer

Polar Coordinates

Spherical coordinates 
Developer

Spherical Coordinates


Local vs Global Scoping 
Hacker

Scoping

While Loops 
Hacker

While Looper

processing shape functions (rect, ellipse, line, triangle) 
Hacker

Processing Shapes

Can use if/else statements 
Hacker

If/else Statements

Access array elements 
Hacker

Array Access

Understands basic processing builtin functions: draw, setup, keyPressed 
Hacker

Processing Functions

Mouse and Keyboard input (keyPressed, keyReleased, mousePressed, mouseReleased) 
Hacker

Processing Mouse and Keyboard

function declaration vs function calls 
Hacker

Functions Declaration vs Call

Access object properties 
Hacker

Object Property Access

Processing image function 
Hacker

Processing Images

Variables 
Hacker

Variables

/rank_requirements/170 
Hacker


for loops 
Coder

For Loops

Array methods (length, push, can look up an use additional methods) 
Coder

Array Methods

Class declaration with constructor 
Coder

Class Declaration

Class methods 
Coder

Class Methods

for...of loops 
Coder

For Of Loops

Can use return statements in functions 
Coder

Returns

Statically vs dynamically typed programming 
Developer

Static vs Dynamic Typing

Callbacks/higher order functions 
Developer

Callbacks

Rudimentary understanding of functional programming (map, reduce, apply, filter) 
Developer

Functional Programming Basics



Can navigate to their Scratch account and lesson 
Neophyte

Scratcher

Intuitive use of left vs right click 
Neophyte

Left/Right Click

Can use a keyboard 
Neophyte

Keyboarder

Can independently navigate web pages (open, forward/back, refresh, enter username/password) 
Neophyte

Web page naivigator

Copy, Paste, Undo shortcuts 
Hacker

Copy Paste Undo

Single user git basics (pull, push, clone, commit, etc) 
Developer

Singleuser Git Basics







Can read and follow directions 
Neophyte

Reads and Follows Directions

Works through lessons independently 
Hacker

Works Independently

Correct use of indentation and reasonable use of whitespace in code 
Coder

Indentation and Whitespace

Can read external reference materials 
Coder

External Referencer

Can translate appropriate pseudocode 
Coder

Pseudocode

Can explain programming issues with proper vocabulary or diagrams 
Coder

Explainer Basics

API calls 
Developer

API Calls

Proficient in programming syntax (can write in a variety of languages and look up new syntax when needed 
Developer

Proficient in Programming Syntax

Able to answer and explain programming fundamentals questions from Coder level students 
Developer

Can Answer Coder Level Questions

Ask a good question on Stack Overflow 
Developer

Stack Overflow

Create a Coder or above level exercise for other students 
Developer

Coder Exercise Maker

Peer coding project (both contributing significant code to the project.) 
Developer

Peer Coding Project

Codes neatly according to a reasonable convention (consistency and clarity are what's important) 
Developer

Coding Convention




Student Portfolio with project 
Hacker

Porfolio

Basic RGB color knowledge (Red, Green, Blue, White, Black, Purple, Yellow) 
Hacker

RGB

Prevent and debug infinite loops 
Hacker

Infinite Loop Debugger

Creation of independent project which demonstrates proficiency of concepts 
Coder

Independent Project

Makes use of function parameters to simplify code 
Coder

Function Parameters

Can make meaningful modifications to example projects or lessons 
Coder

Meaningful Modifications

Uses debugging techniques (such as using console.log or running test programs) 
Coder

Debugging techniques

Write skilllevelappropriate efficient code (use of loops, functions, "do not repeat yourself") 
Coder

Efficiency Basics

Works outside of classtime (More than one day a week) 
Coder

Work From Home
Works at Home

Compete in a programming competition outside of code club (example: ludum dare) 
Developer

Outside Programming Competition

Big O notation 
Developer

Big O Notation

Designs and builds own projects 
Developer

Designs and Builds Projects

Website with programming portfolio (github pages) 
Developer

Web Portfolio

Mid level example interview questions 
Developer

Mid Level Interview Questions

Simple example interview questions 
Developer

Simple Interview Questions


Rectangular Collision Detection 
Coder

Rectangular Collision Detection

can design and build simple algorithms (sorting, reverse string, fibonnaci, etc...) 
Coder

Algorithms Basics

Understanding of vector addition and subtraction 
Coder

Vector Basics

Collision detection (rectangle,circle,triangle, composite) 
Developer

Primitive Collision Detection

Vector math (arithmetic, cross/dot product) 
Developer

Cross and Dot Product

A* pathfinding 
Developer

A* Pathfinding

Equations of motion 
Developer

Equations of Motion

Can implement gravity 
Developer

Gravity
