MVCode Clubs Learning Plan

Each student works independently, and is tracked towards common learning outcomes.

Badges, points and ranks help motivate students to achieve their goals.

Requirement Rank Badges

Math

Understands basic Arithmetic Neophyte Neophyte Neophyte Arithmetic Basics
Can read Cartesian coordinates Neophyte Neophyte Neophyte Cartesian Coordinates
Arithmetic: Multiplication/Division/Negatives/Decimals/Inequalities Hacker2 Hacker Hacker2 Arithmetic Basics 2
Elementary understanding of sine. (Amplitude, period) Coder Coder Coder Sine Wave Basics
Can plot mathematical functions Coder Coder Coder Function Plotter
Basic shape area and perimeter formulas (rectangles, circles, triangles) Coder Coder Coder Area and Perimeter Basics
Can solve right triangles (Find missing angles and sides) Coder Coder Coder Trigonometry with Right Triangles
Pythagorean theorem Coder Coder Coder Pythagorean Theorem
Basic Algebra (first order polynomials, averages, sqrt, pow) Coder Coder Coder Algebra Basics
Second order polynomials Developer Developer Developer Second Order Polynomials
Spherical coordinates Developer Developer Developer Spherical Coordinates
Polar coordinates Developer Developer Developer Polar Coordinates

Programming Fundamentals

Variables Hacker2 Hacker Hacker2 Variables
processing shape functions (rect, ellipse, line, triangle) Hacker2 Hacker Hacker2 Processing Shapes
Can use if/else statements Hacker2 Hacker Hacker2 If/else Statements
While Loops Hacker2 Hacker Hacker2 While Looper
Access array elements Hacker2 Hacker Hacker2 Array Access
Understands basic processing built-in functions: draw, setup, keyPressed Hacker2 Hacker Hacker2 Processing Functions
Mouse and Keyboard input (keyPressed, keyReleased, mousePressed, mouseReleased) Hacker2 Hacker Hacker2 Processing Mouse and Keyboard
function declaration vs function calls Hacker2 Hacker Hacker2 Functions Declaration vs Call
Access object properties Hacker2 Hacker Hacker2 Object Property Access
Processing image function Hacker2 Hacker Hacker2 Processing Images
Local vs Global Scoping Hacker2 Hacker Hacker2 Scoping
Class declaration with constructor Coder Coder Coder Class Declaration
for...of loops Coder Coder Coder For Of Loops
Array methods (length, push, can look up an use additional methods) Coder Coder Coder Array Methods
for loops Coder Coder Coder For Loops
Can use return statements in functions Coder Coder Coder Returns
Class methods Coder Coder Coder Class Methods
Callbacks/higher order functions Developer Developer Developer Callbacks
Rudimentary understanding of functional programming (map, reduce, apply, filter) Developer Developer Developer Functional Programming Basics
Statically vs dynamically typed programming Developer Developer Developer Static vs Dynamic Typing

Reading Comprehension

Computer Fundamentals

Can independently navigate web pages (open, forward/back, refresh, enter username/password) Neophyte Neophyte Neophyte Web page naivigator
Can navigate to their Scratch account and lesson Neophyte Neophyte Neophyte Scratcher
Intuitive use of left vs right click Neophyte Neophyte Neophyte Left/Right Click
Can use a keyboard Neophyte Neophyte Neophyte Keyboarder
Copy, Paste, Undo shortcuts Hacker2 Hacker Hacker2 Copy Paste Undo
Single user git basics (pull, push, clone, commit, etc) Developer Developer Developer Single-user Git Basics

Developer Toolchain

Product Development and Design

Art and Graphic Design

Problem solving and Computational Thinking

Focus and Effortful Practice

Communication

Can read and follow directions Neophyte Neophyte Neophyte Reads and Follows Directions
Works through lessons independently Hacker2 Hacker Hacker2 Works Independently
Can explain programming issues with proper vocabulary or diagrams Coder Coder Coder Explainer Basics
Can translate appropriate pseudocode Coder Coder Coder Pseudocode
Correct use of indentation and reasonable use of whitespace in code Coder Coder Coder Indentation and Whitespace
Can read external reference materials Coder Coder Coder External Referencer
Able to answer and explain programming fundamentals questions from Coder level students Developer Developer Developer Can Answer Coder Level Questions
API calls Developer Developer Developer API Calls
Codes neatly according to a reasonable convention (consistency and clarity are what's important) Developer Developer Developer Coding Convention
Peer coding project (both contributing significant code to the project.) Developer Developer Developer Peer Coding Project
Proficient in programming syntax (can write in a variety of languages and look up new syntax when needed Developer Developer Developer Proficient in Programming Syntax
Ask a good question on Stack Overflow Developer Developer Developer Stack Overflow
Create a Coder or above level exercise for other students Developer Developer Developer Coder Exercise Maker

Robotics and Engineering

Programming Languages

Creativity and Design

Prevent and debug infinite loops Hacker2 Hacker Hacker2 Infinite Loop Debugger
Basic RGB color knowledge (Red, Green, Blue, White, Black, Purple, Yellow) Hacker2 Hacker Hacker2 RGB
Student Portfolio with project Hacker2 Hacker Porfolio
Uses debugging techniques (such as using console.log or running test programs) Coder Coder Coder Debugging techniques
Creation of independent project which demonstrates proficiency of concepts Coder Coder Coder Independent Project
Makes use of function parameters to simplify code Coder Coder Coder Function Parameters
Can make meaningful modifications to example projects or lessons Coder Coder Coder Meaningful Modifications
Write skill-level-appropriate efficient code (use of loops, functions, "do not repeat yourself") Coder Coder Coder Efficiency Basics
Works outside of classtime (More than one day a week) Coder Coder Coder Works at Home
Compete in a programming competition outside of code club (example: ludum dare) Developer Developer Developer Outside Programming Competition
Designs and builds own projects Developer Developer Developer Designs and Builds Projects
Simple example interview questions Developer Developer Developer Simple Interview Questions
Mid level example interview questions Developer Developer Developer Mid Level Interview Questions
Big O notation Developer Developer Developer Big O Notation
Website with programming portfolio (github pages) Developer Developer Developer Web Portfolio

Engineering and Applied Math

Rectangular Collision Detection Coder Coder Coder Rectangular Collision Detection
can design and build simple algorithms (sorting, reverse string, fibonnaci, etc...) Coder Coder Coder Algorithms Basics
Understanding of vector addition and subtraction Coder Coder Coder Vector Basics
Equations of motion Developer Developer Developer Equations of Motion
A* pathfinding Developer Developer Developer A* Pathfinding
Vector math (arithmetic, cross/dot product) Developer Developer Developer Cross and Dot Product
Can implement gravity Developer Developer Developer Gravity
Collision detection (rectangle,circle,triangle, composite) Developer Developer Developer Primitive Collision Detection