Please enable JavaScript to use CodeHS

Florida Digital Discoveries in Society

Description

In this lesson, students will explore the language of computers and the basics of what a programming language does. They will also learn about the differences between compilers and interpreters.

Objective

Students will be able to:

  • Explain the difference between the different types of programming languages
  • Explain compiled and interpreted languages
Description

In this lesson, students will learn about the aspects of computational thinking that will help them be successful problem solvers.

Objective

Students will be able to:

  • Explain what computational thinking is.
  • Describe problem decomposition and use it to break down larger tasks into smaller ones.
  • Describe what an algorithm is and be able to write one for a process in their life.
Description

In this lesson, students will learn about JavaScript, how to print messages to the console, and about debugging programs.

Objective

Students will be able to:

  • Write a JavaScript program by typing commands with proper syntax in the main function
  • Write a program that prints out a message to the user
Description

In 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.

Objective

Students will be able to:

  • Explain what variables are and what they are used for
  • Create their own variables
  • Print out the values stored in variables
Description

In this lesson, students learn how they can allow users to input information into their programs, and use that input accordingly.

Objective

Students will be able to:

  • Create programs that ask the user for input
  • Store user input in variables and print it back to the user
  • Choose the proper input function to use depending on the type of information needed
Description

In this lesson, students learn about the different mathematical operators they can use to perform mathematical computations and create useful programs that compute information for the user.

Objective

Students will be able to:

  • Describe the different mathematical operators we can use in programs
  • Create programs that use basic math to compute useful things
  • Create programs that take in user input, do simple computations with the input, and produce useful output
Description

In this lesson, students will learn how to create basic functions using JavaScript and use them to improve the organization, readability, and flow of their programs.

Objective

Students will be able to:

  • Define JavaScript functions
  • Call JavaScript functions within the main function
  • Use functions in order to manage the flow of their programs
  • Increase the readability and organization of their code using functions
Description

In this lesson, students begin to reflect on the variety of games they have played and what actually makes a game a game.

Objective

Students will be able to:

  • Identify the variety of games they have played
  • Identify what aspects they like in games
  • Begin to explain what makes a game a game
Description

In this lesson, students explore and learn to identify game elements, mechanics, and components that make up the overall gameplay experience.

Objective

Students will be able to:

  • Identify game components
  • Identify game mechanics and how they impact player interactions
  • Identify game elements and how they define a game
Description

In this lesson, students explore game genres and perspectives that are used to categorize different types of video games.

Objective

Students will be able to:

  • Identify different perspectives in video games
  • Identify different game genres
  • Categorize games based on perspective and/or game genre
Description

In this lesson students learn about game design documents and how they’re used to design a game and assist with its development process.

Objective

Students will be able to:

  • Describe the purpose of a game design document
  • Define the parts or sections of a game design document
  • Reverse engineer a game and create a basic game design document
Description

In this lesson, students learn about the storyboarding technique and what it’s like to be a storyboard artist at a game studio.

Objective

Students will be able to:

  • Explain what a storyboard is and how it’s used.
  • Create their own storyboard for an aspect of a video game.
  • Understand more about the storyboard artist role.
  • Create a storyboard for their final game project.
Description

In this lesson, students learn about the p5play library and see examples of what can be created with it.

Objective

Students will be able to:

  • Describe what a JavaScript library is
  • Provide an overview of what features the p5play library offers
  • Describe their experience running p5play programs / games
Description

In this lesson, students will learn about the two main functions in a p5play program, setup() and draw().

Objective

Students will be able to:

  • Describe the role that the setup() function plays in a p5play program
  • Describe the role that the draw() function plays in a p5play program
  • Code the standard structure of p5play program
Description

In this lesson, students will learn more about the p5play canvas, including how to set one up and navigate its X-Y coordinate system.

Objective

Students will be able to:

  • Explain what the p5play canvas is
  • Set up a canvas in their code with specified dimensions
  • Understand how the X-Y coordinate system works
Description

In this lesson, students will learn about p5play sprites and how to control their appearance with properties like size, position, and color.

Objective

Students will be able to:

  • Define a p5play sprite
  • Describe some of the properties of p5play sprites and how they are used
  • Create a p5play sprite in their code
  • Use dot notation to set the values of a sprite’s properties
Description

In this lesson, students will learn about more sprite properties and how they relate to p5play’s built-in physics engine.

Objective

Students will be able to:

  • Describe what a physics engine is and how it impacts program development
  • Turn on gravity in their programs
  • Identify and use the different sprite colliders
  • Identify and use additional sprite properties that change the sprite’s behavior in the scene
Description

In this lesson, students will kick off their mini golf project and learn more about the project design process.

Objective

Students will be able to:

  • Talk about the different stages of the project design process
  • Understand what the mini golf project entails
  • Decompose the larger, complex project into smaller parts
  • Set up the project’s structure and canvas
Description

In this lesson, students will add p5play sprites for their grass, hole, walls, ball, and putter. They also learn how to use a random number function in order to randomize where the hole sprite is placed.

Objective

Students will be able to:

  • Create sprites and set properties
  • Use the random() function to generate random numbers for their game
  • Use comments to document their code
Description

In this lesson, students will learn more about boolean values and p5play boolean expressions.

Objective

Students will be able to:

  • Write and understand Boolean questions
  • Understand how p5play uses expressions that evaluate to a Boolean true/false value
Description

In this lesson, students learn about if/else statements as a way to make decisions and execute specific code depending on the validity of a condition.

Objective

Students will be able to:

  • Explain the purpose of if/else statements
  • Understand how to use p5play Booleans as a condition in the if statement
  • Create their own if/else statements to choose which code is executed in their programs
Description

In this lesson, students will apply their new knowledge of Booleans and if/else statements to create interactions between the player and the sprites.

Objective

Students will be able to:

  • Use pseudocode to help plan out if/else blocks
  • Integrate p5play Boolean expressions with an if/else block to create branching interactions
  • Use p5play methods like moveTowards(), rotate(), and remove()
  • Use a greater than operator to check the speed of the ball
Description

In this lesson, students will enhance the player experience by adding background music and a score counter to their mini golf games.

Objective

Students will be able to:

  • Add sounds to their p5play programs
  • Add text to their sprites
  • Apply their knowledge of sprites and if statements to create a score counter
Description

In this final project lesson, students will design, plan, develop, and test a second custom mini golf hole for their game.

Objective

Students will be able to:

  • Plan, design, develop, and test their own program
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 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 explore the fundamental concepts of the internet, including its infrastructure and operation. Through videos, readings, and interactive activities, students will gain an understanding of wired and wireless networks, the role of submarine cables, and the foundational ideas behind the internet. The lesson culminates in a reflection activity where students articulate their understanding of the internet.

Objective

Students will be able to:

  • Define what the internet is and explain its significance
  • Differentiate between wired and wireless networks
  • Understand the role of submarine cables in global connectivity
  • Reflect on the foundational concepts of the internet as described by Vint Cerf
  • Articulate their understanding of the internet through open-ended responses
Description

In this lesson, students will explore how internet hardware communicates using Internet Addresses and the Internet Protocol. They will also gain insight into IP addresses, including their function, how to read them, and their role in network communication.

Objective

Students will be able to:

  • Evaluate protocol effectiveness
  • Demonstrate an understanding of IP addresses
  • Identify IP addresses of devices in a simulated environment
  • Discuss privacy concerns related to IP addresses
Description

In this lesson, students learn about what makes a computer a computer, its capabilities, and its limitations.

Objective

Students will be able to:

  • Describe the main properties that define a computer
  • List examples of different computers in their lives
  • Describe what computers are good at and what their current limitations are
Description

In this lesson, students will learn about the essential internal components that make up a computer. Component categories include the motherboard (system board), firmware (BIOS), CPU (processor), GPU (graphics processor), storage, cooling, and NIC (network adapter).

Objective

Students will be able to:

  • Explain the purpose of common internal computing components such as motherboards, BIOS, RAM, and more.
Description

In this lesson, students will learn and explain the purposes and use of various peripheral types. They will classify the peripherals as input or output devices and explore different ways of installing them on a laptop or PC.

Objective

Students will be able to:

  • Explain the purposes and uses of various peripheral types
  • Classify common types of input/output device interfaces.
  • Explain how to install common peripheral devices to a laptop/PC
Description

In this lesson, students will learn about the different storage options including local storage, network storage, and cloud storage.

Objective

Students will be able to:

  • Compare and contrast storage types
  • Examine and discuss the security of cloud storage
  • Select suitable storage devices for given situations
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 different networking devices that allow devices to connect to other devices as well as the Internet. They will also learn different networking connection methods such as using dialup, DSL, coax cables, and fiber optic cables.

Objective

Students will be able to:

  • Compare and contrast common Internet service types
  • Compare and contrast common networking hardware devices
  • Explain basic cable types, features, and their purposes
Description

In this lesson, students will learn about the different network types and options that are available. This will include wireless networking standards and protocols.

Objective

Students will be able to:

  • Compare and contrast the different wireless network standards
  • Compare and contrast Internet connection types, network types, and their features
Description

In this lesson, students will learn about different ports and protocols and how they can be protected using a firewall. They will explore port scans and how to set firewall rules.

Objective

Students will be able to:

  • Compare and contrast different ports, protocols and their purposes
  • Explain the purpose of a firewall and how it protects against unwanted traffic
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 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.

Objective

Students will be able to:

  • Identify the purpose and applications of HTML
  • Create their first simple web page
Description

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.

Objective

Students will be able to:

  • Discern the various parts of an HTML page
  • Create fully formed HTML pages
Description

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.

Objective

Students will be able to:

  • Apply formatting tags in order to modify the appearance of text and make web pages look clear and aesthetically pleasing
Description

In this lesson, students learn how to add hyperlinks to their web pages using the <a> tag.

Objective

Students will be able to:

  • Add and utilize hyperlinks on their webpages
Description

In this lesson, students learn how to add images to their own web pages using the <img> tag.

Objective

Students will be able to:

  • Embed an image in HTML
  • Size images appropriately on the webpage
Description

In this lesson, students learn how to add lists to their web pages and practice making different kinds of lists.

Objective

Students will be able to:

  • Incorporate different kinds of lists to their web pages
  • Understand the differences between unordered lists and ordered lists.
Description

In this lesson, students will use HTML styling to make their pages visually appealing and unique.

Objective

Students will be able to:

  • Understand how to apply styling to HTML tags
  • Apply HTML styling to make their web pages more visually appealing and unique
Description

In this lesson, students will be introduced to CSS to add styling to their HTML pages.

Objective

Students will be able to:

  • explain the relationship between CSS and HTML
  • apply basic CSS style to a webpage using the style tag
Description

In this lesson, students will learn why multi-file websites are important and how they can create them.

Objective

Students will be able to:

  • Articulate why multi-page websites make sense from a user experience perspective and from a development perspective
  • Create multi-file websites that are divided for clarity and organization
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 the basic HTML through a multiple choice quiz
Description

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.

Objective

Students will be able to:

  • Analyze the aesthetic design of websites and explain how it influences user trust, engagement, and perception of the company
  • Identify effective and ineffective use of multimedia and explain its impact on the user experience
  • Define and apply the CARP design principles to evaluate and improve website layouts
  • Reflect on how aesthetic and multimedia design choices can make websites more accessible and engaging.
Description

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.

Objective

Students will be able to:

  • Identify and explain the importance of contrast, repetition, alignment, and proximity in web design
  • Use CSS properties such as color, font-size, and font-weight to visually appealing designs
  • Apply CSS properties like margin, padding, width, and float to adjust spacing and layout
  • Evaluate and improve the design of a web page based on principles of contrast and alignment
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. They will practice finding and citing online images.

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 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 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.

Objective

Students will be able to:

  • Brainstorm and outline information about their chosen community for their webpage
  • Create a sitemap using a digital tool or hand-drawn method to organize the structure of their webpage
  • Explain the purpose of wireframing in the web design process
  • Design a wireframe for their website, considering both functionality and creative design
Description

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.

Objective

Students will be able to:

  • Draft their website using HTML and CSS, applying the principles they’ve learned throughout the module
  • Evaluate their website using a self-review checklist and make revisions based on feedback
  • Participate in peer testing by reviewing a partner’s website and offering constructive feedback
  • Revise their website based on peer feedback and code validation to improve functionality and design
Description

In this first lesson, students will be introduced to their micro:bit device and the MakeCode editor, where they will build and test programs throughout the course. They will also be guided through the process to download programs from the editor to their device and will learn a few basic commands to get started writing micro:bit programs.

Objective

Students will be able to:

  • Articulate what physical computing is
  • Download and run programs on their micro:bit device in order to physically view programs as they create them throughout the course
  • Use the showNumber and showString commands in micro:bit programs
Description

In this lesson, students will take a deeper look at developing, testing, and running programs on the micro:bit simulator and on their devices. They will learn how the 5x5 grid system is laid out and will utilize more commands to light specific LEDs on the screen.

Objective

Students will be able to:

  • Develop, test, and run programs both on the micro:bit simulator and on physical devices
  • Use the MakeCode grid numbering system to light specific LEDs on the 5x5 LED screen
  • Use the led.plot, led.unplot, and basic.pause commands in micro:bit programs
Description

In this lesson, students will learn about comments and pseudocode, why they are important, and how they help organize and plan programs. They will also learn the basic difference between analog and digital components and how to use the plotBrightness and clearScreen commands in their programs.

Objective

Students will be able to:

  • Use comments to write more readable programs
  • Develop pseudocode in order to properly plan and organize their programs
  • Use the plotBrightness and clearScreen commands in micro:bit programs
Description

In this lesson, students will build their first physical circuit using their micro:bit devices. They will learn to use variables to control components, along with the analogWritePin and digitalWritePin commands.

Objective

Students will be able to:

  • Articulate what a variable is and why they are used
  • Assign and utilize variable in their programs
  • Create a simple circuit using micro:bit pins
  • Control an external LED by using the analogWritePin and digitalWritePin commands in micro:bit programs
Description

In this lesson, students review content with a 15 question Unit Quiz.

Objective

Students will be able to:

  • Prove their knowledge of basic coding concepts through a multiple choice quiz
Description

In this lesson, students will connect a speaker to their physical circuit to play music using their micro:bit! They will learn to use for loops to control components, along with the playNote command.

Objective

Students will be able to:

  • Use for loops to control the flow of their programs
  • Control an external speaker by using the playNote command in micro:bit programs
  • Understand the correlation between frequency values and the pitch of a tone
Description

In this lesson, students will learn how to use the built-in buttons to control their programs and will learn to use while loops to control components.

Objective

Students will be able to:

  • Use while loops to control the flow of their programs
  • Use buttons to control their programs
Description

In this lesson, students will learn about sensors and why they are so important in physical computing. They will use various internal sensors to detect attributes of the micro:bit’s environment and write programs that will complete certain tasks based on these values.

Objective

Students will be able to:

  • Use operators to control the flow of their programs
  • Use the reading of internal sensors to control commands in micro:bit programs
Description

In this lesson, students will connect a micro servo motor to their physical circuit and control its location using their device. They will learn to use conditionals to control components, along with the servoWritePin command.

Objective

Students will be able to:

  • Use conditionals to control the flow of their programs
  • Control the position of a servo motor by using the servoWritePin command in micro:bit programs
Description

In this lesson, students will use their first external sensor, an ultrasonic range finder, to measure distance and control components in the programs. They will develop and use functions with and without parameters to more clearly organize their code and make it more reusable.

Objective

Students will be able to:

  • Use functions with and without parameters to create more organized and reusable programs
  • Use an ultrasonic range finder to sense distance and control components in their micro:bit programs
Description

In this lesson, students review content with a 14 question Unit Quiz.

Objective

Students will be able to:

  • Prove their knowledge of basic coding concepts through a multiple choice quiz
Description

In this lesson, students will learn why and how breadboards are used to build more complex circuits. They will experiment with different built-in Gestures and will use all of the concepts they’ve learned up to this point to complete their first larger projects- a digital watch and an Inchworm.

Objective

Students will be able to:

  • Use control structures to develop readable, concise, and effective programs
  • Use breadboards to build more complex circuits
Description

In this lesson, students will research, develop, and present a lesson to their peers on the use of a new sensor with their micro:bit devices.

Objective

Students will be able to:

  • Research how to use a new sensor with their micro:bit devices
  • Develop and present a lesson to their peers instructing them on how to use a new sensor in their programs
Description

Students will get a chance to follow instructions written by someone they’ve never met to replicate a project in this lesson. They will then evaluate and improve these directions to make them more effective for a target audience.

Objective

Students will be able to:

  • Follow step-by-step instructions to build complex circuits using breadboards
  • Evaluate the clarity and effectiveness of given instructions
  • Improve directions to more effectively serve a specific audience
Description

In this final lesson, students will put together all of the concepts learned throughout the course to create a project of their choice. They will work individually, or with partners or groups to creatively develop a program of their choosing.

Objective

Students will be able to:

  • Synthesize concepts and skills learned in the course to create their own final project
  • Scope their project (eliminate features that aren’t necessary) so that it fits in the timeframe allotted
  • Present their project to their classmates and talk about how the project was developed