Coding Essentials with KTBlocks

[CORE 2a]

Full Course

$1010 USD
Before any discounts or coupons
for 18 hours and additional live student help hours

Class Description:

[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.

Prerequisites:

[CORE 1a] / [CORE 1b], moderate experience in Scratch or similar environments, 5th grade math proficiency or permission of instructor.

Related Classes

Syllabus

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.

Treasure Hunter

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.

Reaction Game

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.

Pong

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!

Whack-A-Mole

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.

ArrayLists

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.

Maze Game

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!

Projects

Students choose web games to analyze and break down into their component parts.

Projects Continued

Worked on projects during class