Lab Check-Offs
On this page, you will find a list of check-off questions for each lab.
Lab 2Build Your Own Blocks
View Lab 2
Show your Field of Flowers.
Show your random-walk sprite.
Show your
draw square-leaved flower...
` block.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.
Lab 3Conditionals, Reporters & Testing
View Lab 3
What is a Boolean? Explain why we use them, and give examples of functions that report a Boolean value.
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?
Explain the difference between a command and a reporter block.
How are global variables different from script variables?
Show us your traffic signal and letter grade blocks.
Show us the
is _ between _ and _ ?
block.Show and explain your sum of two smallest block.
Lab 4Lists and HOFs
View Lab 4
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?What is the difference between the
for each (item)
loop and thefor (i)
loop we have used in previous labs?Show us your
acronym
block.Show us your
expand
block.
Lab 5Algorithms
View Lab 5
What is an algorithm? Please give an example both in real life and from class.
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?
Please show both your
findNumberInUnsortedList
andfindNumberInSortedList
functions and describe the difference in the algorithms used.
Lab 6Algorithmic Complexity
View Lab 6
Of all the runtimes you have discovered thus far, can you rank them from “fastest” to “slowest”? Why is runtime important for the programs that we create?
Name the logarithmic time algorithm that we implemented in Lab 5. Explain why this algorithm runs in logarithmic time.
What is the difference between “Worst-Case” and “Best Case” Runtimes when running the Are the numbers of (LIST) distinct block? Why?
What happened with the time it took for your computer to counter up the numbers between 1 and x when you started doubling the numbers? Tripling the numbers? What do you think would happen with the time I multiplied your top number by 8?
Please show me your Non-Gauss and Gauss Add all numbers in. Which was faster? Why?
Lab 7Recursive Reporters
View Lab 7
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.
Lab 8Trees and Fractals
View Lab 8
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.Please show me your
crazy-tree
block.
Lab 9Testing + Homework 3
View Lab 9
How does the test block work? What is its domain and range?
How will writing tests help you for the 2048 assignment?
How do merge up and merge column work? What is the domain/range of each block?
What is the domain and range of the update display block?
Show us the output of your test block on the merge column. Explain why this output makes sense.
Lab 10HOFS and Functions as Data
View Lab 10
What is a higher-order function? Can you give an example of one?
Show us your
pandigital
block and explain how it works.Show us your
factorion
block and explain how it works.Show us your
list all factorions
function. How does this compare to thelist all pandigital numbers
function?
Lab 11Boards
View Lab 11
Why did we have variables like
Size
,Start
, andDisplay Width
when designing our board? What do they do?Explain an advantage of using an underlying board structure when designing a game.
Show your working board game by moving the sprite around the board and clicking to place bugs.
Lab 12Welcome to Python
View Lab 12
What is the difference between the
python
,python file.py
, andpython -i file.py
terminal commands?What is the difference between the
print
andreturn
Python commands?Show your
reverse_string(string)
` function. If you implemented it iteratively, explain the recursive solution. If you implemented it recursively, explain the iterative solution.Show your
palindrome(string)
function.Show your c-curve function and its output.
Lab 13Data Structures in Python
View Lab 13
What is the difference between
=
and==
in Python?What is a dictionary?
What does 0-indexing mean?
Show us the result of running the autograder.
Lab 14Object-Oriented Programming (OOP)
View Lab 14
Describe the purpose of an
init
function.To access a class attribute, should you use the class name or an instance name?
Name two different ways to assign instance attributes.
Show us your
outdated
andadd_genre
methods.Show us your completed MemePage and Member classes.
Lab 15Text Processing in Python
View Lab 15
What are the arguments of the “open” function and what does it return?
How do we choose how something is sorted when using the “sorted” function in Python?
Show us your
izzle
orpig_latin
function.Show us your
top_n_words
and “print_top_n_words” functions.Show us your
apply_language_game
function.
Lab 16Data Science
View Lab 16
What are some important commands that you can use to keep only certain rows in a table?
Describe the three main steps of working with data as given in this lab.
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 17Concurrency
View Lab 17
What is a race condition?
Is it always true that splitting a task among 10 “workers” (or cores) is better than splitting it among 5 “workers” (or cores)?
What is the difference between determinism and nondeterminism in the context of concurrency?
How does Snap! handle concurrency?