Algorithms and Problem Development
An algorithm is a set of steps taken to solve a problem. Of particular importance is that an algorithm is independent of the computer language used to implement it.
Chapter 3: Algorithms
Videos
- Problem Solving
Now is a good time to reflect on problem solving -- something we have been working on throughout the course, but it is
important enough to reflect on it. As a foundation for that reflection we refer to "How to solve it" by George Polya -- the best (and shortest!) book on problem solving.
- Problem Solving reflection (Video)
PDF of the Powerpoint.
- Some Every-Day Algorithms
- Radix sort: sorting a deck of cards first by suit, then by rank (link)
- One queue vs. many queues: how you line up for multiple ATM machines
- First-fit vs. best-fit: grab the first parking spot vs. driving around for the closest to the Mall
entrance (link)
- Evolution: survival of the fittest
- Arithmetic: long division (link)
- MP3: compression (link)
- Algorithm Examples:
- OKCupid Ted Talk Video
- Ten algorithms that dominate our world: List
Assignments
- Project03 due in 1 weeks
Exam 1
- The exam will be this week on Thursday. It will be on zoom. Check the syllabus for more information