Skip to content

Commit

Permalink
Dans feedback update
Browse files Browse the repository at this point in the history
  • Loading branch information
aspiece committed Oct 11, 2021
1 parent 46326ee commit 6c54b77
Show file tree
Hide file tree
Showing 131 changed files with 382 additions and 380 deletions.
4 changes: 2 additions & 2 deletions GLOSSARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ Snap! is an extended reimplementation of [Scratch](http://scratch.mit.edu) that

### Scripts

Different types of blocks linked together
Different types of blocks linked together.

### Sequential Search Algorithm

Expand Down Expand Up @@ -266,7 +266,7 @@ A tool for evaluating the possible inputs and outputs of a Boolean expression.

### Variable

A placeholder for some value. Types of variables:Global variables - apply to all sprites Sprite variable - applies to one sprite Script variable - parameter that applies to one script
A placeholder for some value. Types of variables:Global variables - apply to all sprites Sprite variable - applies to one sprite script variable - parameter that applies to one script

## W

Expand Down
26 changes: 13 additions & 13 deletions curriculum_map.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Materials and preparation resources can be found in each of the lesson pages.
| ------ | ---------- | --- | -- |
| [0.1: The first day of school][] | Identify the class they are taking. List the high-level goals of the course. Describe classroom procedures, rules, and norms. | Syllabus | 1 |
| [0.2: Algorithms][] | Define **algorithm.** Construct algorithms for performing simple tasks. | Peanut Butter Jelly | 1 |
| [0.3: Programming languages][] | Complete small coding tasks (Hour of a script). Explain why computer programs are written in specialized languages. | Hour of Code | 1 |
| [0.3: Programming languages][] | Complete small scripting tasks (Hour of Code). Explain why computer programs are written in specialized languages. | Hour of Code | 1 |
| [0.4: Self-portrait][] | Create a simple script in to describe themselves | Getting to Know You | 1 |
| [0.5: Coordinate system][] | Recall the Cartesian coordinate system. Implement the coordinate system to position a sprite using Coordinates. | Getting to Know Coordinates | 1 |

Expand All @@ -29,22 +29,22 @@ Materials and preparation resources can be found in each of the lesson pages.
| Lesson | Objectives | Lab | Days |
| ------ | ---------- | --- | --- |
| [1.1: Welcome to Snap!][] | Define and identify **blocks**, **scripts**, **sprites**, and **the stage**. Write simple scripts. Describe what simple scripts do without executing the script.| Welcome to Snap! | 2 |
| [1.2: Building blocks][] | Identify the pallettes of blocks in . Describe the function of several common blocks. Be able to use common blocks to build simple scripts. | Scavenger Hunt | 1 |
| [1.2: Building blocks][] | Identify the pallettes of blocks in . Describe the function of several common blocks. Be able to use common blocks to build simple scripts. | Scavenger Hunt | 1 |
| [1.3: Drawing shapes][] | Construct simple algorithms to draw shapes. Convert algorithms into scripts. | Squares, triangles and Stars | 1 |
| [1.4: Animation][] | Animate sprites using costume changes and movement.Trigger action in other sprites using broadcasts.Implement scripts for multiple sprites. | Sprites in Action | 1 |
| [1.5: Storytelling project][] | Apply scripting skills to create an animated movie, play, nursery rhyme, or other scene. Practice good debugging skills to correct issues as they arise while scripting. | Project 1: Animated Storytelling | 2 |
| [1.4: Animation][] | Animate sprites using costume changes and movement.Trigger action in other sprites using broadcasts. Implement scripts for multiple sprites. | Sprites in Action | 1 |
| [1.5: Storytelling project][] | Apply programming skills to create an animated movie, play, nursery rhyme, or other scene. Practice good debugging skills to correct issues as they arise while scripting. | Project 1: Animated Storytelling | 2 |
| [Culture day lesson A: Video/reading][] | Connect CS Unit topics with current events | | 1 or more |

## Unit 2: Loop-de-loop

| Lesson | Objectives | Lab | Days |
| ------ | ---------- | --- | --- |
| [2.1: Loops][] | Define **loop** in a scripting context. Explain why loops are useful. Implement simple repeat and forever loops. Apply loops to reduce redundancy in a script. | Squares and Triangles Redux | 1 |
| [2.2: Nested loops][] | Apply nested loops to solve scripting problems. | Another Brick in the Wall | 1 |
| [2.1: Loops][] | Define **loop** in a programming context. Explain why loops are useful. Implement simple repeat and forever loops. Apply loops to reduce redundancy in a program. | Squares and Triangles Redux | 1 |
| [2.2: Nested loops][] | Apply nested loops to solve programming problems. | Another Brick in the Wall | 1 |
| [2.3: Inputs and conditionals][] | Apply **Ask** and **Receive**. Apply simple conditional, **if** and **if-else** blocks, to alter control flow in a script. | What Shape Is That? | 1 |
| [2.4: Variables][] | Apply variables to track values throughout a script. | Guessing Game | 1 |
| [2.4: Variables][] | Apply variables to track values throughout a program or script. | Guessing Game | 1 |
| [2.5: Boole in the house][] | Define and identify Boolean expressions and operators. Evaluate Boolean expressions. Utilize Boolean operators, `and`, `or`, `not`, to create compound conditions. | Triangle of All Kinds | 1 |
| [2.6: Pong project][] | Implement a well-written version of Pong. Practice good style and conventions to create readable and maintainable a script. | Project 2: Pong | 4 |
| [2.6: Pong project][] | Implement a well-written version of Pong. Practice good style and conventions to create readable and maintainable program. | Project 2: Pong | 4 |
| [Culture Day Lesson B: Student research project/presentation][] | Connect CS Unit topics with current events | | 1 or more |

## Unit 3: Abstraction and Customization
Expand All @@ -62,28 +62,28 @@ Materials and preparation resources can be found in each of the lesson pages.

| Lesson | Objectives | Lab | Days |
| ------ | ---------- | --- | --- |
| [4.1: Intro to lists][] | Explain the concept of a `list` in a scripting context.Identify scenarios in which lists are useful. | | 1 |
| [4.1: Intro to lists][] | Explain the concept of a `list` in a programming context. Identify scenarios in which lists are useful. | | 1 |
| [4.2: Static lists][] | Create static lists. Access elements of a list. Add and remove elements from a list. | You Talkin' to Me? | 1 |
| [4.3: List practice I][] | Traverse a list, accessing each element one at a time.Perform operations combining all elements in a list. Select defined subsets of elements in a list. | Guess Who | 1 |
| [4.4: List practice II][] | Traverse a list, accessing each element one at a time. Perform operations combining all elements in a list. Select defined subsets of elements in a list. | Number Cruncher | 1 |
| [4.5: Sequential search][] | Explain the sequential search algorithm. Implement several variations of sequential search.. | It's Around Here Somewhere | 1 |
| [4.6: Guess my word project][] | Apply lists to implement a complete version of _Guess My Word_. Exercise good scripting practices to produce a script that is not only functional but also elegant and well-written. | Project 4: Guess My Word | 5 |
| [4.6: Guess my word project][] | Apply lists to implement a complete version of _Guess My Word_. Exercise good programing practices to produce a program that is not only functional but also elegant and well-written. | Project 4: Guess My Word | 5 |
| [Culture day lesson D: Interview with people in T\technology][] | Connect CS Unit topics with current events | | 1 or more |

## Unit 5: Cloning

| Lesson | Objectives | Lab | Days |
| ------ | ---------- | --- | --- |
| [5.1: Intro to cloning][] | Explain why prototyping and clones can be useful. Describe how complex goals can be accomplished using cloning. | Connect the Dots | 1 |
| [5.2: Cloning sprites][] | Demonstrate the difference between sprite and global variables. Explain how cloning and prototyping simplify similar sprites in the same script. Create prototype sprites and clones of the prototype sprite. Explain the difference between a "master" sprite and a "clone" sprite. | Lots of Balls | 1 |
| [5.2: Cloning sprites][] | Demonstrate the difference between sprite and global variables. Explain how cloning and prototyping simplify similar sprites in the same program. Create prototype sprites and clones of the prototype sprite. Explain the difference between a "master" sprite and a "clone" sprite. | Lots of Balls | 1 |
| [5.3: Communicating With clones][] | Pass information from the master to individual clones. Delete clones when they are no longer needed. | Fewer Balls | 1 |
| [5.4: Space Invaders project][] | Use cloning to implement a complete version of "Space Invaders". Exercise good scripting practices to produce a script that is not only functional but also elegant and well-written. | Project 5: Space Invaders | 10 |
| [5.4: Space Invaders project][] | Use cloning to implement a complete version of "Space Invaders". Exercise good programing practices to produce a program that is not only functional but also elegant and well-written. | Project 5: Space Invaders | 10 |

## Unit 6: Final project

| Lesson | Objectives | Lab | Days |
| ------ | ---------- | --- | --- |
| [6.1: Design basics][] | Identify the key considerations when designing a piece of software. Describe methods for prioritizing features, use cases, and/or scenarios.Explain why design and planning are necessary steps in the software engineering process. | Final Project | 1 |
| [6.1: Design basics][] | Identify the key considerations when designing a piece of software. Describe methods for prioritizing features, use cases, and/or scenarios. Explain why design and planning are necessary steps in the software engineering process. | Final Project | 1 |
| [6.2: Research and ideate][] | Identify potential users, intended impact, and possible unintended negative consequences. Generate ideas to create range of possibilities using a brainstorm technique. Conduct user-centered research to understand design opportunities and barriers. Critically analyze factors when choosing between project ideas. Prioritize proposed project ideas using the identified factors. | 1 |
| [6.3: Defining requirements][] | Define key **user-scenarios** for a project and the features required to implement each scenario. Explain the importance of wire framing when designing an application. Capture key scenarios using **sketches** - (hand drawn, or with drawing tool). Refine design based on user-centered research. | Final Project | 1 |
| [6.4: Building a plan][] | Break down, and identify the main technical components needed for the functional project specifications (scenarios). Explain the purpose of each technical component. Develop the project idea into a full, detailed specification. Create a plan that includes specific steps or a list of bite-sized tasks. Estimate time required for tasks. | Final Project | 1 |
Expand Down
2 changes: 1 addition & 1 deletion do_now_11.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@

1. Open the development environment and start a new project.
2. Using the **say** block have your sprite say "Hello World".
3. Save your with the file name _Donow11_.
3. Save your with the file name _DoNow1.1_.
2 changes: 1 addition & 1 deletion do_now_12.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ All of the following blocks, you have been introduced too. Let's put them togeth
4. Turn 90 degrees clockwise.
5. Move 100 units.
6. Write down the coordinates in your notebook.
7. Save your project as _Donow12_
7. Save your project as _DoNow1.2_
2 changes: 1 addition & 1 deletion do_now_13.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
1. Open this [starter script](https://snap.berkeley.edu/snap/snap.html#present:Username=aspiece%40gmail.com&ProjectName=Equalteral%20Triangle)

2. exit full screen
3. Save your project as _Donow13_.
3. Save your project as _DoNow1.3_.
4. You can use this as a starting point for today's lab.

> Try enabling `visible steps` near the middle of the top toolbar. Adjust the slider so you can see what happens as you step through your script.
Expand Down
6 changes: 3 additions & 3 deletions do_now_14.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@

2. Log into your account and save the starter project.

3. Save your project as _Donow15_.
3. Save your project as _DoNow1.5_.

4. Press the space bar on your keyboard several times in a row. Notice what happens to the two bats on the screen.

>Hint: If a sprite moves completely off the Stage, you can bring the sprite back on the Stage by right-clicking its icon in the Sprite Corral and choosing `show`.
>Hint: If a sprite moves completely off the Stage, you can bring the sprite back on the Stage by right-clicking its icon in the sprite corral and choosing `show`.
5. Use your mouse to point the cursor at one of the bats. Then, click the mouse button several times. Notice what happens to the two bats on the screen.

6. Take a look at all of the parts of the window. Read the comments in the script. Be sure to explore the tabs at the top of the scripting area and the icons in the Sprite Corral.
6. Take a look at all of the parts of the window. Read the comments in the script. Be sure to explore the tabs at the top of the scripting area and the icons in the sprite corral.

> Hint: It may be helpful to activate "visual steps" with the footprint icon near the middle of the top tool bar.
Expand Down
4 changes: 2 additions & 2 deletions do_now_15.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Knock knock joke

1. Write a script where one sprite is telling another a "knock, knock" joke. Internet search for one if you need ideas.
1. Writea program where one sprite is telling another a "knock, knock" joke. Internet search for one if you need ideas.

Use these blocks:

![Broadcast](images/broadcast.png)

![when I receive](images/when_i_receive.png)

2. Save your project as _Donow12_.
2. Save your project as _DoNow1.2_.
2 changes: 1 addition & 1 deletion do_now_152.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@

![change size by](images/change_size_by.png)

2. Save your project as _Donow152_.
2. Save your project as _DoNow1.5.2_.
6 changes: 3 additions & 3 deletions do_now_153.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Movement interaction

1. Open this [starter script](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuangpha&ProjectName=160201%20Do%20Now%20Bat%20and%20Dragon).
1. Open this [starter project](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuangpha&ProjectName=160201%20Do%20Now%20Bat%20and%20Dragon).

2. Save your project as _Donow153_.
2. Save your project as _DoNow1.5.3_.

3. Look at the bat's script and how events are triggered by two different keys. Trace through the scripts to understand how the it works.
3. Look at the bat's program and how events are triggered by two different keys. Trace through the scripts to understand how the it works.

4. Modify the script so that the bat flies to the Dragon when the space key is pressed once.
5. Add to the script to have the bat to say "BOO!" when it stops.
Expand Down
8 changes: 4 additions & 4 deletions do_now_21.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Introduction to loops

Open this [starter script](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuangpha&ProjectName=160205%20Do%20Now%20User%20Input), run the scrpt and test it, then answer these in your notebook.
Open this [starter project](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuangpha&ProjectName=160205%20Do%20Now%20User%20Input), run the scrpt and test it, then answer these in your notebook.

1. What is the **forever** block, and why is it important for this script?
2. What happens if you take it out temporarily, reattach the rest of the script to the **When Green Flag clicked** block, and run the script?
1. What is the **forever** block, and why is it important for this program?
2. What happens if you take it out temporarily, reattach the rest of the script to the **When Green Flag clicked** block, and run the program?
3. What does the **point direction 90** do to the sprite?
4. What would happen if you decrease or increase the number of steps?
5. Add scripting so that if the user presses the left arrow key, the sprite faces the left direction and moves a few steps in that direction. Test to make sure that this works and also that right arrow key still works.
6. Save your project as _Donow21_.
6. Save your project as _DoNow2.1_.
4 changes: 2 additions & 2 deletions do_now_22.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Building a staircase

1. Open this [starter script](https://snap.berkeley.edu/snap/snap.html#present:Username=andrewspiece&ProjectName=Do_Now%202.2_Starter) puzzle.
1. Open this [starter project](https://snap.berkeley.edu/snap/snap.html#present:Username=andrewspiece&ProjectName=Do_Now%202.2_Starter) puzzle.

2. Reassemble the blocks so Alonzo asks how many stairs to draw.

3. Have Alonzo draw stairs from the center of the stage to the upper right the number of times specified.

4. Save your project as _Donow21_.
4. Save your project as _DoNow2.1_.

![Alonzo drawing stairs](images/do_now_22.PNG)
2 changes: 1 addition & 1 deletion do_now_23.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
2. How would you use an additional **repeat** block to draw 12 squares in a line one next to each other. Each square will be to the right of the last square drawn.

3. How would you modify the script so the squares form a set of stairs going up?
4. Save your project as _Donow23_.
4. Save your project as _DoNow2.3_.
6 changes: 3 additions & 3 deletions do_now_24.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Debugging

1. Open this [starter script](https://snap.berkeley.edu/snap/snap.html#present:Username=andrewspiece&ProjectName=Do_Now%202.4_Starter) game.
2. Save your project as _Donow24_
1. Open this [starter project](https://snap.berkeley.edu/snap/snap.html#present:Username=andrewspiece&ProjectName=Do_Now%202.4_Starter) game.
2. Save your project as _DoNow2.4_
3. In this two-player game, Alonzo is trying to catch the blue dog. Both Alonzo and the blue dog are controlled using keys on the keyboard.
4. There are at least six bugs in this program. Four of them affect the game play and two of them are cosmetic.
5. Fix all of the bugs to get the scripts working correctly.
5. Fix all of the bugs to get the program working correctly.

## Respond to the following in your notebook

Expand Down
2 changes: 1 addition & 1 deletion do_now_26.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

1. Open a new project and change the sprite's costume to a ball.

2. Save your project as _Donow26_
2. Save your project as _DoNow2.6_

3. Using the following blocks, write a script that continuously moves the ball across the screen and bounces the ball when it hits the edge of the screen.

Expand Down
6 changes: 3 additions & 3 deletions do_now_32.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Sprite control

1. Open this [starter script](https://snap.berkeley.edu/snap/snap.html#present:Username=andrewspiece&ProjectName=Do_Now%203.2_Starter).
1. Open this [starter program](https://snap.berkeley.edu/snap/snap.html#present:Username=andrewspiece&ProjectName=Do_Now%203.2_Starter).

2. Save your project as _Donow32_.
2. Save your project as _DoNow3.2_.

3. Add to the script to do the following:
3. Add to the program to do the following:

* Move Dino up 1 unit at a time when you press the **arrow up** key. You must use the **change y by** block.
* Move Dino down 1 unit at a time when you press the **arrow down** key. You must use the **change y by** block.
Expand Down
4 changes: 2 additions & 2 deletions do_now_33.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Jumping

1. Open this [starter script](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuangpha&ProjectName=160223%20Do%20Now%20dog%20walking%20and%20jumping) that can move left and right in response to arrow keys. Make the following modifications to the script:
1. Open this [starter project](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuangpha&ProjectName=160223%20Do%20Now%20dog%20walking%20and%20jumping) that can move left and right in response to arrow keys. Make the following modifications to the program:

2. Save your project as _Donow33_.
2. Save your project as _DoNow3.3_.

3. A walking animation for the dog. Hint: it has 2 costumes.

Expand Down
4 changes: 2 additions & 2 deletions do_now_34.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ Last class, you created a **gravity** block where a sprite would fall to the gro

We will solve this problem by adding an argument to the **gravity** block. We can then pass the rate we want the sprite to move.

1. Open your Donow34 script with the **gravity** block.
1. Open your DoNow3.3 script with the **gravity** block.

2. Add an argument named "rate" to the **gravity** block by clicking the "+" next to the block name.

3. Change the **move** block to move "rate" spaces by dragging the rate variable to the **move** block.

4. You can now pass different rates in your **gravity** block call located in the sprite's forever loop.

5. Save your project as _Donow34_.
5. Save your project as _DoNow3.4_.
Loading

0 comments on commit 6c54b77

Please sign in to comment.