Our Proprietary In-Browser Coding Platform.
[CORE 2a] teaches students computer science through block-based programming as they improve typing. Through the KTBlocks platform, student may choose between learning Java, Python or C++. After 6 months - 1 year of our course progression students will be coding at a high school level, and usually reach college level after 2-3 years. This course consists of 18 class sessions including a final project. Although students receive graded homework, most don't to attend our our student help hours for help.
[CORE 1a] / [CORE 1b], moderate experience in Scratch or similar environments, 5th grade math proficiency or permission of instructor.
These are examples of projects that students create as they grow their skills in [CORE 2a]
Introduction to JavaBlocks
This is the introductory lesson for Fun 2. In this lesson we will be introducing the way Javablocks works. We will be creating a canvas, giving it a background color, and then modifying the color through the "Draw" function. We will also be adding shapes, images, and doing some basic motion.<br> <strong>Please complete the "In Class" Pset for MakeUp</strong>
Shapes and Variables
In this lesson, we will be reviewing how to draw shapes with different colors. Afterwards, we will introduce the idea of variables and how they can be used to create an art program.
Sprite Variables; Cookie Catcher
In this lesson, we will learn about Sprite variables, and will be making a simple catching game. We will have a "cookie" falling from the top of the page to the bottom. We will also have a "basket" at the bottom of the page which will catch the cookie and earn us points.
In this lesson, we look at how we can use more advanced conditional statements to add more options to our programs. Specifically, we will create a treasure hunter game that uses a Sprite button and timer. Students will learn to build timers that either count up or count down and start on a button press.
Slideshow (With Functions)
A function is a way to compartmentalize and re-organize our code. We can create special blocks of code, name them, then "call" them in the main body of our program. In this class, we replace our normal "draw" function with several calls to other smaller functions which act as individual "draw" functions. In this way, we can draw different pages depending on what "slide" we're on.
In this class, we will look at functions again, and use them to create a reaction time game! Students will have to utilize functions, frameCount, and random() functions to create a cheat-proof reaction time game. This program will borrow elements from the Stop Watch (CW 4) and Slideshow (CW 5) programs, so students may want to review those problem sets as additional homework.
In this class, we endeavor to build the classic game - PONG!
Pong pt.2, AI Opponent
In this lesson, we continue with our Pong project by finishing up the ball's behaviour, then adding an AI opponent to the game. Students will be surprised at how difficult it is to create an AI that is good enough to actually play the game, but not so perfect as remove any chance of beating it. It is easy to make a perfect AI, it is hard to program mistakes!
In this lesson, we will be creating a timing and accuracy based game modeled after the classic fair game: Whack-A-Mole.
Bebras Challenge Day
Today, we will be participating in the global computation challenge known as the "Bebras Challenge". Students will be tasked with solving computation problems at various skill levels. For every tier that a student completes, they will receive a certificate stating their completion of the challenge.
Sound Cipher Project
We are now able to implement sounds into our projects. Students will make use of the "Sound Cipher" blocks to create a mini piano and play some simple songs.
This week, we will introduce the students to the ArrayList, and how to add objects to it. We will create an ArrayList of sprites, then add a Sprite to it every time we click at our mouse's location. Time permitting, we can add effects like adjusting the size of the image we stamp with length of click or with key presses.
This week, we will be building a maze using sprites, arrays lists, and loops. The students will create an ArrayList of sprites called Walls, and we will check if the player Sprite is touching any of the walls. We will also include doors, moving objects, and goals!
Students choose web games to analyze and break down into their component parts.
Worked on projects during class