Listing concepts

Platform Name Summary Rank Requirements
processing images You can use the image function to display any images you have loaded in processing
For Of Loops Iterate through a loop of items
Rectangular Collision Detection How to detect if two rectangles are colliding with each other
Array Access A type of variable which hold multiple values at once
Processing Shapes How to use the basic processingjs shape functions
Function declaration vs call Functions must be told what they do (declared) and when to do it (called)
RGB colors Red Green Blue color system
Processing Mouse and Keyboard Input processing has built-in functions that activate when you press on the mouse or keyboard
Processing Functions processingjs has a bunch of built in functions that you should memorize.
If/else statements A logic structure that let's us tell something to only happen "if" something is true
Equations of Motion Equations which describe how a body moves and reacts to applied forces
for loops for loops are a short hand for while loops with iterators
Array Methods Special functions (methods) you can call on arrays
JavaScript JavaScript Console How to use Chrome's JavaScript console
HTML Portfolio Create a portfolio website to show the work you have done, and let friends play your games
Object Property Access Objects are variables with a bunch of properties which you can access and modify
While Loops Repeat a section of code while a condition is true
Circular Collision Detection Detecting collision between two overlapping circles
Big O notation a method for describing worst-case number of computations required by an algorithm
Indentation Indent inside of your code blocks for improved readability
Single-User Git Basics Maintain a github account and learn to add, commit, push, and pull in order to save your projects remotely
Meaningful Modifications Go beyond the material in your lessons and create something with the concepts you've just learned
Debugging techniques Simple techniques to help you debug your programs by yourself
Efficiency Basics Techniques to make your code faster and in less lines
Read External Reference Materials There are many sources on the web which can help you learn, here is what to look for and how to use the information you find
Pseudo-code translation Translate back and forth between human-readable instructions and code that your computer understands
Simple Algorithms An algorithm is a process or set of rules meant to achieve a result such as sorting a list or detecting overlapping regions in space
Pythagorean theorem Find the distance between two points in space by solving the right triangle made between the points and their x/y-axes
API calls Using functions provided by an outside source allowing your program to interface with their data
Coding Convention A set of rules and guiding principles that provide a standard for writing your programs
Static vs Dynamic Typing Variable typing and memory size allocation
Simple Interview questions Some examples of problems you may see in a coding interview for an internship or job
Function Callbacks Passing a function to another function to be ran (called) after the initial function finishes
Functional programming basics What is functional programming? How to use basic functions such as map, reduce, apply, filter
Dot and Cross Products Vector functions which describe how "aligned" two vectors are
A* Pathifinding A grid based pathfinding algorithm
Function Parameters Provide inputs to your functions using parameters
Class Declaration Declare a class and create a constructor
Sine and Cosine Waves Learn to use the sin() and cos() functions in your projects to create oscillations and rotations
Mid level example interview questions Mid level example interview questions
Scoping: Local vs Global Understand the difference between locally scoped variables and globally scoped variables
Mid-level programming interview questions More difficult examples of programming job/internship questions you may find
Spherical Coordinates The 3D-equivalent of polar coordinates using a radius and two perpendicular angles (theta and phi)
Return statements Use return statements to receive output from a function for use in your program
Polar Coordinates An alternative to x/y-coordinates which instead uses radius and an angle to define a position
Plotting Mathematical Functions Create graphs to help visualize and make sense of collected data
Variables Variables store data which you can modify and then look at later.
Cartesian Coordinates Coordinates let us say where something in on a flat surface.
Vectors A type of data which can represent different qualities such as position, speed, and direction as an arrow which can be analyzed and manipulated
Class Methods These are the actions a class object are able to perform.
Algebra Basics Solve first order polynomials for a given variable
Understands basic Arithmetic Understands basic Arithmetic
Can use a keyboard Can use a keyboard
Can use if/else statements Can use if/else statements
Prevent and debug infinite loops Prevent and debug infinite loops
Access array elements Access array elements
function declaration vs function calls function declaration vs function calls
Access object properties Access object properties
Processing image function Processing image function
Copy, Paste, Undo shortcuts Copy, Paste, Undo shortcuts
Class declaration with constructor Class declaration with constructor
Class methods Class methods
for...of loops for...of loops
Scratch Scratch User Interface Can navigate to their Scratch account and lesson
Website Navigation Can independently navigate web pages (open, forward/back, refresh, enter username/password)
Arithmetic Multiplication Division Negatives Decimals Inequalities
Processing.js Basic Processing Functions Understands basic processing built-in functions: draw, setup, keyPressed
Array methods Array methods (length, push, can look up an use additional methods)
Mouse Navigation Intuitive use of left vs right click
Processing.js shape functions processing shape functions (rect, ellipse, line, triangle)
Cartesian coordinates Can read Cartesian coordinates
Makes use of function parameters to simplify code Makes use of function parameters to simplify code
Can plot mathematical functions Can plot mathematical functions
Designs and builds own projects Designs and builds own projects
Able to answer and explain programming fundamentals questions from Coder level students Able to answer and explain programming fundamentals questions from Coder level students
Polar coordinates Polar coordinates
Equations of motion Equations of motion
Second order polynomials Second order polynomials
Create a Coder or above level exercise for other students Create a Coder or above level exercise for other students
Works through lessons independently Works through lessons independently
Simple example interview questions Simple example interview questions
Can make meaningful modifications to example projects or lessons Can make meaningful modifications to example projects or lessons
Website with programming portfolio (github pages) Website with programming portfolio (github pages)
Uses debugging techniques (such as using console.log or running test programs) Uses debugging techniques (such as using console.log or running test programs)
Works outside of classtime (More than one day a week) Works outside of classtime (More than one day a week)
Can read external reference materials Can read external reference materials
Student Portfolio with project Student Portfolio with project
A* pathfinding A* pathfinding
Read and follow directions Can read and follow directions
Asking Good Questions Ask a good question on Stack Overflow
Vector addition and subtraction Understanding of vector addition and subtraction
return statements Can use return statements in functions
Communication Can explain programming issues with proper vocabulary or diagrams
pseudocode Can translate appropriate pseudocode
Type Systems Statically vs dynamically typed programming
Callbacks Callbacks/higher order functions
Functional programming Rudimentary understanding of functional programming (map, reduce, apply, filter)
Gravity Can implement gravity
Git Single user git basics (pull, push, clone, commit, etc)
String algorithms can design and build simple algorithms (sorting, reverse string, fibonnaci, etc...)
Code formatting Correct use of indentation and reasonable use of whitespace in code
Basic Algebra Basic Algebra (first order polynomials, averages, sqrt, pow)
Vector math Vector math (arithmetic, cross/dot product)
Collision detection Collision detection (rectangle,circle,triangle, composite)
shape area and perimeter formulas Basic shape area and perimeter formulas (rectangles, circles, triangles)
RGB Colors Basic RGB color knowledge (Red, Green, Blue, White, Black, Purple, Yellow)
Right triangles Can solve right triangles (Find missing angles and sides)
DRY Code Write skill-level-appropriate efficient code (use of loops, functions, "do not repeat yourself")
Spherical coordinates Spherical coordinates
Code Scope Local vs Global Scoping
Coding Conventions Codes neatly according to a reasonable convention (consistency and clarity are what's important)
Mouse and Keyboard input Mouse and Keyboard input (keyPressed, keyReleased, mousePressed, mouseReleased)
Sine Elementary understanding of sine. (Amplitude, period)
Programming syntax Proficient in programming syntax (can write in a variety of languages and look up new syntax when needed
Independent project Creation of independent project which demonstrates proficiency of concepts
programming competition Compete in a programming competition outside of code club (example: ludum dare)
Peer coding project Peer coding project (both contributing significant code to the project.)
Object Creation Understands how to create new objects in memory