There will very often be more than one way to solve a particular problem.
Let’s consider a chef’s algorithms: recipes.
foodnetwork.com
has 261 different recipes (when we wrote this page!) for making apple pie.
If you’re trying to make a delicious apple pie for someone, you will
have multiple recipes that you can use to achieve that goal, but not
all of the outcomes will be the same. Many of the recipes will be
inferior to others, but you will likely have several high quality
recipes to choose from. Does that make them exactly the same? Nope!
Different recipes have different trade-offs. Some recipes,
for example, may take significantly longer to prepare than others.
Others may use more expensive ingredients, or ingredients that you
don’t have access to, or obscene amounts of sugar, or a variety of
other conditions that impact their usefulness to you.
What are some of the trade-offs for other types of algorithms,
other than recipes? What do you think some of the trade-offs for
computer science algorithms might be? Computer science is loaded
with trade-offs and being able to choose between them is a critical
skill for creating useful software.
Get into a group and describe two trade-offs that you feel may be relevant
to computer science projects, and explain how they may be related
(i.e. how or when you may have to trade one for the other).
Don't worry about being "correct" as much as having a
justifiable connection between two trade-offs. Feel free to
(a) mention trade-offs that haven't been mentioned at all yet,
(b) expose a new connection between two trade-offs that have already
been mentioned separately or (c) if you absolutely can't come up with
a pair that hasn't been mentioned, add an new explanation or circumstance
to another student's contribution explaining when it might occur.