lab_name |
lab_no |
topic_file |
questions |
Welcome to Snap! |
1 |
berkeley_bjc/intro_pair/1-introduction.topic |
No checkoff needed for Lab 1! |
|
|
lab_name |
lab_no |
topic_file |
questions |
Build Your Own Blocks |
2 |
berkeley_bjc/intro_pair/2-loops-variables.topic |
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_name |
lab_no |
topic_file |
questions |
Conditionals, Reporters & Testing |
3 |
berkeley_bjc/intro_pair/2-conditionals-testing-su21.topic |
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_name |
lab_no |
topic_file |
questions |
Lists and HOFs |
4 |
berkeley_bjc/lists/lists-I.topic |
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? |
What is the difference between the `for each (item)` loop and the `for (i)` loop we have used in previous labs? |
Show us your `acronym` block. |
Show us your `expand` block. |
|
|
lab_name |
lab_no |
topic_file |
questions |
Algorithms |
5 |
berkeley_bjc/areas/algorithms.topic |
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` and `findNumberInSortedList` functions and describe the difference in the algorithms used. |
|
|
lab_name |
lab_no |
topic_file |
questions |
Algorithmic Complexity |
6 |
berkeley_bjc/areas/algorithm-complexity.topic |
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_name |
lab_no |
topic_file |
questions |
Testing + Homework 3 |
7 |
berkeley_bjc/2048-testing/2048.topic |
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_name |
lab_no |
topic_file |
questions |
Boards |
8 |
berkeley_bjc/lists/tic-tac-toe.topic |
Why did we have variables like `Size`, `Start`, and `Display 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_name |
lab_no |
topic_file |
questions |
Trees and Fractals |
9 |
berkeley_bjc/recur/recursion-trees-fractals.topic |
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_name |
lab_no |
topic_file |
questions |
Recursive Reporters |
10 |
berkeley_bjc/recur/recursive-reporters-part1.topic |
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_name |
lab_no |
topic_file |
questions |
HOFS and Functions as Data |
11 |
berkeley_bjc/hofs/hofs-practice.topic |
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 the `list all pandigital numbers` function? |
|
|
lab_name |
lab_no |
topic_file |
questions |
Welcome to Python |
12 |
berkeley_bjc/python/besides-blocks-welcome-parsons.topic |
What is the difference between the `python`, `python file.py`, and `python -i file.py` terminal commands? |
What is the difference between the `print` and `return` 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_name |
lab_no |
topic_file |
questions |
Data Structures in Python |
13 |
berkeley_bjc/python/besides-blocks-data-struct.topic |
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_name |
lab_no |
topic_file |
questions |
Object-Oriented Programming (OOP) |
14 |
berkeley_bjc/python/besides-blocks-oop-joshhug-edition.topic |
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` and `add_genre` methods, as well as what the autograder outputs. |
|
|
lab_name |
lab_no |
topic_file |
questions |
Text Processing in Python |
15 |
berkeley_bjc/python/besides-blocks-text-processing.topic |
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` or `pig_latin` function. |
Show us your `top_n_words` and "print_top_n_words" functions. |
Show us your `apply_language_game` function. |
Show us the result of running the autograder. |
|
|
lab_name |
lab_no |
topic_file |
questions |
Data Science |
16 |
berkeley_bjc/python/data-lab.topic |
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_name |
lab_no |
topic_file |
questions |
Concurrency |
17 |
berkeley_bjc/areas/concurrency.topic |
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? |
|
|
lab_name |
lab_no |
topic_file |
questions |
Snap! & Python Libraries |
18 |
berkeley_bjc/libraries/libraries.topic |
This lab does not have checkoff questions. We encourage students to go through the assignment at their leisure if they're interested. |
|
|