Our Mission

Our mission is to provide opportunities for all kids to learn to code.

What Do We Teach?

We primarily teach our students how to code in Processing and Scratch.

Processing is a programming language that serves as a great gateway for becoming a coder. Its syntax is simpler than a language like Java's, but it is able to introduce students to some of the most important concepts in coding like conditionals and loops. The language also has great graphics capabilities and is easy to draw with.

Scratch is a simpler programming language that was designed for people of all ages and levels of programming experience to use. Projects are created by arranging blocks of code into easily-understood lists of instructions. The simplicity of the language's visual interface allows kids to understand fundamental programming concepts and methodologies on a more abstract level without having to worry about convoluted syntax and error messages, which are commonplace in many other programming languages.

Scratch Unit 1: Introduction to Scratch

This unit familiarizes students with the program. They learn how to navigate the user interface and use basic code blocks.

Similar to processing, Scratch's (x, y) coordinate plane introduces allows students to be introduced to important mathematical concepts in a straightforward and engaging way.





Scratch Unit 2: Platformer

This unit gives students a broad overview of all of the things that can be done in Scratch. They learn how to move sprites based on input, perform collision detection using color sensing, use loops to continually perform certain instructions, and much more. Students are encouraged to be creative and are given individual feedback every step of the way.

The game was also designed to be easily exploitable, giving students the oppurtunity to "hack" their own games and tinker with the game's fundamental mechanisms, furthering their understanding of the code.





Scratch Unit 3: Friday Night Funkin'

In this unit, students will further develop skills they learned in unit 2 and learn how to make their own code blocks. After creating their blocks, they will be able to come up with their own dance routines and challenge others to beat their highscore.





Scratch Unit 4: Flappy Bird

In this unit, students will learn how to create clones and spawn sprites at random time intervals by means of an RNG (random number generator). They will also learn how to make the game progressively harder.

Similar to unit 2, students are encouraged to "hack" the game, using their knowledge of variables in order to exploit certain game mechanics.





Scratch Unit 5: Watermelon Starfighter Assault

In their penultimate unit, students will put together all that they know. The code involves spawning multiple clones using loops, dynamic health bar animations, special abilities, and a more complex score system. Lessons learned from this unit will be especially helpful in their final projects.





Scratch Unit 6: Final Projects

In their final unit, students do as they choose. Instructors will provide students with feedback and suggestions, helping them realize their artistic visions. Students are unrestricted in their project type and can create games, interactive stories, math tools, beat-making programs, and more!





Other Scratch Projects

The flexibility of our Scratch curriculum allows students to choose what they want to learn. Instructors are happy to take student suggestions and will modify lesson plans based on student requests. Pictured below are some of the projects that have been added to the curriculum in previous years.

Beat-Maker

Jetpack Joyride

Megaman

Laser Tag

Processing Unit 1: Graphics

Our curriculum starts by introducing students to a fun part of coding, using graphics. Students learn how to draw various shapes on the coordinate plane. They are also introduced to color and RGB (red, green, blue) values. This unit is comprised of labs followed by a project at the end of the unit in which students use their new skills to draw a face; they are encouraged to be creative.

This unit is not only helpful for computer science education. It also introduces students to an important mathematical concept, the coordinate plane, and familiarizes them with plotting points of the form (x, y).





Processing Unit 2: Interaction and Basic Variables

We then teach students to make their code interactive. This is taught by teaching students to make shapes follow the mouse. We then introduce students to variables and variable types like int, float, char, string, and more.

In addition to helping kids get familiar with variables and their computational uses, it also helps with math once again. Variables are an integral part of algebra and this helps build students' understanding of how a letter, combinations of letters, or a symbol can represent numerical values.

Processing Unit 3: Conditionals

This unit teaches students about logic in computer science. They learn to use if, else if, and else statements. A lab that is done is making an ellipse bounce back and forth across the screen. A large project that is done is making tic tac toe. Yes! With what they will have learned at this point, they can make their own tic tac toe game.

In addition to helping kids get familiar with variables and their computational uses, it also helps with math once again. Variables are an integral part of algebra and this helps build students' understanding of how a letter, combinations of letters, or a symbol can represent numerical values.





Processing Unit 4: Loops

This unit teaches students about loops in computer science. They learn to use while and for loops and the logic behind repeated computing. On the right is our ghost lab.





Processing Unit 5: Final Projects

Project: Make an actual calculator
Project: Make a game of Rock Paper Scissors against a cpu with random moves
Project: Tic Tac Toe
Project: Make your own game