Link Search Menu Expand Document

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.

When you finish a lab, please let an instructor know and they will go through the questions for your lab with you. This is intended to be a discussion rather than an exam! The instructor will work with you to assess your comprehension and help clarify any concepts or questions you might have missed.

Lab 1B: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 2B: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 3B: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 1A:Welcome to Snap!

  • No checkoff needed

Lab 1B:Welcome to Snap!

  • Show your field of flowers (last page of lab).
  • Why should you Build Your Own Blocks? Give a reason that someone may create a custom block.
  • What are some different ways to achieve repetition? Name at least 2.
  • Show your random-walk sprite.
  • Show your draw square-leaved flower... block.

Lab 4Lists 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 5Tic-Tac-Toe

  • Show us your winning triple block.
  • How did you program the computer strategy? Show us your “next move” block.

Lab 6Testing 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 7Trees 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 8Recursive 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.