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 learn about the history of computers and how people have interacted with them over the decades.
Students will be able to:
In this lesson, students learn about different types of software, including operating systems and applications. They will also explore the process used to create an application.
Students will be able to:
In this lesson, students will learn about different computer components and how they impact a computer system. They will then apply this to troubleshooting common computer issues.
Students will be able to:
In this lesson, students learn about three methods computers use to process tasks — sequential, parallel, and distributed computing — as well as a few different searching algorithms.
Students will be able to:
In this lesson, students will learn what cloud computing is and compare and contrast it to physical computing.
Students will be able to:
In this lesson, students will learn about how the Internet of Things devices are all around us and how to manage privacy concerns related to these devices.
Students will be able to:
In this lesson, students will learn about ethical and legal considerations in computing and how these can create bias.
Students will be able to:
In this lesson, students will learn about where computing is going (including the impact of AI) and the roles that they can play in that future.
Students will be able to:
In this lesson, students will design a computer to meet the needs of the future and also review others’ designs to assess how well they will meet these future needs.
Students will be able to:
In this lesson, students will demonstrate what they learned in the unit be completing a summative exam.
Students will be able to:
In this lesson, students explore the value of simulations in science, learn their first JavaScript concepts, and start to build their gravity simulation.
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 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 understand how they can control and protect their footprint. As students use the Internet, they are building their digital footprint. This includes social media posts, emails, picture and video uploads amongst other online activity.
Students will be able to:
In this lesson, students will learn about and discuss cyberbullying. Cyberbullying is the use of electronic communication to harass or target someone. Cyberbullying includes sending, posting, or sharing negative, harmful, false, or mean content about someone else.
Students will be able to:
In this lesson, students will learn to recognize online predatory behavior and strategies on how to avoid and respond to it. The Internet is a great place to socialize, but it is important to be aware of risks. Common sense and following safety guidelines can help students stay safe online.
Students will be able to:
In this lesson, students will discuss and examine policies regarding privacy and security. Using best practices like setting strong passwords, reading privacy policies, and using https can help in staying safe online.
Students will be able to:
In this lesson, students will learn about and discuss information literacy. Information literacy is having the ability to find information, evaluate information credibility, and use information effectively.
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.
Students will be able to:
In this lesson, students will explore and discuss the ethics and legality around hacking. A security hacker is someone who seeks to break through defenses and exploit weaknesses in a computer system or network. There are white hat hackers, who help companies find and protect exploits in their systems, and black hat hackers who hack maliciously.
Students will be able to:
Now that students have learned about digital citizenship and cyber hygiene, they will take what they have learned and create a PSA to inform members in the community about a topic!
Students will be able to:
In this lesson, students complete a summative assessment of the unit’s learning objectives.
Students will be able to:
How do computers store and manipulate information? In this lesson, students learn how computers abstract complicated information into manageable chunks that they can then store and manipulate.
Students will be able to:
In this lesson, students will learn what a number system is, the difference between the decimal number system and the binary number system, and how to convert between decimal and binary.
Students will be able to:
In this lesson, students will learn what a number system is, the difference between the decimal number system and the binary number system, and how to convert between decimal and binary.
Students will be able to :
In this lesson, students will learn how computers break down images into concrete values that can be stored. Students will learn how images are represented digitally using pixels.
Students will be able to:
In this lesson, students will learn about the hexadecimal number system, and how it is useful in storing digital information. They will also learn how to convert numbers from the hexadecimal system to binary and vice versa.
Students will be able to:
In this lesson, students will learn how the RGB encoding scheme allows us to encode colors as numeric data. It defines the amount of red, green and blue light in a pixel.
Students will be able to:
In this lesson, students will learn how to include images in their programs and manipulate their pixels using WebImage. Students will learn how image filters manipulate stored pixel data.
Students will be able to: