layout | title | description | nav_order | lab_course | labs |
---|---|---|---|---|---|
default |
Lab Milestones |
A list of milestones for every lab |
3 |
cs10_fa21.html |
On this page, you will find a list of questions related to each lab. These questions highlight what we think are the most important questions / takeaways from the lab and are meant for you to check your understanding.
{% for lab in page.labs %}
Lab {{ lab.lab_no }}
{{ lab.lab_name }}
View Lab {{ lab.lab_no }}
-
{% for question in lab.questions %}
- {{ question | markdownify}} {% endfor %}
Lab 1{: .label .label-lab}Introduction to Programming
- How do you ensure you are logged into Snap!?
- Show us that you've saved this lab to your Snap! account. This is important so you can refer back to your work for future assignments!
- Show us your Alonzo game.
- Is there anything you found interesting or challenging about Snap!?
Lab 2{: .label .label-lab}Gossip
- Why do we create our own blocks (or procedures)?
- What is the difference between a reporter and a command block? What is an example of each?
- Show us your "more complicated gossip" block.
- In the last exercise, we asked you to have "more complicated who" call itself. What do you think is happening here? Don't worry if you don't fully understand this; we will formalize this in a few days!
Lab 3{: .label .label-lab}Modern Art with Polygons
- In this lab you learned a few blocks that achieve repetition. Which blocks are these, and when might you use them?
- How do you add an input to a block (or procedure)? Why might you do want to do this?
- Show your most recent pinwheel block. What do the different inputs (or argumnets) control?
- Show us your squiral block.
Lab 4{: .label .label-lab}Lists and Higher Order Functions
- What is a list? Why would we use a list of 10 elements instead of just making 10 variables?
- What do
map
,keep
, andcombine
each do? - Show us your
acronym
block. - Show us your
expand
block. - What is the difference between the
for each (item)
loop and thefor (i)
loop we have used in previous labs?
Lab 5{: .label .label-lab}Tic-Tac-Toe
- Show us your winning triple block.
- How did you program the computer strategy? Show us your "next move" block.
Lab 6{: .label .label-lab}Testing and 2048
- How does the test block work? What is its domain/range?
- Show us the output of your test block on merge column. Explain why this output makes sense, and how the test block is checking this block.
- How will writing tests help you for the 2048 assignment?
- How do merge up and merge column work? What are the domain/range of each block?
Lab 7{: .label .label-lab}Trees and Fractals Using Recursion
- Please show me your “crazy-tree” block.
- Why is it important that the inputs to a recursive call be smaller than the original inputs to the function?
- Why is it important that the sprite face the same direction at the end of a recursive function as it faced initially?
- What defines a recursive block? What are the two necessary “cases” that a recursive block must consider? Name and define them.
- Please show me your “snowflake” block.
Lab 8{: .label .label-lab}Recursive Reporters
- Why do we map the first item of the set in front of a recursive call of subsets _ over the rest of the list?
- Explain why the second version of subsets _ only makes 7 calls instead of 64.
- Explain how the sort _ block works, how the merge _ block works, and how they work together.
- Show us the recursive numbers _ block.
- Show us the recursive ends-e _ block.