In this lesson, students will be introduced to Karel the dog and commands Karel uses to navigate and interact with Karel’s world. This introductory lesson can be used as a review of concepts introduced in Karel Adventures modules.
Students will be able to:
In this lesson, students learn more about Karel and Karel’s world. Students learn about walls/shelves in Karel’s world, the directions Karel can face, and how to identify a location in Karel’s world using rows and columns. Students will also begin solving more difficult Karel problems and situations.
Students will be able to…
In this lesson, students will learn how they can create their own commands for Karel by calling and defining functions. Functions allow programmers to create and reuse new commands that make code more readable and scalable.
Students will be able to:
In this lesson, students learn in more detail about functions and how to use functions to break down their programs into smaller pieces. Students will also learn about using the main function and commenting code to make it easier to understand.
Students will be able to:
In this lesson, students learn how to use for loops in their programs. The for loop allows students to repeat a specific part of code a fixed number of times.
For loops are written like this:
for(let i = 0; i < 4; i++)
{
// Code to be repeated 4 times
}
Students will be able to:
In this lesson, students learn about the conditional statement “if”. Code within an “if statement” will only execute IF the condition is true.
if (frontIsClear()) {
// Code to be executed only if front is clear
}
Students will be able to:
In this lesson, students learn about an additional control structure, if/else statements. If/else statements let students do one thing if a condition is true, and something else otherwise.
if/else statements are written 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 a new type of loop: while loops. While loops allow Karel to repeat code while a certain condition is true. While loops allow students to create general solutions to problems that will work on multiple Karel worlds, rather than just one.
Students will be able to:
In this lesson, students will synthesize all of the skills and concepts learned in the Karel module to solve increasingly challenging Karel puzzles.
Students will be able to:
In this lesson, students review the module’s content with a 15 question Unit Quiz.
Students will be able to:
In this lesson, students will be introduced to the basic concepts and components of the internet, including its history and the meaning of protocols. Students will discuss internet innovations and reflect on how the internet is used in their everyday lives.
Students will be able to:
In this lesson, students will explore the importance of protocols and relate how they use them in their lives.
Students will be able to:
In this lesson, students are presented with different ways that the Internet impacts their lives. The Internet affects the way that people communicate (emails, social media, video chat) and collaborate to solve problems.
Students will be able to:
In this lesson, students will learn what is meant by cybersecurity and explore a few news worthy cyber attacks. They will also discuss the Internet of Things and the increase in connected devices.
Cybersecurity is the protection of computer systems, networks, and data from digital attacks. Increased connectivity via the Internet of Things and reliance on computer devices to send and store data makes users more vulnerable to cyber attacks.
Students will be able to:
In this lesson, students will learn about The CIA Triad. The CIA Triad is a widely-accepted security measure that should be guaranteed in every secure system. It stands for Confidentiality, Integrity, and Availability.
Students will be able to:
In this lesson, students will learn how basic encryption and decryption works. There is a need for secrecy when sending and receiving personal information. Encryption and decryption are used to protect personal information.
Students will be able to:
In this project, students will learn about steganography and how it is used to encrypt data. Students will develop their own encryption algorithm to hide a message in an image by manipulating the hexadecimal color codes of an image.
Students will be able to:
In this lesson, students complete a summative assessment of the module’s learning objectives.
In this lesson, students will be introduced to HTML: the language for building web pages. Students will discover why HTML is important and how it works in order to start building their own web pages.
Students will be able to:
In this lesson student upgrade from simple tags to full HTML documents. Students learn some new tags that let them put information in different places on the web page, and they learn about the nested tree structure of an HTML document.
Students will be able to:
In this lesson, students learn about formatting tags that let them modify the appearance of text and make their web pages look clear and aesthetically pleasing.
Students will be able to:
In this lesson, students learn how to add hyperlinks to their web pages using the <a>
tag.
Students will be able to:
In this lesson, students learn how to add images to their own web pages using the <img>
tag.
Students will be able to:
In this lesson, students learn how to add lists to their web pages and practice making different kinds of lists.
Students will be able to:
In this lesson, students will use HTML styling to make their pages visually appealing and unique.
Students will be able to:
In this lesson, students will be introduced to CSS to add styling to their HTML pages.
Students will be able to:
In this lesson, students will complete their homepage by adding style and any other content they may want to include.
Students will be able to:
In this lesson, students complete a summative assessment of the unit’s learning objectives.
Students will be able to:
In this lesson, students learn how to create a canvas inside of the setup()
function and learn its coordinate system. Students will also learn how to draw basic shapes in the draw()
function loop.
Students will be able to:
setup()
and draw()
createCanvas()
ellipse
, rect
, line
)In this lesson, students customize the background color, fill color, and stoke color using string, greyscale, and RGB color values. Using their own and provided color palettes, students add color to provided p5.js sketches.
Students will be able to:
background()
fill()
, noFill()
, stroke()
, noStroke()
triangle
, quad
, arc
, beginShape
, endShape
)In this lesson, students learn to use variables to store information used to position and color p5.js sketches. Students use system variables width
and height
as parameters to dynamically position shapes relative to the dimensions of the canvas.
Students will be able to:
width
and height
, to position shapesThis lesson introduces students to the world of animation. Students explore the history of animation and learn how to set the frame rate to adjust the speed of an animated p5.js sketch.
Students will be able to:
frameRate()
function to change the speed of animated sketchesframeCount
system variable to draw shapes dynamicallyIn this lesson, students create a color transition animation. Using variables, students set the initial color state, then gradually add and remove red, green, and blue values of a color, creating an animated color gradient.
Students will be able to:
This lesson introduces students to three shape transformations — translation, rotation, and scale. Students create static and animated shape transformations in p5.js using the translate()
, rotate()
, and scale()
functions.
Students will be able to:
translate()
functionrotate()
functionscale()
functionIn this lesson, students practice dynamically setting the x and y coordinates for shapes and incrementing and decrementing such values in order to move figures in different directions. Students animate horizontal, vertical, and diagonal motion in their p5.js sketches.
Students will be able to:
This lesson teaches students how to develop interactive sketches that respond to user input from the mouse, including mouse movement and mouse clicks.
Students will be able to:
mouseX
system variable to keep track of the current horizontal position of the cursormouseY
system variable to keep track of the current vertical position of the cursormouseButton
system variable to check whether the mouse is left, right, or center clickedThis lesson teaches students how to develop interactive sketches that respond to user input from the keyboard. Students also explore how key codes are used to represent physical keys on the keyboard and use them in their sketches.
Students will be able to:
keyIsPressed
system variable to create interactive p5.js sketches that respond to any pressed keykeyIsDown()
function to create interactive p5.js sketches that respond to a specific key being pressedIn this project, students create a sketch of their own emoji. An emoji is a small icon used to represent an emotion, symbol, or object. These icons help us express ourselves better and more imaginatively. Students complete a project proposal to plan their sketch and then use drawing and color functions they have learned so far to create it using p5.js.
Students will be able to:
In this lesson, students begin to reflect on the variety of games they have played and what actually makes a game a game.
Students will be able to:
In this lesson, students explore and learn to identify game elements, mechanics, and components that make up the overall gameplay experience.
Students will be able to:
In this lesson, students explore game genres and perspectives that are used to categorize different types of video games.
Students will be able to:
In this lesson, students will learn about JavaScript, how to print messages to the console, and about debugging programs.
Students will be able to:
main
functionIn this lesson, students learn how to assign values to variables, manipulate those variable values, and use them in program statements. This is the introductory lesson into how data can be stored in variables.
Students will be able to:
In this lesson, students learn about the p5play library and see examples of what can be created with it.
Students will be able to:
In this lesson, students will learn about the two main functions in a p5play program, setup() and draw().
Students will be able to:
In this lesson, students will learn more about the p5play canvas, including how to set one up and navigate its X-Y coordinate system.
Students will be able to:
In this lesson, students will learn about p5play sprites and how to control their appearance with properties like size, position, and color.
Students will be able to:
In this lesson, students will learn about more sprite properties and how they relate to p5play’s built-in physics engine.
Students will be able to:
In this lesson, students are introduced to the concept of data and its applications. Students will learn about different types of data, how data is collected and used in technology, and the importance of data privacy.
Students will be able to:
In this lesson, students are introduced to the basic operations and features of spreadsheets. Through a hands-on activity, students will explore how to use spreadsheets to organize and analyze data. They will learn about concepts such as rows, columns, cells, ranges, operations, and functions.
Students will be able to:
In this lesson, students will learn how to sort and filter a spreadsheet.
Students will be able to:
In this lesson, students learn how to apply statistical measures (mean, median, and mode) to a dataset in order to gain insights.
Students will be able to:
In this lesson, students will learn how to create visualizations based on Google Sheets data.
Students will be able to:
In this lesson, students are introduced to the concept of models in data analysis. Students will explore how models can simplify complex data, identify patterns, and make predictions. This lesson emphasizes the importance of critical thinking and understanding the limitations of models.
Students will be able to:
In this lesson, students launch their data storytelling project! They will explore how to identify questions that can be answered with data, brainstorm their research topic, and consider the types of information they’ll need.
Students will be able to:
In this lesson, students will learn how to use data to support and add to a story. The data story will combine visuals with a compelling narrative to help audiences understand the importance of the data being explained. Students will work on collecting and analyzing data. They will also create a visualization using a spreadsheet program or a data visualization platform of their choice.
Students will be able to:
In this lesson, students will learn how to use their data to support and add to a story. The data story will combine visuals with a compelling narrative to help audiences understand the importance of the data being explained.
Students will be able to:
In this lesson, students complete a summative assessment of the module’s learning objectives.
In this lesson, students will explore how aesthetic design, multimedia, and the CARP principles (Contrast, Alignment, Repetition, and Proximity) influence the look, feel, and usability of websites. Students will analyze both effective and ineffective website designs. By the end of the lesson, students will be equipped with foundational principles to enhance their own web design projects.
Students will be able to:
In this lesson, students will explore fundamental design principles such as contrast, alignment, repetition, and proximity by analyzing examples and applying CSS properties to improve web page aesthetics and accessibility.
Students will be able to:
In this lesson, students will learn what copyright laws are and how to avoid copyright infringement. They will explore why copyright laws are important and how they protect the creators. They will practice finding and citing online images.
Students will be able to:
In this lesson, students will learn why multi-file websites are important and how they can create them.
Students will be able to:
In this lesson, students will kick off their project by understanding the project goals, brainstorming, and outlining key content for their web pages. They will also learn about and design a clear, functional sitemap and practice peer review by exchanging feedback on their designs.
Students will be able to:
In this lesson, students will learn about wireframing as a critical step in web design. They will practice creating wireframes for existing websites or apps and then design their own wireframe for their project.
Students will be able to:
In this lesson, students will draft and review their websites, ensuring they meet project requirements while refining their HTML and CSS code. They will complete self-reviews, check for coding errors, and participate in peer testing to get feedback on their websites. The lesson emphasizes revision and improvement, encouraging students to finalize their websites for submission.
Students will be able to:
In this lesson, students complete a summative assessment of the unit’s learning objectives.
Students will be able to:
Sign up for a free teacher account to get access to curriculum, teacher tools and teacher resources.
Teacher SignupSign up as a student if you are in a school and have a class code given to you by your teacher.
Student Signup