Skip to content

Latest commit

 

History

History
129 lines (109 loc) · 8.56 KB

lab-checkoffs.md

File metadata and controls

129 lines (109 loc) · 8.56 KB
layout title description nav_order lab_course labs
default
Lab Milestones
A list of milestones for every lab
3
cs10_fa21.html

Lab Milestones

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 %}
{% 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, and combine each do?
  • Show us your acronym block.
  • Show us your expand block.
  • What is the difference between the for each (item) loop and the for (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.