Skip to content

Commit 5fe61e2

Browse files
committed
Lesson grammar and formating
1 parent 60b5376 commit 5fe61e2

13 files changed

+184
-138
lines changed

docs/lesson_41.md.html

+14-9
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
## Materials and preparation
1919

2020
* [4.1 slide deck](https://github.com/TEALSK12/introduction-to-computer-science/raw/master/slidedecks/TEALS%20SNAP%204.1.pptx)
21-
* [Unit 4 tips](unit_4_tips.md.html).
22-
* Paper/writing implements for each group of students.
21+
* Paper/writing implements for each group of students
2322
* Large poster paper and markers will allow for display of the algorithms, but standard paper will work fine.
23+
* [Snap! tips][]: 0, 19
2424

2525
## Pacing guide
2626

@@ -43,14 +43,17 @@
4343

4444
In small groups, students will write an algorithm for adding new Solar System discoveries to a collection of older ones. The process should be complete and detailed so that a person can unambiguously follow the steps.
4545

46-
* The process itself will seem relatively simple. Ensure students think not only about the steps to be taken but the necessary materials and resources.
47-
* Ensure that the algorithm would work for any discovery of any name size and does not make assumptions. e.g SUPER MEGA COOL ASTEROID, etc.
48-
* Pay particular attention to when the various materials are needed.
49-
* The key here is that the student will need to constantly be referencing this same pool of discoveries e.g. Pool, Pool + 1 discovery, Pool + 1 discovery + another etc. etc.
46+
The process itself will seem relatively simple. Ensure students think not only about the steps to be taken but the necessary materials and resources.
47+
48+
Ensure that the algorithm would work for any discovery of any name size and does not make assumptions. e.g SUPER MEGA COOL ASTEROID, etc.
49+
50+
Pay particular attention to when the various materials are needed.
51+
52+
The key here is that the student will need to constantly be referencing this same pool of discoveries e.g. Pool, Pool + 1 discovery, Pool + 1 discovery + another etc. etc.
5053

5154
Instruct students to think about how they would write a script to complete this task. They need not write actual script, but should write pseudocode to attempt to solve the problem.
5255

53-
* After groups have finished, explain to them that usually scientists organize their discoveries alphabetically not by recently discovered. Challenge them to create an algorithm that organizes their new discoveries with their old discoveries alphabetically.
56+
After groups have finished, explain to them that usually scientists organize their discoveries alphabetically not by recently discovered. Challenge them to create an algorithm that organizes their new discoveries with their old discoveries alphabetically.
5457

5558
The ultimate conclusion should be that they need a way to store the entire collection of discoveries, and operate on individual parts of the collection.
5659

@@ -62,10 +65,12 @@
6265

6366
Briefly introduce the concept of a list as a means of storing multiple values in a single location. Lists have the useful property of not having a static size, so any number of values can be added at any time.
6467

65-
## Accommodations/Differentiation
68+
## Accommodations and differentiation
6669

67-
As in the PB&J activity, discourage stronger students from dominating the conversation and instead ask them to take on a leadership role and help other group members find issues.
70+
As in the peanut butter and jelly activity, discourage stronger students from dominating the conversation and instead ask them to take on a leadership role and help other group members find issues.
6871

6972
Struggling students can be given permission to use a higher level of abstraction, ignoring certain details that other students will attend to.
7073

74+
[Snap! tips]: https://github.com/TEALSK12/introduction-to-computer-science/blob/master/Snap%20Tips.docx?raw=true
75+
7176
<!-- 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>

docs/lesson_42.md.html

+18-16
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@
2222
* [4.2 slide deck](https://github.com/TEALSK12/introduction-to-computer-science/raw/master/slidedecks/TEALS%20SNAP%204.2.pptx)
2323
* [Lab 4.2 - You talkin' to me?)](lab_42.md.html) ([docx](https://github.com/TEALSK12/introduction-to-computer-science/raw/master/Unit%204%20Word/Lab%204.2%20You%20Talkin%20To%20Me.docx)) ([pdf](https://github.com/TEALSK12/introduction-to-computer-science/raw/master/Unit%204%20PDF/Lab%204.2%20You%20Talkin%20To%20Me.pdf))
2424
* [List Components](https://github.com/TEALSK12/introduction-to-computer-science/blob/master/Unit%204%20Word/SNAP%20Lists%20Components.docx?raw=true) ([docx](https://github.com/TEALSK12/introduction-to-computer-science/blob/master/Unit%204%20Word/SNAP%20Lists%20Components.docx?raw=true)) ([pdf](https://github.com/TEALSK12/introduction-to-computer-science/raw/master/Unit%204%20PDF/SNAP%20Lists%20Components.pdf))
25-
* [Context-Free Grammars for English](http://www.cs.uccs.edu/~jkalita/work/cs589/2013/12Grammars.pdf)
26-
* [Context-Free Grammars](https://www.cs.rochester.edu/~nelson/courses/csc_173/grammars/cfg.html)
25+
* [Context - Free grammars for English](http://www.cs.uccs.edu/~jkalita/work/cs589/2013/12Grammars.pdf)
26+
* [Context - Free grammars](https://www.cs.rochester.edu/~nelson/courses/csc_173/grammars/cfg.html)
2727
* [Woodward English](https://www.woodwardenglish.com/wp-content/uploads/2018/01/parts-of-speech-english.jpg)
28-
* [Unit 4 Tips](unit_4_tips.md.html)
28+
* [Snap! tips][]: 0, 19
2929

30-
## Pacing Guide
30+
## Pacing guide
3131

3232
| Duration | Description |
3333
| :---------- | :--------------------------------------------- |
@@ -36,27 +36,25 @@
3636
| 25 minutes | Grammar Activity |
3737
| 10 minutes | Debrief and wrap-up |
3838

39-
## Instructor's Notes
39+
## Instructor's notes
4040

4141
### Lecture
4242

43-
Review the concept of a list from the previous lesson.
43+
#### Review the concept of a list from the previous lesson
4444

4545
Ask students to brainstorm examples of when lists could be useful.
4646

4747
* To store an unknown number of values (e.g. a bunch of student test scores, shopping list, the songs of your favorite music artist).
4848
* To store a collection of related values as one entity (e.g. the number of absent students each day over a week, how often a video on YouTube in a week).
4949

50-
Demonstrate creating lists.
50+
#### Demonstrate creating lists
5151

52-
* Use the [List Components](https://github.com/TEALSK12/introduction-to-computer-science/blob/master/Unit%204%20Word/SNAP%20Lists%20Components.docx?raw=true) file to demonstrate the list structure.
52+
Use the [List Components](https://github.com/TEALSK12/introduction-to-computer-science/blob/master/Unit%204%20Word/SNAP%20Lists%20Components.docx?raw=true) file to demonstrate the list structure.
5353

5454
Use the **list** block to create a simple list.
5555

5656
* Point out the format in which lists are displayed (gray box with red elements).
57-
58-
Show that lists can be assigned to variables like other values.
59-
57+
* Show that lists can be assigned to variables like other values.
6058
* Emphasize that the list is considered a single value, even though it consists of multiple values.
6159
* Point out and explain basic list operations blocks.
6260

@@ -68,28 +66,32 @@
6866

6967
Students should complete the [You Talkin' to Me?](lab_42.md.html) activity individually or in pairs.
7068

71-
* Encourage students to be creative with their word lists.
72-
* Don't allow students to fixate on the exact grammatical correctness of generated phrases and sentences.
73-
* If this is a major concern, choose words for the lists such that generated phrases will always be grammatically correct.
69+
Encourage students to be creative with their word lists.
70+
71+
Don't allow students to fixate on the exact grammatical correctness of generated phrases and sentences.
72+
73+
If this is a major concern, choose words for the lists such that generated phrases will always be grammatically correct.
7474

7575
### Debrief
7676

7777
Ask a student to present and discuss their solution to each step.
7878

79-
* Emphasizes uses of lists and encourage students to discuss and think about why lists were necessary.
79+
Emphasizes uses of lists and encourage students to discuss and think about why lists were necessary.
8080

8181
Ask students to consider if the tasks would have been doable without lists.
8282

8383
## Accommodations and differentiation
8484

8585
In addition to the bonuses in the lab, advanced students can attempt further extensions of the grammar, including conjunctions, non-transitive verb phrases, and/or recursive rules (e.g. multiple adjectives).
8686

87-
A more complex context-free grammar for English sentences can be found [here](http://www.cs.uccs.edu/~jkalita/work/cs589/2013/12Grammars.pdf).
87+
A more complex context-free grammar for English sentences can be found [here](http://www.cs.uccs.edu/~jkalita/work/cs589/2013/12Grammars.pdf)
8888

8989
Struggling students should focus on generating a noun phrase from only a few words. The other parts of speech and phrase types can be omitted without losing the key learning objectives.
9090

9191
Non-native English speakers or those with low literacy may struggle with the grammatical concepts here. Since the grammar is not the key objective, feel free to scaffold liberally and/or substitute a different type of grammar.
9292

9393
You can also provide a grammar supplement with [example sentences](https://www.woodwardenglish.com/wp-content/uploads/2018/01/parts-of-speech-english.jpg).
9494

95+
[Snap! tips]: https://github.com/TEALSK12/introduction-to-computer-science/blob/master/Snap%20Tips.docx?raw=true
96+
9597
<!-- 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>

docs/lesson_43.md.html

+20-14
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
* [Do now 4.3](do_now_43.md.html)
2222
* [4.3 slide deck](https://github.com/TEALSK12/introduction-to-computer-science/raw/master/slidedecks/TEALS%20SNAP%204.3.pptx)
2323
* [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
2525

2626
## Pacing guide
2727

@@ -36,16 +36,19 @@
3636

3737
### Lecture
3838

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

4141
* Provide only a few minutes to work through this-- students need not write full, formal algorithms, but simply describe an approach.
42+
4243
* 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).
4344

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

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

5053
As a group, develop sample script for a simple list traversal, such as the following:
5154

@@ -54,28 +57,29 @@
5457
Ask leading questions to help students write each line of the script, one a time, then gradually put the pieces together ("build up" approach).
5558

5659
* 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:
5861

5962
![Use index In Loop Example](images/use_index_in_loop.png)
6063

6164
### Activity
6265

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

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

6872
### Wrap-up
6973

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

7276
* Hopefully the students find that the scripts were quite similar for each part.
7377

74-
Ask students to describe something they found challenging about the lab
78+
Ask students to describe something they found challenging about the lab.
7579

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

78-
## Accommodations and Differentiation
82+
## Accommodations and differentiation
7983

8084
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).
8185

@@ -93,4 +97,6 @@
9397
* Trust the Recursion 26:22-29:40
9498
* Summary of Recursion 29:40-End
9599

100+
[Snap! Tips]: https://github.com/TEALSK12/introduction-to-computer-science/blob/master/Snap%20Tips.docx?raw=true
101+
96102
<!-- 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>

docs/lesson_44.md.html

+20-12
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
* [Do now 4.4](do_now_44.md.html)
2222
* [4.4 slide deck](https://github.com/TEALSK12/introduction-to-computer-science/raw/master/slidedecks/TEALS%20SNAP%204.4.pptx)
2323
* [Lab 4.4 - Number cruncher](lab_44.md.html) ([docx](https://github.com/TEALSK12/introduction-to-computer-science/raw/master/Unit%204%20Word/Lab%204.4%20Number%20Cruncher.docx)) ([pdf](https://github.com/TEALSK12/introduction-to-computer-science/raw/master/Unit%204%20PDF/Lab%204.4%20Number%20Cruncher.pdf))
24-
* [Unit 4 tips](unit_4_tips.md.html)
24+
* [Snap! tips][]: 0, 19
2525

2626
## Pacing guide
2727

@@ -38,15 +38,17 @@
3838

3939
Ask students to define _traversal_ and outline the basic script pattern.
4040

41-
* You need not write a script here, but have students mention the key points (index variable, use index to access each item, repeat length of list, etc.).
41+
* Have students mention the key points (index variable, use index to access each item, repeat length of list, etc.).
4242

43-
Review solutions to lab 4.3.
43+
#### Review solutions to lab 4.3
4444

45-
* Ask a student to provide their solution to each part.
46-
* Discuss errors or flaws in each solution.
47-
* Point out similarities between each part, emphasizing that the basic script pattern is the same each time with only the operation performed on each item changing.
45+
Ask a student to provide their solution to each part.
4846

49-
If you feel students can handle it, you can further classify various traversals (maps, filters, folds).
47+
Discuss errors or flaws in each solution.
48+
49+
Point out similarities between each part, emphasizing that the basic script pattern is the same each time with only the operation performed on each item changing.
50+
51+
Further classify various traversals (maps, filters, folds).
5052

5153
* If necessary, provide the basic script pattern for a traversal again:
5254

@@ -56,22 +58,28 @@
5658

5759
Students should complete the [Number Cruncher](lab_44.md.html) lab individually.
5860

59-
* The operations in this lab are fairly similar to those in lab 4.3, but work with lists of numbers instead of names. As a result, students should progress more quickly.
60-
* As in lab 4.3, help students realize that the basic script pattern in each part will be the same.
61+
The operations in this lab are similar to those in lab 4.3, but work with lists of numbers instead of names. As a result, students should progress more quickly.
62+
63+
As in lab 4.3, help students realize that the basic script pattern in each part will be the same.
6164

6265
### Debrief
6366

6467
Ask one or two students to share their solution to each part of the lab.
6568

66-
* If all students seem to grasp the concept, not all parts need to be reviewed.
69+
If all students seem to grasp the concept, not all parts need to be reviewed.
70+
6771
* If skipping some parts, be sure to review at least parts 1.1 (a fold), 2.1 (a map) and 2.2 (a filter).
68-
* Point out that the solutions from labs 4.3 and 4.4 will look quite similar, even though in lab 4.3 the lists contained names in in lab 4.4 they contained numbers.
69-
* The traversal script pattern is the same regardless of the type of elements in the list.
72+
73+
Point out that the solutions from labs 4.3 and 4.4 will look quite similar, even though in lab 4.3 the lists contained names in in lab 4.4 they contained numbers.
74+
75+
The traversal script pattern is the same regardless of the type of elements in the list.
7076

7177
## Accommodations and differentiation
7278

7379
Advanced students should complete both bonus parts of the lab (1.5 and 2.3) and then assist struggling students.
7480

7581
Students who need more assistance should focus on parts 1.3, 2.1, and 2.2. Ensure that all students are able to complete at least these three parts before concluding the lesson.
7682

83+
[Snap! tips]: https://github.com/TEALSK12/introduction-to-computer-science/blob/master/Snap%20Tips.docx?raw=true
84+
7785
<!-- 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

Comments
 (0)