ALEX Classroom Resources

ALEX Classroom Resources  
   View Standards     Standard(s): [DLIT] (8) 12 :
6) Describe how algorithmic processes and automation increase efficiency.

[DLIT] (9-12) 30 :
24) Compare and contrast Internet publishing platforms, including suitability for media types, target audience, and feedback mechanism.

a. Apply version control capabilities within a digital tool to understand the importance of managing historical changes across suggestions made by a collaborative team.

Subject: Digital Literacy and Computer Science (8 - 12)
Title: YouTube Algorithms: How to Avoid the Rabbit Hole
URL: https://www.pbslearningmedia.org/resource/youtube-algorithms-above-the-noise/youtube-algorithms-above-the-noise/
Description:

We all know how easy it is to spend hours watching videos on YouTube. Why do we go down that rabbit hole? Mostly because of a combination of computer programming and marketing know-how called ALGORITHMS. This video comes with a facilitator guide and student handout that helps guide the discussion of this activity.



   View Standards     Standard(s): [DLIT] (8) 12 :
6) Describe how algorithmic processes and automation increase efficiency.

[DLIT] (9-12) 9 :
3) Differentiate between a generalized expression of an algorithm in pseudocode and its concrete implementation in a programming language.

a. Explain that some algorithms do not lead to exact solutions in a reasonable amount of time and thus approximations are acceptable.

b. Compare and contrast the difference between specific control structures such as sequential statements, conditional, iteration, and explain the benefits and drawbacks of choices made.

Examples: Tradeoffs involving implementation, readability, and program performance.

c. Distinguish when a problem solution requires decisions to be made among alternatives, such as selection constructs, or when a solution needs to be iteratively processed to arrive at a result, such as iterative 'loop' constructs or recursion.

d. Evaluate and select algorithms based on performance, reusability, and ease of implementation.

e. Explain how more than one algorithm may solve the same problem and yet be characterized with different priorities.

Examples: All self-driving cars have a common goal of taking a passenger to a designation but may have different priorities such as safety, speed, or conservation; web search engines have their own algorithms for search with their own priorities.

[DLIT] (9-12) 10 :
4) Use and adapt classic algorithms to solve computational problems.

Examples: Sorting, searching, shortest path, and data compression.

Subject: Digital Literacy and Computer Science (8 - 12)
Title: How Computers Calculate - the ALU: Crash Course Computer Science #5
URL: https://aptv.pbslearningmedia.org/resource/computers-calculate-crash-course-cs/computers-calculate-crash-course-cs/
Description:

This video will talk about a fundamental part of all modern computers. The thing that basically everything else uses - the Arithmetic and Logic Unit (or the ALU). The ALU may not have to most exciting name, but it is the mathematical brain of a computer and is responsible for all the calculations your computer does! And it's actually not that complicated.



   View Standards     Standard(s): [DLIT] (6) 7 :
1) Remove background details from an everyday process to highlight essential properties.

Examples: When making a sandwich, the type of bread, condiments, meats, and/or vegetables do not affect the fact that one is making a sandwich.

[DLIT] (6) 12 :
6) Identify steps in developing solutions to complex problems using computational thinking.

[DLIT] (6) 13 :
7) Describe how automation works to increase efficiency.

Example: Compare the amount of time/work to hand wash a car vs. using an automated car wash.

[DLIT] (6) 36 :
30) Discuss and apply the components of the problem-solving process.

Example: Students will devise a plan to alleviate traffic congestion around the school during drop-off and pick-up.

[DLIT] (7) 11 :
5) Solve a complex problem using computational thinking.

[DLIT] (7) 12 :
6) Create and organize algorithms in order to automate a process efficiently.

Example: Set of recipes (algorithms) for preparing a complete meal.

[DLIT] (7) 14 :
8) Formulate a narrative for each step of a process and its intended result, given pseudocode or code.

[DLIT] (7) 36 :
30) Apply the problem-solving process to solve real-world problems.

[DLIT] (8) 8 :
2) Explain how abstraction is used in a given function.

Example: Examine a set of block-based code and explain how abstraction was used.

[DLIT] (8) 11 :
5) Discuss the efficiency of an algorithm or technology used to solve complex problems.

[DLIT] (8) 12 :
6) Describe how algorithmic processes and automation increase efficiency.

[DLIT] (8) 35 :
29) Create an artifact to solve a problem using ideation and iteration in the problem-solving process.

Examples: Create a public service announcement or design a computer program, game, or application.

Subject: Digital Literacy and Computer Science (6 - 8)
Title: Computational Thinking
URL: https://www.remc.org/21Things4Students/21/21-computational-thinking/
Description:

Have you ever had a complex problem that you needed to solve? This could be a math problem, science experiment, an essay you need to write, and coding and game design. It could even be as simple as planning the best route to school or baking your favorite cookies!

Computational thinking can be used to take a complex problem, understand what the problem is and develop possible solutions to solve or explain it.

Students will complete Quests to learn about the four stages of computational thinking:


LEARNING OBJECTIVES:

When you have completed this activity you will:

  1. understand computational thinking [Computational Thinker]
  2. be able to solve complex problems using computational thinking. [Computational Thinker]
  3. be able to break down a problem into smaller more manageable parts. [Computational Thinker]
  4. know how to look for patterns and sequences. [Computational Thinker]
  5. be able to focus on important information only. [Computational Thinker]
  6. be able to develop a step-by-step solution to the problem. [Computational Thinker]
  7. know how to use coding to automate a task [Computational Thinker]
  8. understand computational design by applying technology to a problem [Innovative Designer]
  9. understand programming as you complete hands-on activities, solving problems encountered [Computational Thinker]
  10. understand the coding your program creates [Empowered Learner]


   View Standards     Standard(s): [DLIT] (5) 8 :
2) Create an algorithm to solve a problem while detecting and debugging logical errors within the algorithm.

Examples: Program the movement of a character, robot, or person through a maze.
Define a variable that can be changed or updated.

[DLIT] (5) 9 :
3) Create an algorithm that is defined by simple pseudocode.

[DLIT] (6) 11 :
5) Identify algorithms that make use of sequencing, selection or iteration.

Examples: Sequencing is doing steps in order (put on socks, put on shoes, tie laces); selection uses a Boolean condition to determine which of two parts of an algorithm are used (hair is dirty? True, wash hair; false, do not); iteration is the repetition of part of an algorithm until a condition is met (if you're happy and you know it clap your hands, when you're no longer happy you stop clapping).

[DLIT] (7) 9 :
3) Create algorithms that demonstrate sequencing, selection or iteration.

Examples: Debit card transactions are approved until the account balance is insufficient to fund the transaction = iteration, do until.

[DLIT] (7) 12 :
6) Create and organize algorithms in order to automate a process efficiently.

Example: Set of recipes (algorithms) for preparing a complete meal.

[DLIT] (8) 11 :
5) Discuss the efficiency of an algorithm or technology used to solve complex problems.

[DLIT] (8) 12 :
6) Describe how algorithmic processes and automation increase efficiency.

Subject: Digital Literacy and Computer Science (5 - 8)
Title: Divide and Conquer
URL: https://classic.csunplugged.org/divideandconquer/
Description:

Santa’s Dirty Socks

This activity introduces the idea of “divide and conquer” using a fictitious but serious problem – a pair of dirty socks have accidentally been wrapped in one of the presents that Santa is about to deliver, and he needs to figure out which one to avoid a child getting a nasty surprise.

You can either play the video (linked in the activity) or download the PDF of the book (see the PDF files in the link to the activity) to read aloud or give to students.

The solution in the story points out that when there are 1024 boxes to test, instead of having to open all of them until the socks are found, one half can be eliminated at a time, and repeatedly halving the problem very quickly narrows it down to one box (the size of the problem starts at 1024, then with one weighing there are 512 boxes, then 256, 128, 64, 32, 16, 8, 4, 2 and 1.) This idea comes up frequently in the design of fast computer algorithms.



   View Standards     Standard(s): [DLIT] (5) 8 :
2) Create an algorithm to solve a problem while detecting and debugging logical errors within the algorithm.

Examples: Program the movement of a character, robot, or person through a maze.
Define a variable that can be changed or updated.

[DLIT] (5) 9 :
3) Create an algorithm that is defined by simple pseudocode.

[DLIT] (5) 10 :
4) Create a simple pseudocode.

[DLIT] (5) 11 :
5) Develop and recommend solutions to a given problem and explain the process to an audience.

[DLIT] (6) 11 :
5) Identify algorithms that make use of sequencing, selection or iteration.

Examples: Sequencing is doing steps in order (put on socks, put on shoes, tie laces); selection uses a Boolean condition to determine which of two parts of an algorithm are used (hair is dirty? True, wash hair; false, do not); iteration is the repetition of part of an algorithm until a condition is met (if you're happy and you know it clap your hands, when you're no longer happy you stop clapping).

[DLIT] (6) 12 :
6) Identify steps in developing solutions to complex problems using computational thinking.

[DLIT] (6) 13 :
7) Describe how automation works to increase efficiency.

Example: Compare the amount of time/work to hand wash a car vs. using an automated car wash.

[DLIT] (7) 9 :
3) Create algorithms that demonstrate sequencing, selection or iteration.

Examples: Debit card transactions are approved until the account balance is insufficient to fund the transaction = iteration, do until.

[DLIT] (7) 12 :
6) Create and organize algorithms in order to automate a process efficiently.

Example: Set of recipes (algorithms) for preparing a complete meal.

[DLIT] (8) 11 :
5) Discuss the efficiency of an algorithm or technology used to solve complex problems.

[DLIT] (8) 12 :
6) Describe how algorithmic processes and automation increase efficiency.

Subject: Digital Literacy and Computer Science (5 - 8)
Title: Finite State Automata
URL: https://classic.csunplugged.org/finite-state-automata/
Description:

Computer programs often need to process a sequence of symbols such as letters or words in a document, or even the text of another computer program. Computer scientists often use a finite-state automaton to do this. A finite-state automaton (FSA) follows a set of instructions to see if the computer will recognize the word or string of symbols. We will be working with something equivalent to a FSA—treasure maps!

The goal of the students is to find Treasure Island. Friendly pirate ships sail along a fixed set of routes between the islands in this part of the world, offering rides to travelers. Each island has two departing ships, A and B, which you can choose to travel on. You need to find the best route to Treasure Island. At each island you arrive at you may ask for either ship A or B (not both). The person at the island will tell you where your ship will take you to next, but the pirates don’t have a map of all the islands available. Use your map to keep track of where you are going and which ship you have traveled on.

 



   View Standards     Standard(s): [DLIT] (6) 13 :
7) Describe how automation works to increase efficiency.

Example: Compare the amount of time/work to hand wash a car vs. using an automated car wash.

[DLIT] (8) 12 :
6) Describe how algorithmic processes and automation increase efficiency.

Subject: Digital Literacy and Computer Science (6 - 8)
Title: Computer Science Discoveries Unit 5 Chapter 2 Lesson 14: Automating Data Decisions (18-19)
URL: https://studio.code.org/s/csd5-2018/stage/14/puzzle/1?section_id=1888730
Description:

In this lesson, students look at a simple example of how a computer could be used to complete the decision making step of the data problem-solving process. Students are given the task of creating an algorithm that could suggest a vacation spot. Students then create rules, or an algorithm, that a computer could use to make this decision automatically. Students share their rules and what choices their rules would make with the class data. Then, they use their rules on data from their classmates to test whether their rules would make the same decision that a person would. The lesson concludes with a discussion about the benefits and drawbacks of using computers to automate the data problem-solving process.

Note: You will need to create a free account on code.org before you can view this resource.



   View Standards     Standard(s): [DLIT] (6) 9 :
3) Create pseudocode that uses conditionals.

Examples: Using if/then/else (If it is raining then bring an umbrella else get wet).

[DLIT] (6) 11 :
5) Identify algorithms that make use of sequencing, selection or iteration.

Examples: Sequencing is doing steps in order (put on socks, put on shoes, tie laces); selection uses a Boolean condition to determine which of two parts of an algorithm are used (hair is dirty? True, wash hair; false, do not); iteration is the repetition of part of an algorithm until a condition is met (if you're happy and you know it clap your hands, when you're no longer happy you stop clapping).

[DLIT] (6) 12 :
6) Identify steps in developing solutions to complex problems using computational thinking.

[DLIT] (7) 8 :
2) Create complex pseudocode using conditionals and Boolean statements.

Example: Automated vacuum pseudocode — drive forward until the unit encounters an obstacle; reverse 2"; rotate 30 degrees to the left, repeat.

[DLIT] (7) 9 :
3) Create algorithms that demonstrate sequencing, selection or iteration.

Examples: Debit card transactions are approved until the account balance is insufficient to fund the transaction = iteration, do until.

[DLIT] (7) 10 :
4) Design a complex algorithm that contains sequencing, selection or iteration.

Examples: Lunch line algorithm that contains parameters for bringing your lunch and multiple options available in the lunch line.

[DLIT] (7) 11 :
5) Solve a complex problem using computational thinking.

[DLIT] (7) 12 :
6) Create and organize algorithms in order to automate a process efficiently.

Example: Set of recipes (algorithms) for preparing a complete meal.

[DLIT] (7) 14 :
8) Formulate a narrative for each step of a process and its intended result, given pseudocode or code.

[DLIT] (8) 7 :
1) Design a function using a programming language that demonstrates abstraction.

Example: Create a program that utilizes functions in an effort remove repetitive sequences of steps.

[DLIT] (8) 9 :
3) Create an algorithm using a programming language that includes the use of sequencing, selections, or iterations.

Example: Use a block-based or script programming language
Step 1: Start
Step 2: Declare variables a, b and c.
Step 3: Read variables a, b and c.
Step 4: If a>b
      If a>c
         Display a is the largest number.
     Else
         Display c is the largest number.
   Else
      If b>c
         Display b is the largest number.
      Else
         Display c is the greatest number.
Step 5: Stop

[DLIT] (8) 10 :
4) Create a function to simplify a task.

Example: 38 = 3*3*3*3*3*3*3*3; =(Average) used in a spreadsheet to average a given list of grades.

[DLIT] (8) 11 :
5) Discuss the efficiency of an algorithm or technology used to solve complex problems.

[DLIT] (8) 12 :
6) Describe how algorithmic processes and automation increase efficiency.

[DLIT] (8) 13 :
7) Create a program that includes selection, iteration, or abstraction, and initializes, and updates, at least two variables.

Examples: Make a game, interactive card, story, or adventure game.

Subject: Digital Literacy and Computer Science (6 - 8)
Title: Computer Science Discoveries Unit 3 Chapter 2 Lesson 15: Velocity (18-19)
URL: https://studio.code.org/s/csd3-2018/stage/15/puzzle/1
Description:

After a brief review of how the counter pattern is used to move sprites, the class is introduced to the properties that set velocity and rotation speed directly. As they use these new properties in different ways, they build up the skills they need to create a basic side scroller game.

Note: You will need to create a free account on code.org before you can view this resource.



ALEX Classroom Resources: 7

Go To Top of page