Python Level 3
Python Level 3, while still part of the Fundamentals classes, it is a step up above Python Level 2. Students who are entering Python Level 3 should be familiar with some basic CS syntactical concepts and have a minimum typing speed of 20-30 wpm. In this class, they will use typed out Python that allows students to write and run code in our IDE, and learn additional concepts (functions, variables, loops, and lists). Students will balance learning Python concepts with typing and mastering actual low level Python syntax.
Prerequisites:Age 11+ and at least 20wpm typing speed, or permission of instructor
Introduction to Variables
This is the introductory lesson for Python Level 3. It is expected that at this point, our students will have some passing familiarity with programming, at least through a block based UI like Scratch or PyBlocks. In this lesson we will be introducing the way Processing works, and create some strong links between it and other types of coding. We will create a canvas, give it a background color, and modify the color through the "draw" function.
A Boolean always resolves to eiter a True or False value. It can be a math equation, or a comparison, but it has to have only one of two possible results. A simple example of a Boolean that returns "true" would be "2 + 2 == 4". This is a statement that always returns true because 2 and 2 always results in 4. We will be using Booleans and mouse clicks to change the color of our screen and build our own slideshow!
Making Buttons, Simon Says
In this lesson, we will be making a button, and defining its action. To do this we'll have to to have to create it both physically and behavior-wise. While the first part is trivial, the defining button behavior can be tricky. Once we've got the hang of buttons, we'll use them to build a Simon Says game!
Functions and Fish Tank
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 code. In this class, we replace our normal "draw" function with several calls to other smaller functions which act as individual "draw" functions. We can use a single funciton to call many smaller commands, and draw complex shapes. Today, we will be creating a fish tank with fish, seaweed, and bubbles!
More Functions and Archery
Today, we will continue learning more about functions. We will explore writing and using functions with inputs, and make a project that involves shooting arrows at a target.
In this class, we begin the task of making the classic video game: PONG!
Now that we've built the rough outline of Pong, its time to start filling it in and adding some polish. We will add a reset function, a score, some cosmetic details, and even a game over screen.
Pong with AI
Now that we have our game of Pong working, lets see how we can program a computer AI to be our opponent. We'll see how programming a perfect AI actually isn't too difficult, but telling it to make mistakes can be challenging.
Students will be learning about how to create, populate, and utilize lists.
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.
While Loops Art Generator
This week, we will be looking at the most basic of loops, the “While” loop. To demonstrate how much time and effort we can save by using this loop, we are going to create a neat art project that uses the loop to draw patterns on the screen!
For Loops and Fibonacci Numbers
This week, we will be learning how to make a "for loop" to allow us to count, repeat, and iterate on code. We will first learn how to use the loop to count, then to generate a list of Fibonacci numbers. Finally, we'll see a way to draw these numbers on the screen and how they relate to the Golden Ratio!
Now that we learned a bit about for loops, lets use them to make a project where we simulate rain falling. We'll use lists to keep track of the position of droplets and make it so we can add more rain drops as simply as changing one value.
Students choose web games to analyze and break down into their component parts.
Work on your projects during class.
Worked on projects during class
* Office Hours Included. See time on the bottom of website.
** Instructors currently scheduled are not guaranteed and could change at KTBYTE's discretion