Link Search Menu Expand Document

Lab Check-Offs

On this page, you will find a list of check-off questions for each lab.

Lab 1 Welcome to Snap! & Build Your Own Blocks

  • Why should you build your own blocks?
  • Name at least two different ways to achieve repetition.
  • Show us your random-walk sprite.
  • Show us your draw square-leaved flower... block.

Lab 2 Conditionals, Reporters, and Testing

  • What is a Boolean? Explain why we use them, and give examples of functions that report a Boolean value.
  • Show us your traffic signal and letter grade blocks.
  • Explain the difference between a command and a reporter block.
  • Show us the “is _ between _ and _ ?” block.
  • What does the mystery reporter (at the bottom of the “Reporter Blocks” page) report when run with the inputs hello and 5?
  • Name a few of the input types. Why is it important that we specify input types?
  • How are global variables different from script variables?
  • Show and explain your sum of two smallest block.

Lab 3 Lists

  • 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 4 Fractal Recursion

  • Why is it important that the inputs to a recursive call be smaller than the original inputs to a function?
  • Why is it important that the sprite face the same direction at the end of a recursive fractal block as it faced initially?
  • What defines a recursive block? Name and explain the two necessary cases that a recursive block must consider?
  • Show us your snowflake block.

Lab 5 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?
  • (Optional) 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 your recursive numbers block.
  • Show us your recursive ends-e block.

Lab 6 Welcome to Python!

  • What is the difference between the python, python file.py, and python -i file.py terminal commands?
  • What is the difference between print and return in Python?
  • Show us your reverse_string(string) function. If you did it iteratively, explain the recursive solution. If you did it recursively, explain the iterative solution.
  • Show your palindrome(string) function.
  • Show your c-curve function and its output.

Lab 7 Data Structures

  • What is the difference between = and == in Python?
  • Show us the result of running the autograder.
  • What is a dictionary?
  • What does 0-indexing mean?

Lab 8 Project 3 Intro + OOP

  • Describe the purpose of the __init__ function.
  • If you have an instance attribute and class attribute with the same name, which takes precedence?
  • Show us your outdated and add_genre methods.
  • Show us your completed MemePage class.

Lab 9 Higher-Order Functions

  • What is a higher-order function?
  • Show us your pandigital function and explain how it works.
  • Show us your factorion function and explain how it works.
  • Show us your list all factorions function. How does this compare to the list all pandigital numbers function?

Lab 10 Intro to Data Science

  • What are some commands that you can use to keep only certain rows in a table?
  • Describe the three main steps of working with data.
  • What commands did you use to find the price of the most expensive listing in San Francisco?
  • Show us your scatter plot. What are some things you notice from this plot?

Lab 11 Algorithms

  • What is an algorithm? Please give an example both in real life and from class.
  • Please show both your “findNumberInUnsortedList” and “findNumberInSortedList” functions and describe the difference in the algorithms used.
  • Are algorithms which are (on average) faster always “better”? Why or why not?
  • What might some “trade-offs” to different computer science algorithms be?
  • How can abstraction and algorithms relate in computer science?

Lab 12 Snap! and Python Libraries

  • Bokeh
    • What other ways can you think of to visualize our data? Take a look at the Bokeh gallery or documentation for some examples and inspiration.
    • Show your final COVID-19 map.
  • DB Snap
    • What do the Union, Intersection, and Natural Join operators do?
    • Show your answer to the three required exercises.
  • MoviePy
    • Explain why a variable needs to be assigned whenever a function is called (e.g. clip1 = clip1.resize(0.60))
    • Show us your final video and the code you used.
  • Colorama
    • Please show us the result of running parse_text(text).
    • What are the two ways to access instance attributes?
  • BeetleBlocks
    • Show us your 3D tree.
    • What are three differences between Snap! and Beetle Blocks?