Algorithmic Problem Solving Conclusion

Learning Goals

  • Review what you learned in this section

Conclusion

Congrats on getting through this section! You've learned some extremely valuable skills in terms of being able to tackle challenging problems and identify what good code looks like. You're well on your way to mastering your first algorithm interview!

To recap, we covered these learning objectives:

  • Define what "algorithm" means
  • Develop a process for algorithmic problem solving
  • Understand the usefulness of Big O notation
  • Identify the Big O time and space complexity of a given algorithm
  • Recognize common Big O runtimes: constant, logarithmic, linear, and quadratic

Where We're Going From Here

We'll revisit algorithms formally once again in Phase 4, where we'll cover another fundamental topic to help prepare for technical interviews: data structures. In the meantime, it's important that you continue practicing what you learned in this section and in particular, continue refining your problem solving process.

From now until we return to algorithms in Phase 4, your main priority should be learning the required material from each upcoming Phase and mastering the practical skills you'll need to become a software engineer. When you're working on labs, keep in mind what you learned in this section!

However, if you're able to make the time, it's also a great idea to dedicate a little time each day (say 30 to 60 minutes) to continuing with your algorithm studies.

Here are some resources to help:

Flatiron Data Structures and Algorithms Canvas Course

Make sure to check out the Data Structures and Algorithms course on Canvas. Ask your instructor for access if you don't already have it. This course was designed to give students short problems to work on throughout their time at Flatiron. There's also a version of this course you'll get access to upon graduation, so don't worry if you aren't able to complete everything during the program.

Our recommendation is to work on the following sections between now and Phase 4:

  • Week 1: Starter Algorithms
  • Week 2: Recursion
  • Week 3: Additional Practice
  • Week 4: Big O Notation
  • Week 5: Sorting Algorithms

The material from Week 6 and onward gets into Data Structures, which we'll cover in more depth in Phase 4.

Work On Practice Exercises

Here are some good practice exercises with walkthrough videos from Flatiron instructors:

For additional practice, here are some more resources: