Community Data Science Course (Spring 2023)/Week 1 coding challenges
With every coding challenge, we're asking you to create a new notebook for every set of challenges. Please just create one notebook each week. Give each one a good descriptive file name (i.e., it should probably indicate the class, the week, and your name).
As you write your notebook, consider adding "Markdown" cells which you can just type normal text into. By doing this, you can make sure that your notebook is documented so that it's clear which code and cells are answering each question. That will make it easy for us to find which code is answering Question #2.1, for example.
Some of these questions build on each other and that will likely mean that there's some duplicate code. You don't have copy and paste the same variables over and over (if you define them once and aren't changing them that's fine). It should be done so that we can run every cell in your notebook from top-to-bottom and be able to see the answers to all of your code. You can try clearing the notebook and rerunning everything to verify that this is working before you submit.
Once you are done, submit by uploading your notebook to the class Github repository in the appropriate folder.
#1 Shortbread
I found this simple nice shortbread recipe but I want to scale it up. Let's do it Python!
#1.1 Compute the total volume
Write some Python code to include the basic proportions in three variables cups_of_flour
(set to 2¼), cups_of_sugar
(set to ½) and cups_of_butter
(set to 1).
Now have your program print the total volume of shortbread dough with line that says something like the total volume is SOMENUMBEROF cups"
.
#1.2 Scale it up!
Now lets change the program so that it a new variable called number_of_batches
. Lets set this equal to 1 by default. Now lets make it so that if you increase the number of batches, it will print the new total volume.
What is the total volume of ½ batch? How about 3 batches? How about 5?
#1.3 Will it fit in my pans?
I personally tend to bake shortbread in big sheets in deep baking pans. Lets say my baking pan can only hold 5 cups of dough. But I have three such baking pans!
Write some Python that prints out a message to tell me if the three total amounts above (half, 3, and 5 batches) will fit in 1 pans, 2 pans, 3 pans, of it it will be too much to fit in any of my pans!
Analyzing the course description
#2.1 Just the length
Write some python code where there's a variable that contains the course catalog description (available at the top of the syllabus) and tells me how many characters there are in the course description.
#2.2 Looking inside the text
- Write some code that tells us if that course description variable we made contains the word "python"? Have it print out helpful answers regardless of what it finds. Be ready to talk about and explain your answer!
- Now add some code that tells us if it contains the word "python" or "statistics".
- Now add some more code to tell if it contains "python" or "statistics" or "visualization"
#3 A program that knows its limits
Write code that has a variable called my_variable
and that multiples the number times 3 and prints out the answer—but that checks to see if it's a number first but prints out a message saying that it can't do this if it's not a number.