<aside>
💡 It is made for Minervans who are afraid of taking CS110 (Algorithms & Data Structures) but don't want to give up.
</aside>
🌻 Summer Prep Guide
The basics for Algorithms & Data structure
<aside>
💡 Browse through this to get an overview, then go to the online resources and start practicing!
</aside>
- Facts & Concept Ha's version
- Common algorithm approaches
- CS110 syllabus
- (Extra Learning)
Recommended online resources
- Python review: How to think like a computer scientist
- This is a good overview of Python, some of which you already know (eg. what is an array, a string, etc.) In which cases skip these sections, but do the exercises at the end of each chapter to consolidate the learning!
- Not needed: Section 13, 14, 15, 19
- Python daily warmup: HackerRank
- It is nice to practice small questions every day to gain familiarity with Python and boost confident! 🌝
- Standford Specialization: Divide and Conquer, Sorting and Searching, and Randomized Algorithms
- It is enough to finish until week 3, The QuickSort algorithm and its analysis; probability review.
- If the question is hard for you, read people's solutions
- If the class is hard to understand, look up youtube videos
- Attention: This class will be more difficult than the actual CS110, it provides a strong foundation. Don't be frustrated if you cannot solve some problems 😉.
- Datacamp: Object-Oriented Programming in Python
- We will heavily use this in later half of this course.
- Finish the first 2 chapters, OOP Fundamentals and Inheritance and Polymorphism is enough.
Potential Obstacles
- My code does run, but it is somehow wrong!
- I don't understand people's solution code...
- I don't understand recursion... 😰
Checklist of Summer preparation
- [ ] Able to implement some recursion