In this lesson, students will discuss how computing is used. They will also set goals for this course and beyond.
Students will be able to:
In this lesson, students are introduced to Karel the Dog and how Karel can be given a set of instructions to perform a simple task.
Students will be able to:
move()
, putBall()
, takeBall()
and turnLeft()
.In this lesson, students build on their understanding of how Karel the Dog can be given a set of instructions to perform a simple task.
Students will be able to:
In this lesson, students will learn how to define and call a function using proper syntax.
Students will be able to:
In this lesson, functions will be used to teach Karel a new word or command. Using functions allows programs to be broken down into smaller pieces and makes it easier to understand.
Students will be able to:
In this lesson, students will learn the importance of writing readable code and how using the start function can help achieve this.
Students will be able to:
In this lesson, students learn top down design and decomposition as the processes of breaking big problems into smaller, manageable pieces. The functions improve the readability of the code and avoid repeated code.
Students will be able to:
In this lesson, students will learn how to utilize comments in their code to explain what their code is doing. Comments should include preconditions and postconditions. Preconditions are assumptions we make about what is true before a function is called in our program. Postconditions are what should be true after a function is called in our program.
Students will be able to:
In this lesson, students will learn about abstraction. Abstraction is the act of managing complexity by dissociating information and details in order to focus on relevant concepts.
Students will be able to:
In this lesson, students will be introduced to SuperKarel and APIs. SuperKarel includes commands like turnRight()
and turnAround()
since they are so commonly used. These commands come prepackaged with the SuperKarel library (API).
Students will be able to:
In this lesson, students learn how to use for loops in their programs. The for loop allows you to repeat a specific part of code a fixed number of times.
A for loops is written as follows:
for(var i = 0; i < 4; i++)
{
// Code to be repeated 4 times
}
Students will be able to:
In this lesson, students will learn about conditions and if statements. A condition is a function that returns a true/false answer. JavaScript uses if statements as a way to make decisions and execute specific code. If statements are helpful in writing code that can be used in different situations.
Students will be able to:
In this lesson, students will take a deeper look into conditional statements, more specifically if/else statements. If/else statements allow for one thing to be done if a condition is true, and something else otherwise.
We write if/else statements like this:
if(frontIsClear()) {
// code to execute if front is clear
} else {
// code to execute otherwise
}
Students will be able to:
In this lesson, students are introduced to a new type of loop: while loops. While loops allow Karel to repeat code while a certain condition is true. While loops allow for the creation of general solutions to problems that will work on multiple Karel worlds, rather than just one.
Students will be able to:
In this lesson, students take a look at all of the control structures. Control structures can be selective, like if and if / else statements and are based on a condition. Other control structures are iterative and allow for repeated code like for loops and while loops. Basically, control structures control the way the commands execute.
Students will be able to:
Debugging is a very important part of programming. In this lesson, students learn how to effectively debug their programs.
Students will be able to use debugging strategies to find and fix errors in their code.
In this lesson, students are introduced to algorithms which are step by step instructions that solve a problem. Programs implement algorithms. All algorithms are built using sequencing, selection, and iteration. Karel has control structures for each of these. This lesson is designed to test students? knowledge of control structures and algorithm design in preparation for upcoming Karel challenges.
Students will be able to:
In this lesson, students will learn the proper way to indent their code. Indentation is especially important when using multiple loops, functions, and if statements to show the structure of the code. Indentation provides a good visual approach to see which commands are inside vs. outside of a loop or if statement.
Students will be able to:
In this lesson, students are introduced to Ultra Karel! Ultra Karel has all the abilities of Super Karel, plus two new functions (paint
and isColor
) added to the API.
Students will explore the Ultra Karel API and use Ultra Karel’s ability to paint the grid world to create digital images. Students will create generalized algorithms that solve Ultra Karel problems for multiple worlds.
This lesson is the first time students will use functions that accept parameters as inputs.
Students will be able to:
In this lesson, students will synthesize all of the skills and concepts learned in the Karel unit to solve increasingly challenging Karel puzzles.
Students will be able to:
In this lesson, students complete a summative assessment of the unit’s learning objectives.
Students will be able to: