Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maze Project - Proposed Edits #179

Open
Wowfunhappy opened this issue Jul 28, 2022 · 9 comments
Open

Maze Project - Proposed Edits #179

Wowfunhappy opened this issue Jul 28, 2022 · 9 comments

Comments

@Wowfunhappy
Copy link

Wowfunhappy commented Jul 28, 2022

I was looking through the "The Maze" untutorial today as part of something else, and I was thinking about my experience teaching the project. It's really fantastic for introducing X and Y coordinates, which seems to be one of the hardest concepts for beginners. Making a character move with the arrow keys also seems to be really exciting for students.

However, I've had a lot of students complain about how small their sprites have to be to fit through the narrow corridors in the starter project. Moving the sprite to the start when the flag is clicked is occasionally a bit of a struggle (it's the first thing that needs coordinates!), but it's kind of glossed over in the untutorial. And, most of my students really struggle to add an additional level at the end, which requires really considering program state in multiple places.

I'd like to propose we update this project to something similar to the below:


1. Remix the Starter Project

Click this link to open the Maze Starter Project: [Link Here]. Press the green "Remix" button at the top to make your own copy.

1

2. Add a Sprite

Delete the existing cat sprite, and add your own sprite. Shrink your sprite to fit inside the walls of your maze.

2

3. Move With the Arrow Keys

Make your sprite move when you press the arrow keys.

3

4. Go to the Start of the Maze

When the flag is clicked, make your sprite teleport to the start of your maze.

4

5. Make the Walls Solid

Make your sprite go back to the start of the maze when it touches a wall.

5

6. Add a Finish Spot

Create a finish spot at the end of your maze. When your sprite touches the finish spot, tell the player they won!

6

Challenge: Add More Levels

Can you add a second level? When your sprite gets to the finish spot in the first level, the backdrop should switch to the second level. (Hint: Add a "level" variable.)

7


Updated Starter Project is here: https://scratch.mit.edu/projects/717806696/

And, here are the original screenshots in case they're needed (some recordings won't look right if the video player isn't set to loop): Jonathan - Proposed Maze Update 2022.07.27 | Assets.zip

Advantages:

  • The maze walls are larger. This allows students to use larger sprites, and ensures they won't spend tons of time testing their time testing the game because they kept running into walls.
  • "When the flag is clicked, make your sprite teleport to the start of your maze" is its own step, and is immediately followed by "make your sprite go back to the start of the maze when it touches a wall". My hope is this ordering will help students recognize the sprite needs to do the same thing under either condition.
  • Adding a second level is a "challenge" step. Students are still encouraged to try it, but those who do not will still have created a complete game. IMO, this sort of differentiation is particularly useful in a Level 1 project, when we're often still trying to determine the appropriate difficulty level for a new student.

Any thoughts?

–Jonathan

@Wowfunhappy
Copy link
Author

Wowfunhappy commented Jul 29, 2022

I'm not entirely sure about the title for step 5. Perhaps instead of "Make the Walls Solid" it's just "Add Code for the Walls"?

The original untutorial doesn't title the steps at all, but I think it's preferable for the kids to have a shorter version of the goal to remember while coding.

@Wowfunhappy
Copy link
Author

Wowfunhappy commented Sep 23, 2022

I realized this morning that there's an option in the LMS to create new untutorials. 🤦‍♂️

I've put my version of The Maze in there... and added some others too.

The Maze:
https://coding.space/launchpad/00da041d-f844-4ec9-9795-dc577d3c2e44

Code Your Name:
https://coding.space/launchpad/668f3685-714d-491d-b1c8-13ebd3dbe4d9

Robot Fleet:
(aka "Cloning Tutorial")
https://coding.space/launchpad/7240a8d1-7e86-400e-9d57-055d29233b87

Quiz Show:
(original Level 1 project)
https://coding.space/launchpad/6ac1c714-0b22-43ad-8420-80b6c6099eb5

Some of the screenshots appear cropped due to #180.

I'd be happy to discuss the rationale for everything, but at a very high level, I'm trying to smooth over some very common foot-guns where most students end up needing teacher assistance.

@madduccino
Copy link
Owner

madduccino commented Nov 22, 2022

@Wowfunhappy Thank you for this!

Maze
-I agree with your maze edits and will integrate in the next few days!

Robot Fleet
-The main reason the cloning tutorial was created was to advise students to hide their original sprite when making clones so they can avoid writing duplicate code in their projects. I can see how your version makes it more clear what a clone is, however, so I think a merging of the two ideas could make sense.
-Step 3 of your version says "After two seconds, make your sprite create a clone of itself, then go to a different position on screen." This makes me think the original sprite is the one that is supposed to go to a different position but the gif makes it seem as if it's the clone that is going. I know that it's the former but wondering if there is a better way to visually represent this.

-Quiz Show is great and was really helpful at our GirlCode event actually. Happy to add it!

@Wowfunhappy
Copy link
Author

@madduccino Eek, the Scritch versions of these have evolved a bit since I made those LMS copies, based on experience at Chapin. I need to go back and make those updates to the LMS untutorials as well. I'm traveling tonight but will do that asap.

Step 3 of your version says "After two seconds, make your sprite create a clone of itself, then go to a different position on screen."

Yeah, I'm not sure what I was thinking when I did it that way! The Scritch version of Robot Fleet now says (with updated visuals to match):

After two seconds, make your sprite create a clone of itself, then move ten steps.

And then the following step reads:

When your sprite starts as a clone, have it go to a random position and say "I am a clone".

This still isn't perfect because some students won't read the "then move ten steps" part, but it mostly works.

@madduccino
Copy link
Owner

No rush, just send me an update when you're ready. Happy TG!

@Wowfunhappy
Copy link
Author

@madduccino Thanks, these have all been updated to match the current versions in Scritch.

Let me know if you think Steps 3 & 4 of Robot Fleet are clearer now. It's still not perfect but I think it's better.

Maybe we add hiding the original sprite as the second-to-last step?

@madduccino
Copy link
Owner

madduccino commented Dec 15, 2022

@Wowfunhappy Awesome! I added the hiding of the original sprite as a tip in the last step and what do you think about his instead for Step 3?

After two seconds, make your sprite create a clone of itself. Drag your sprite around with your mouse. How many sprites do you see?

Also can you share links to the original Scratch projects? I'll add those to the description so the example game will pop up.

@Wowfunhappy
Copy link
Author

Great, thank you! Here are project links:

Code Your Name: https://scratch.mit.edu/projects/767587660
Quiz Show: https://scratch.mit.edu/projects/777200210
The Maze: https://scratch.mit.edu/projects/778070710
Robot Fleet: https://scratch.mit.edu/projects/777193430

Note that at the moment, these aren't meant to be "answer keys", because the code is not written as I'd expect a student to write it (for example, Quiz Show uses a custom block to ask questions). If that's something you'd like, I'd be happy to do that next week.

@madduccino
Copy link
Owner

If you can send me the answer key versions, that would be great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants