Students will be able to...
- Define the terms abstraction and generalization.
- Recognize opportunities to improve algorithms by abstracting or generalizing parts into sub-procedures.
- https://youtu.be/Dxw9cIbzaLk?t=681
- Video Quiz - See additional curriculum materials accessed from the TEALS dashboard.
- https://youtu.be/AighCB14bNw
- https://www.youtube.com/watch?v=K0yReJ9T600
Duration | Description |
---|---|
5 minutes | Welcome, attendance, bell work, announcements |
15 minutes | Introduce terminology, demo, introduce activity |
20 minutes | Draw Shapes (Again) activity |
10 minutes | Debrief and wrap-up |
Define and discuss the following terms:
- Abstraction: removing the specifics that are not relevant in each context.
- e.g. being able to drive a car without understanding how an internal combustion engine works.
- Generalization: combining a group of related concepts or processes into a single category.
- e.g. spreading any condiment or ingredient onto a slice of bread (butter, jam, peanut butter, mayo, etc.).
Demonstrate constructing a custom command block.
Students should complete the drawing shapes again activity individually or in diverse pairs.
Work with students to be certain that they are using custom blocks and variables as described by the activity.
- Point out places where a script can be abstracted and generalized.
- Emphasize conciseness into a program.
Discuss one or two student submissions.
- Point out differences between different student solutions.
- Point out missed opportunities for abstraction (if any).
Discuss how this custom block can be useful.
In addition to attempting the bonus in the lab, advanced students can be encouraged to write a new custom block that draws a specified number of the given shape (for example, 2 squares or 5 hexagons). The number of shapes should be taken as user input.
Struggling students can be given solution scripts for all of section 1. Work with these students to answer the questions in part 1.5 so that they are prepared to attempt the custom block authoring.
- Abstraction: 11:40-15:40
- Generalization: 15:50-20:00
MIT Scratch --> BYOB Snap! (Development of Snap!, Demo) 10:00-11:30
BYOB-Custom Blocks (Explains functions with examples) 11:30-14:50