Computer Science Fundamentals
Estimated Time: 30 hours
Status: ☐ Not Started
🎯 Objectives
- Understand how code performance is measured using Big O notation
- Learn and implement basic data structures: arrays, stacks, queues, hash tables, linked lists
- Learn fundamental algorithms: searching, sorting, iteration vs recursion
- Build problem-solving habits through repetition and testing
🔗 Resources
- Harvard CS50 – Week 1 to Week 3
- Week 1: Variables, conditions, loops
- Week 2: Arrays, memory
- Week 3: Algorithms (searching, sorting)
- Use CS50 Tracker to monitor your progress
- Neetcode.io – Free Roadmap
- Focus on the “Intro to Programming Patterns” section
- Prioritize Easy and Medium problems in:
- Visualgo – Data Structure Animations
✅ Tasks
- [ ] Complete CS50 Weeks 1–3 (videos + problem sets as you’re able)
- [ ] Solve 20 algorithm problems from LeetCode or HackerRank using JavaScript
Recommended breakdown:
- [ ] 10 array/string questions
- [ ] 5 hash table questions
- [ ] 5 basic sorting/searching problems
- [ ] Watch how Bubble Sort, Selection Sort, and Merge Sort work on Visualgo
- [ ] Write your own implementation of Bubble Sort in JavaScript