Our Proprietary In-Browser Coding Platform.
[CORE 4b] teaches computer science through Java in a lecture format, including notes on new concepts and demo projects. Students practice their skills in graded problem sets and many find it beneficial to attend homework help sessions to cement their skills. After this class most students are ready for our college-paced coursework.
[CORE 4a] or permission of instructor.
Shapes & coordinates, Game Screens
Students begin by reviewing computer science principles that they may have learned in previous classes, such variables and data types. The lesson also covers conditionals, which allow programs to execute different branches of code depending on conditions that a programmer defines. Students finish by creating a demo involving the concept of program state.
Physics & Timers (Variables & If statements)
In this class, students learn about Sprites, which are graphical objects that can be manipulated and displayed on the screen. Students also learn how to make Sprites move across the screen to simulate bouncing, thrusting, and gravitational pull. These skills will come in handy when students begin working on their final projects.
Transformations (functions)
In this class, students learn about transformations in Processing. Using transformations, students can make things move, spin, grow, and shrink by moving the entire coordinate system.
Buttons (classes)
In this class, students are re-introduced to Object-Oriented Programming via classes, which allow for programmers to create their own data types. Students learn about common components of a class including properties, methods, and constructors. We'll wrap up with how ot create your own classes and a button demo.
Physics (loops)
Students begin by reviewing different types of loops, such as for loops and while loops. Students then learn about more advanced applications of loops such as traversing through arrays and automating repetitive tasks. Practice problems are given to ensure that students fully understand these concepts. This lesson includes an interactive Angry Birds demo that applies all skill learned from Lessons 1 through 5.
Arrays
In this lesson, students begin with a quick review of 1-dimensional arrays, which are data structures that store elements of the same type in a single contiguous memory block. They will further practice traversing through arrays using for loops. Students apply their learnings to building a typing game.
2D Arrays
In this class, students learn about 2-dimensional arrays, which store data in a grid formation with rows and columns. Students also pick up important skills such as creating and looping through 2-dimensional arrays. To test their understanding students implement the game Battleship, a classic game involving grids of ships that opponents try to find and destroy.
Project - Grid World
In this lesson, students are introduced to Grid World, a game that resembles 2-dimensional Minecraft. The instructor will go over requirements in Grid World that students will implement, such as moving the character in all 4 directions, creating terrain that the character interacts with, and establishing an end goal for the character. Instead of a demo, students use the last part of the lesson to begin programming their Grid World projects.
Project Workshop
Students use this lesson to continue their implementations of Grid World. The instructor will check in with each student about their progress as well as any issues they are stuck on. Students should plan to finish Grid World before the next lesson.
Color Tinting (loops)
In this lesson, students review arrays and loops. It is important that students solidify their understanding of both concepts because they will frequently use both arrays and loops in higher-level computer science courses. This lesson includes a creative pop art demo that uses students’ learnings from the previous ten weeks.
Sprite class (classes & functions)
In this lesson, students explore classes in more depth. Specifically, students will learn more about the Sprite class, including the variety of methods that one can use to manipulate Sprite objects. Instead of a demo, students finish by creating their own applications involving classes.
ArrayList
In this lesson, students learn about the ArrayList class, which can be thought of as a resizable version of arrays. Students will be introduced to methods in the ArrayList class such as add() and get(), and they will do practice problems involving ArrayList objects (for example taking the sum or average of the elements in an ArrayList).
Project Proposal and Review
Students begin by discussing ideas for a final project. Students will also fill out a Project Proposal that outlines their plans and visions for their own projects. The instructor will also review some demos from the previous twelve weeks and give students the opportunity to suggest additional features for the demos.
Final Project
These final weeks are devoted to helping students develop their final projects. Students will share ideas with each other as well as make plans for each stage of their projects. The instructor will also go around, helping students debug any issues that they may be running into. During the last class, students will have the opportunity to share their final projects with their classmates!
Final Project