On this page, you will find a list of check-off questions for each lab.
Lab 1Welcome to Snap!
View Lab 1
No checkoff needed for Lab 1!
Lab 2Build Your Own Blocks
View Lab 2
Show your Field of Flowers.
Show your random-walk sprite.
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 is the difference between the
for each (item)loop and the
for (i)loop we have used in previous labs?
Show us your
Show us your
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
findNumberInSortedListfunctions 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 7Testing + Homework 3
View Lab 7
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.
View Lab 8
Why did we have variables like
Display Widthwhen 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 9Trees and Fractals
View Lab 9
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
Please show me your