Directions
All lab check-off deadlines are at 11:59PM.
(However, you need to get checked off by a TA or lab assistant, so you last chance to get checked off is during lab or office hours.)
To get checked off, you should prepare answers to the specific questions for each lab. You shouldn’t feel compelled to memorize every single detail of lab. The goal here to make sure you’re on track with CS10 and you should be comfortable with the higher level concepts for each question. For each lab the first questions are the biggest ideas, and the later questions are for your own benefit and review.
Remember: Even if you miss a check-off deadline, you can still get 50% credit for any lab check off at any time during the semester.
Week 1: Lab 1: No check-off needed!
Lab 1: Welcome to Snap!
- No questions for this lab!
Week 2: Labs 2 and 3
Lab 2: Build Your Own Blocks
Required
- Why should we make our own blocks?
- Show us the
Draw Flower
block.
More Self-Check Questions
- What are some different ways to achieve repetition? Why would you use one way over another?
Lab 3: Conditionals and Variables
Required
- Why are script variables useful? How do we create a script variable?
- Show us the code for the
is _ between _ and _ ?
block.
More Self-Check Questions
- What is the difference between
if
and if-else
blocks?
- For the Leap Year example, explain which code was easiest to read and which code was easiest to debug.
#Week 3: Labs 4 and 5
Lab 4: Functions
Required
- Show and Explain your Valid-Date Block
- What is the difference between and global and script variable? What are the pros/cons of each?
More Self-Check Questions
- What are different ways to broadcast between sprites?
- Explain the bugs in each of the provided pieces of code for the “sum of numbers between __ and ___ block”
Lab 5: Lists 1 (#lab5)
Required
- Which blocks allow you to use a function on an entire list “all at once”? What are their domains and ranges?
- What is the difference between the for and for each blocks?
More Self-Check Questions
- Lets look at
swap
. Why do we need a temp variable?
- What are lists? How are they represented in Snap? What are some operations you can perform on lists?
- How are lists different from variables? How are they similar? How do you create a temporary list for use in a block definition?
- Why might global variable manipulation be useful in some situations? what drawbacks are there?