|
21 | 21 | * [Do now 4.3](do_now_43.md.html)
|
22 | 22 | * [4.3 slide deck](https://github.com/TEALSK12/introduction-to-computer-science/raw/master/slidedecks/TEALS%20SNAP%204.3.pptx)
|
23 | 23 | * [Lab 4.3 - Guess who](lab_43.md.html) ([docx](https://github.com/TEALSK12/introduction-to-computer-science/raw/master/Unit%204%20Word/Lab%204.3%20Guess%20Who.docx)) ([pdf](https://github.com/TEALSK12/introduction-to-computer-science/raw/master/Unit%204%20PDF/Lab%204.3%20Guess%20Who.pdf))
|
24 |
| -* [Unit 4 tips](unit_4_tips.md.html) |
| 24 | +* [Snap! tips][]: 0, 19 |
25 | 25 |
|
26 | 26 | ## Pacing guide
|
27 | 27 |
|
|
36 | 36 |
|
37 | 37 | ### Lecture
|
38 | 38 |
|
39 |
| -In small diverse groups, ask students to consider how to count the number of students with July birthdays in the room |
| 39 | +In small diverse groups, ask students to consider how to count the number of students with July birthdays in the room. |
40 | 40 |
|
41 | 41 | * Provide only a few minutes to work through this-- students need not write full, formal algorithms, but simply describe an approach.
|
| 42 | + |
42 | 43 | * Have groups share with each other and work together to come up with a single approach, hopefully settling on asking each student if s/he has a July birthday and counting the number of yeses (or something similar).
|
43 | 44 |
|
44 |
| -Define _traversal_ as the process of accessing each element of a list in order and performing some operation |
| 45 | +Define _traversal_ as the process of accessing each element of a list in order and performing some operation. |
| 46 | + |
| 47 | +* Explain that the operation can be anything, and may not actually be performed on every element. |
| 48 | + |
| 49 | +Provide a few examples of possible operations (say each person's name, count the number of females, add up the total number of siblings, find the average GPA, etc.) |
45 | 50 |
|
46 |
| -* Call out that the operation can be anything, and may not actually be performed on every element. |
47 |
| -* Provide a few examples of possible operations (say each person's name, count the number of females, add up the total number of siblings, find the average GPA, etc.) |
48 |
| -* Explain that traversing is how many problems involving lists are solved. |
| 51 | +Explain that traversing is how many problems involving lists are solved. |
49 | 52 |
|
50 | 53 | As a group, develop sample script for a simple list traversal, such as the following:
|
51 | 54 |
|
|
54 | 57 | Ask leading questions to help students write each line of the script, one a time, then gradually put the pieces together ("build up" approach).
|
55 | 58 |
|
56 | 59 | * Point out that the **say** block can be replaced by any script (including larger blocks of scripting for more complex operations), but that the rest of the script will typically be the same.
|
57 |
| -* Emphasize that the "index" variable is keeping track of where we currently are in the list, and can be used in the traversal operation if wanted, as in: |
| 60 | +* Emphasize that the _index_ variable is keeping track of where we currently are in the list, and can be used in the traversal operation if wanted, as in: |
58 | 61 |
|
59 | 62 | 
|
60 | 63 |
|
61 | 64 | ### Activity
|
62 | 65 |
|
63 |
| -Students should complete the [guess who](lab_43.md.html) activity individually or in pairs |
| 66 | +Students should complete the [guess who](lab_43.md.html) activity individually or in pairs. |
64 | 67 |
|
65 |
| -* Students will be performing several traversal operations, some of which simulate mapping, filtering, or reducing/folding the list. You can discuss these operations if you feel the class can handle it. |
66 |
| -* Part 1.3 requires use of the **join** block. Be sure that the students are comfortable using this block. |
| 68 | +Students will be performing several traversal operations, some of which simulate mapping, filtering, or reducing/folding the list. You can discuss these operations if you feel the class can handle it. |
| 69 | + |
| 70 | +Part 1.3 requires use of the **join** block. Be sure that the students are comfortable using this block. |
67 | 71 |
|
68 | 72 | ### Wrap-up
|
69 | 73 |
|
70 |
| -Ask students to briefly describe how the various parts of the lab were similar or different |
| 74 | +Ask students to briefly describe how the various parts of the lab were similar or different. |
71 | 75 |
|
72 | 76 | * Hopefully the students find that the scripts were quite similar for each part.
|
73 | 77 |
|
74 |
| -Ask students to describe something they found challenging about the lab |
| 78 | +Ask students to describe something they found challenging about the lab. |
75 | 79 |
|
76 |
| -* You will go over the correct solutions to the lab in the next lesson |
| 80 | +* You will go over the correct solutions to the lab in the next lesson. |
77 | 81 |
|
78 |
| -## Accommodations and Differentiation |
| 82 | +## Accommodations and differentiation |
79 | 83 |
|
80 | 84 | Advanced students can attempt more complex filters in part 2.3 (such as finding all names that contain at least two vowels) and/or more advanced maps in part 1.3 (such as greeting each person by first initial).
|
81 | 85 |
|
|
93 | 97 | * Trust the Recursion 26:22-29:40
|
94 | 98 | * Summary of Recursion 29:40-End
|
95 | 99 |
|
| 100 | +[Snap! Tips]: https://github.com/TEALSK12/introduction-to-computer-science/blob/master/Snap%20Tips.docx?raw=true |
| 101 | + |
96 | 102 | <!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
|
0 commit comments