Chances are you're here to prepare for job interviews. If not, you're probably a new coder who feels uncomfortable solving coding problems without looking up a solution. **It's fine to look things up**, but here's a good way to improve your confidence in solving problems when on the spot.
Start with the first [[Intro to Problem Solving Module]] which might really equip you in less than an hour to solve problems on your own. If not, no worries. We have a whole class called [[Introduction to Problem Solving for New Coders]].
## Easy (do in any order after learning to code)
[[Intro to Problem Solving Module]] (1 hr)
[[Bubble Sort]] (1 hr)
[[Valid Anagram]] (1hr)
[[Count Maps]] (1 hr)
## Medium (any order)
[[First Missing Positive Integer]] (1hr)
[[Dynamic Programming]] (4 hours)
[[Backtracking]] (4 hours)
## Data Structures and Algorithms (do in order)
[[Linked Lists and Stacks]] (2 hours)
[[Intro to Trees]] (3 hours)
[[Intro to Graphs]] (3 hours)
## Full Courses
Mostly lecture with exercises:
[[Introduction to Problem Solving for New Coders]] (24 hours)
[[Intermediate Problem Solving for Technical Interviews]] (24 hours)
[[Advanced Technical Interview Prep]] (15 hours)