Please enable JavaScript to use CodeHS

Oklahoma Computer Science 6-7

Description

In this lesson, students are introduced to coding with turtle graphics. Students will begin to recognize programs as sequences and groups of commands. Students will learn a few basic commands and then apply them right away by writing their first program.

Objective

Students will be able to:

  • Define programming/coding
  • Use basic Tracy commands
  • Write their first program
Description

In this lesson, students will be introduced to the layout of Tracy’s grid world and will learn how to use coordinate pairs to locate Tracy on the coordinate plane. They will add to the list of commands they know and can use to create Tracy graphics.

Objective

Students will be able to:

  • Locate Tracy on the coordinate plane
  • Use the penup(), pendown(), and backward() commands in their programs
Description

In this short lesson, students will be introduced to the idea of checking their own programs. They will gain insight on how autograders should be used and what other ways they can be sure they have successfully completed a program before moving on.

Objective

Students will be able to:

  • utilize different methods of checking their programs
  • understand the limitations of autograders
Description

In this lesson, students will learn how to use the left and right commands in order to move Tracy to more locations on the canvas. They will now have many commands that can be used to have Tracy create more complex graphics.

Objective

Students will be able to:

  • Use the left and right commands in order to move Tracy around her grid world
Description

In this lesson, students are introduced to for loops. They learn how for loops simplify the process of making small changes to a program and help avoid repeating code. For loops are written like this:

for i in range (4):
    // Code to be repeated 4 times
Objective

Students will be able to:

  • Create for loops to repeat code a fixed number of times
  • Explain when a for loop would be a useful tool
  • Utilize for loops to write programs that would be difficult / impossible without loops
Description

In this lesson, students are introduced to the ability to turn Tracy at any angle. With this feature, Tracy can now draw diagonal lines which opens up the possibility to draw multiple shapes that weren’t previously available.

Objective

Students will be able to:

  • Use angles inside turning commands
  • Turn Tracy at angles in conjunction with for loops
Description

In this lesson, students learn how to use comments to describe their programs. Comments are helpful because they allow programmers to leave notes about the programs they are writing. Students will also learn about the different types of comments that can be used and the benefits of using them.

Objective

Students will be able to:

  • Use comments throughout their program
  • Describe why comments are helpful for both themselves and anyone else looking at their code
Description

In this short lesson, students will be introduced to the rules for naming elements in their code. Variables and functions that are used inside their programs will be named by students, so the following guidelines should be obeyed to be sure that the programs written are readable and successful.

Objective

Students will be able to:

  • Name elements of their code by following specific guidelines and rules in order to create readable and working programs
Description

In this lesson, students are introduced to functions. They start with the basics of defining a function and why we need them and will revisit a program they coded earlier in the unit to rewrite it using functions.

Objective

Students will be able to:

  • Define a function
  • Call a function
  • Explain why functions are used
Description

In this lesson, students are able to add some flair to their turtle graphics programs by controlling color, pensize, and fill. These new commands are added to the list of commands that have been already practiced in order to allow for more creativity in student programs.

Objective

Students will be able to:

  • Use the extended circle() command to draw different shapes
  • Use the color(), pensize(), begin_fill(), and end_fill() commands to add more creativity to their programs
Description

In this lesson, students are introduced to the concept of Top Down Design. Top Down Design is the process of breaking down a program into functions or smaller parts to avoid repeated code and to make our programs more readable.

Objective

Students will be able to:

  • Break a large problem down into smaller pieces
  • Write functions to solve each smaller problem
  • Solve a complicated problem using Top Down Design
Description

In this lesson, students will learn about a fundamental aspect of every programming language: Variables. A variable is something that stores information in a program that can be used later.

Objective

Students will be able to:

  • Describe what variables are
  • Discuss why variables are used in our programs
Description

In this lesson, students will learn how to incorporate user input into their programs. Students will learn how to request user input as both strings and integers, where the input is stored, and how to convert strings and integers.

Objective

Students will be able to:

  • Incorporate user input into their code in order to customize their programs
Description

In this lesson, students will dive deeper into the concept of functions by exploring how to use parameters to customize their code.

Objective

Students will be able to:

  • Incorporate parameters into their functions in order to adapt their functions to multiple situations
Description

In this lesson, students will expand their knowledge of for loops. They are aware that for loops execute the same lines of code a given number of times but will learn that i is actually a variable that can be used to control commands inside the loop as it is running.

Objective

Students will be able to:

  • Use i as a variable inside their for loop to control different commands
Description

In this lesson, students will learn the extended parameters that can be used to control the value of i in for loops. They will then be able to use the variable i to control much more of their code by setting specific values.

Objective

Students will be able to:

  • Control the value of i using extended parameters
Description

In this lesson, students will learn how to use If Statements which will allow them to use conditions to determine how their code should run.

Objective

Students will be able to:

  • Use if statements in order to tell Tracy how to make decisions
Description

In this lesson, students will learn how to expand on If Statements by including a way to have Tracy make decisions between multiple scenarios.

Objective

Students will be able to:

  • Use if/else statements in order to have Tracy make decisions between multiple scenarios
Description

In this lesson, students will learn that while loops allow code to be executed repeatedly based on a condition. They will also be warned that infinite loops are created if the exit condition of the while loop is never met, causing the code inside the while loop to repeat continuously which causes the program to crash.

Objective

Students will be able to:

  • Effectively use while loops in their programs
  • Identify infinite loops
Description

In this lesson, students will put together all the concepts they’ve learned thus far. They will be able to use top down design and to write programs that will solve complex problems.

Objective

Students will be able to:

  • Identify the different control structures we can use to modify the flow of control through a program
  • Combine control structures to solve complicated problems
  • Choose the proper control structure for a given problem
Description

In this lesson, students learn about game mechanics and the importance of collecting user data to refine a game’s mechanics. Students go through the data collection and analysis process as they add game mechanics to their Guess a Number 2.0 program.

Objective

Students will be able to:

  • Define game mechanics
  • Collect and analyze data to determine the effectiveness of a game’s mechanics
  • Combine control structures to solve complex problems
  • Choose the proper control structure for a given problem
Description

In this lesson, students learn about the importance of planning when writing complex programs. Students learn that natural language and pseudocode are essential tools that help break down a problem.

Objective

Students will be able to:

  • Explain the role of natural language and pseudocode in writing complex programs
  • Explain how adding comments makes a program clearer and more readable
Description

In this lesson, students will be introduced to the concept of code reuse and modification by remixing a program created by another student. They will learn about attribution and the importance of giving credit to the original creators of code. Students will also explore the CodeHS library to find new functionalities to enhance their remixed programs.

Objective

Students will be able to:

  • Understand the concept of code reuse and remixing
  • Identify and give attribution to the original creator of code
  • Navigate the CodeHS documentation and library to find new functions
Description

In this lesson, students review content with a 25 question End-of-Unit Quiz.

Objective

Students will be able to:

  • Prove their knowledge of control structures and coding concepts through a multiple choice quiz
Description

In this lesson, students will learn about the history of computers and how people have interacted with them over the decades.

Objective

Students will be able to:

  • Describe the evolution of computers and how people have interacted with them.
  • Analyze the impact of computers on everyday life.
Description

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.

Objective

Students will be able to:

  • Explain the differences between operating systems and applications.
  • Describe the development process for creating an application.
Description

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.

Objective

Students will be able to:

  • Identify the different hardware components of a computer system and explain their function.
  • Analyze and troubleshoot common computer issues.
Description

In this lesson, students are introduced to a systematic troubleshooting methodology through simulated IT support scenarios. Students will learn to identify problems, research solutions, test theories, and document the resolution process. By the end of the lesson, students will have applied this methodology to solve multiple IT issues.

Objective

Students will be able to:

  • Identify and articulate the steps involved in the troubleshooting process
  • Effectively communicate technical issues and solutions in a clear and concise manner
  • Develop and test hypotheses to resolve IT issues
  • Document the troubleshooting process and its outcome in a professional manner
Description

In this lesson, students will explore how computers use the binary number system to store and communicate information. Through hands-on activities, they will learn how sequences of 0s and 1s represent data in a computer, understanding the fundamental concept of binary code. This foundational knowledge will enable students to grasp how computers interpret complex information and the importance of secure data encoding in cybersecurity.

Objective

Students will be able to:

  • Explain the significance of binary in computer communication
  • Encode and decode messages using binary representation
  • Understand the role of transistors in storing and processing binary information
Description

In this lesson, students will learn how to convert between binary and decimal numbers, understand binary place values, and apply these concepts to encode and decode messages using ASCII.

Objective

Students will be able to:

  • Explain how text can be represented using a sequence of 0s and 1s (binary code)
  • Convert between binary and decimal numbers
  • Identify binary place values
  • Encode and decode messages using ASCII
  • Apply binary concepts to real-world scenarios
Description

In this lesson, students will learn what cloud computing is and compare and contrast it to physical computing.

Objective

Students will be able to:

  • Explain the concept of cloud computing and its benefits.
  • Compare and contrast cloud computing with physical computing.
Description

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.

Objective

Students will be able to:

  • Identify various examples of internet of things devices and how you interact with them daily.
  • Explain the importance of data privacy when using internet of things devices.
Description

In this lesson, students will learn about ethical and legal considerations in computing and how these can create bias.

Objective

Students will be able to:

  • Explain how bias can be prevented or minimized in computing.
  • Identify ethical and legal considerations when using computing technologies.
Description

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.

Objective

Students will be able to:

  • Understand the current and future trends in the computer industry.
  • Examine the various roles and opportunities that students will have in the computing industry
Description

In this lesson, students will demonstrate what they learned in the unit be completing a summative exam.

Objective

Students will be able to:

  • Prove their knowledge of Computers, past, present, and future, through a multiple-choice quiz
Description

In this project, students explore how integrating hardware and software can solve real world problems. Students go through a problem-solving process where they research a problem and then select the necessary hardware and software to create a device to address the problem. Then, they create a prototype of their system or device and develop a pitch for their innovation.

Objective

Students will be able to:

  • Explain how problems can be solved by integrating hardware and software to create new devices or systems
  • Research and define a problem in preparation to solve the problem with a technological innovation
  • Develop a system/device prototype that integrates hardware and software components to solve a specific problem
  • Justify hardware and software selections
Description

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.

Objective

Students will be able to:

  • Understand the basic concepts of the internet
  • Understand networks and how they are connected
  • Understand that a protocol is an agreed-upon method of communication
Description

In this lesson, students will explore the importance of protocols and relate how they use them in their lives.

Objective

Students will be able to:

  • Discuss the necessity of protocols
  • Explain how protocols help with communication
Description

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.

Objective

Students will be able to:

  • Analyze the different ways that the Internet impacts their lives by learning about how the Internet contributes to collaboration, communication, etc
  • Evaluate whether the Internet has a more positive or negative effect on their community by citing examples from the lesson
  • Explain what the digital divide is and articulate their own opinions related to it
Description

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.

Objective

Students will be able to:

  • Define cybersecurity and its impact
  • Determine the types of personal information and digital resources that need to be protected
  • Describe trade-offs of implementing specific security safeguards
  • Describe how the Internet of Things makes people more vulnerable to cyber attacks
Description

In this lesson, students will learn how to navigate the digital world safely by understanding common cyber threats and implementing protective measures. Through interactive activities and creative storytelling, students will explore various cyberattacks, their consequences, and strategies for defense. This awareness will empower them to make responsible choices online and protect themselves from cybercrime.

Objective

Students will be able to:

  • Identify and define different types of cyberattacks (malware, viruses, ransomware, spyware, phishing)
  • Explain the importance of preventative measures like antivirus software, updates, HTTPS, and firewalls
  • Analyze real-world examples of phishing attacks and develop strategies for identifying suspicious online activities
Description

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.

Objective

Students will be able to:

  • Explain the need for encryption and how basic encryption and decryption works
  • Relate encryption with how it affects the CIA Triad
  • Describe the limitations of cryptographic methods.
Description

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.

Objective

Students will be able to:

  • Define steganography and explain how it is used in cryptography
  • Use steganography to encrypt a message in an image by manipulating the hexadecimal color code of pixels
Description

In this lesson, students complete a summative assessment of the module’s learning objectives.

Description

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.

Objective

Students will be able to:

  • Understand how their online activity contributes to a permanent and public digital footprint
  • Articulate their own social media guidelines to protect their digital footprint
Description

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.

Objective

Students will be able to:

  • Understand the impact of cyberbullying, and identify unacceptable bullying behavior
  • Identify proper actions to take if they are victims of cyberbullying or if they observe someone being cyberbullied
Description

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.

Objective

Students will be able to:

  • Identify predatory behavior and how to respond to it online
Description

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.

Objective

Students will be able to:

  • Use best practices in personal privacy and security, including strong passwords, using https, and reading privacy policies
Description

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.

Objective

Students will be able to:

  • Effectively search for and evaluate resources
Description

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.

Objective

Students will be able to:

  • Explain what copyright laws are and why they are important
  • Find images they are legally allowed to use in their projects
  • Accurately attribute images they find and want to use
Description

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.

Objective

Students will be able to:

  • Identify the difference between white hat hacking and black hat hacking
  • Explain career opportunities in cybersecurity
Description

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!

Objective

Students will be able to:

  • Create a public service announcement for members of their community about a topic in digital citizenship or cyber hygiene
  • Use google sheets to store and analyze data, and create a data visualization.
Description

In this lesson, students complete a summative assessment of the unit’s learning objectives.

Objective

Students will be able to:

  • Prove their knowledge of digital citizenship and cyber hygiene concepts through a multiple choice quiz
Description

In this lesson, students will learn how computers are used to collect, store, manipulate, and visualize data in order to answer questions and gain knowledge of the world.

Objective

Students will be able to:

  • Examine and analyze the growing importance of data in technology and their lives
Description

In this lesson, students will take a look at data collected by NASA to answer a question regarding our changing climate. They will learn to analyze and visualize this data in preparation for their own project and will see why models are used to describe future trends.

Objective

Students will be able to:

  • explore, analyze, and visualize data
  • use spreadsheets to manipulate data
  • describe why scientists use models
Description

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. This story will be told through the lens of promoting change, convincing people to take action, or compelling the readers or consumers of the data story to start a movement.

Objective

Students will be able to:

  • Create a visually appealing infographic that displays important data visualizations
  • Critically examine and reflect on various data visualizations and infographics
  • Choose an appropriate data narrative for their own data story
Description

In this lesson, students will define a question they will explore throughout this module.

Objective

Students will be able to:

  • brainstorm a question they are passionate about
  • make a hypothesis
Description

In this lesson, 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.

Objective

Students will be able to:

  • collect data using an existing data set, research, or surveys
  • analyze data to turn the values into meaningful conclusions
  • create a visualization that will aid in telling their data story
Description

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.

Objective

Students will be able to:

  • Create a visually appealing infographic that displays important data visualizations
  • Critically examine and reflect on various data visualizations and infographics
  • Choose an appropriate data narrative for their own data story