Lesson 1
1.What makes two pieces of code “the same”? They perform the same function
2.Could there ever be two pieces of code that you consider to be “the same” even if they aren’t identical? Yes, as long as they perform the same exact function.
3. Problems
Find a person whose birthday is before yours - Ethan
Find a person whose birthday is after yours - Nithn
Find the person whose birthday is the closest before yours - Saharsa
Find the person whose birthday is the closest after yours - Chris
Find the person whose birthday is closest to yours - Saharsa
Find the person with an equal number of birthdays before and after theirs - Nithn and Ben
Find the two people with the closest birthdays in the room - Himanshi and Ben
Find the shortest period of time in which three people have birthdays - 7 days
Find the shortest period of time in which four people have birthdays - 12 days
Find the longest period of time in which no one has a birthday - Aug 20 - Oct 6
4.Which problems did you need to do something similar in order to solve them? For finding the shortest periods questions I had to do something similar. I had to do similar things to find the closest to me problems.
5.Discuss with another group Which of these algorithms are “the same” as one another? 1,3, and 4
6.How did you decide that? They did the same thing
7.How did today’s activities change the way you think about algorithms and problems? I realized the importance of how algorithms make things more efficient than doing them without one.
(Activity guide is typed along with the prompts)
Lesson 2
1.Have you ever lost a pencil in a backpack? What are the steps you take to find the pencil? I take each item out out of my backpack then I search the empty backpack to see if there is anything in there
2.How many steps did it take to find out if anyone had the winning ticket? What is the greatest possible number of steps it could take for this instance? 3 steps and 3 steps would be the greatest
3.What if we had six volunteers? The whole class? The whole school? What is the pattern here? It is a linear pattern with the number of people directly corresponding to the number of steps
4.If I had one input, which algorithm would I use to get my answer with the fewest amount of steps? What if I had five?What about one hundred? I would use linear for the fewest and 5. For one hundred, I would use binary search.
Lesson 3
1.What does it mean to say one algorithm is “more efficient” than another? It achieves the same thing the other algorithim does but at a faster and less complicated manner.
2.Which raffle felt like it was more difficult to check? Why? Group raffle because there was a lot more people
3.Your school is considering running the group raffle at an upcoming assembly to give away a prize. Write a brief explanation of what advice you would give them. To not do an exponential check
Lesson 4
1.What is the difference between a reasonable and unreasonable time algorithm? A reasonable time algorithm doesen't take too much time to complete while an unreasonable time algorithm takes a long time.
2.How many different paths can you find to visit all of your friends' houses? 4 paths
3.What do you need to know to determine the best path? The distance and time it takes
4.What if we had a lot more places to visit? How would we determine the best path? We would need to know the distance between each of the points.
5.Why is a heuristic acceptable when it doesn't always produce the "best" result? Because it would be impossible or would take an unreasonable amount of time to find the best result
Lesson 5
1.Brainstorm a task that you can complete faster if you get other people to help. What’s the most number of people you’d want to help you and why? Finishing a report and the most I would want is 4 because it would be less efficient with more than that.
2.What portions of your algorithms for Challenges 2 and 3 were parallel? Sorting the cards
3.What makes things complicated or slows you down during parallel portions of your algorithm? Finding the cards and counting them carefully
4.Why is the type of computing presented “distributed”? Because it can be shared among multiple computers and nodes
5.Why is distributed computing used to solve the problem? Improves efficiency and performance
6.Based on today’s activities, what are the pros and cons of parallel and distributed computing? Parallel is more faster but can be more complicated while distributed can take on more enourmous and complex probe
Study Guide