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
andletter 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
and5
? - 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
, 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 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 themerge
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
, andpython -i file.py
terminal commands? - What is the difference between
print
andreturn
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
andadd_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 thelist 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?
- Please show us the result of running
- BeetleBlocks
- Show us your 3D tree.
- What are three differences between Snap! and Beetle Blocks?