Apple Pie 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.