DSA & Software Engineering Foundations
Think like a computer scientist: crack any interview
What you'll be able to do
- Reason about time and space complexity (Big-O)
- Implement core data structures from scratch
- Apply common algorithmic patterns to problems
- Solve interview-style coding challenges with confidence
Before you start
- Ability to write basic programs in one language
- Comfort with functions and loops
- Patience for problem solving
Phase 1 · CS Core & Complexity
CS50x: Introduction to Computer Science
C, memory, algorithms, SQL, web: Harvard's legendary introduction to CS.
- CS50x on edX (free)coursefree
- Problem Set 1: C (Mario, Cash)
- Problem Set 3: Algorithms (Sort, Plurality)
- Problem Set 7: SQL queries
- Final Project submitted
Big-O & Complexity Analysis
Time and space complexity, Big-O/Ω/Θ notation, and recognising bottlenecks in code.
- Big-O Cheat Sheetarticlefree
- NeetCode: Big O Notation Explained (YouTube)videofree
- Classify 10 algorithms by complexity
- Explain time/space tradeoff in a hash map
NAND to Tetris: How Computers Work
Build a complete computer from logic gates: the ultimate CS foundations course.
- nand2tetris.org: Course (free)coursefree
- Logic gates in HDL
- ALU implementation
- VM translator in Python
Phase 2 · Data Structures
Arrays, Strings & Hash Maps
Two pointers, sliding window, prefix sums, and hash map lookup patterns.
- NeetCode: Arrays & Hashing (YouTube)videofree
- NeetCode.io Roadmap (free)coursefree
- Two-sum variants solved
- Sliding window: longest substring
- Prefix sum array
Linked Lists, Stacks & Queues
Implement from scratch: singly/doubly linked lists, stack, queue, and monotonic stack.
- Reverse a linked list (iterative + recursive)
- Detect a cycle (Floyd's algorithm)
- Implement a stack with two queues
Trees, Graphs & Tries
BFS, DFS, binary search trees, heap, topological sort, and union-find.
- BFS & DFS iterative implementations
- Lowest common ancestor of a BST
- Topological sort (Kahn's algorithm)
- Trie: insert & search
Phase 3 · Algorithms
Sorting, Searching & Divide & Conquer
Merge sort, quick sort, binary search and its variants, and recursion patterns.
- Visualgo: Sorting Visualisationslinkfree
- Implement merge sort from memory
- Binary search on a rotated array
- Quick select (Kth largest element)
Dynamic Programming
Memoisation, tabulation, 1D/2D DP, knapsack, LCS, and interval DP.
- Climb stairs: bottom-up DP
- 0/1 Knapsack
- Longest common subsequence
- Edit distance
Phase 4 · System Design & Interview Prep
System Design for Interviews
Load balancers, caching (CDN, Redis), databases, message queues, and estimation.
- System Design Primer (GitHub)repofree
- ByteByteGo Newsletter (free)articlefree
- Alex Xu: System Design Interview Vol 1 (book)coursepaid
- Design a URL shortener
- Design Twitter's home timeline
- Design a distributed rate limiter
Mock Interviews & Behavioural Prep
STAR method, company research, offer negotiation, and live mock coding interviews.
- Pramp: Free peer mock interviewslinkfree
- interviewing.io: Mock interviews with engineerslinkfree
- Levels.fyi: Salary negotiation datalinkfree
- 5 live mock coding sessions completed
- STAR answers for 8 behavioural questions
- Research and apply to 10 target companies
Frequently asked
Is the DSA & Software Engineering Foundations roadmap free?+
Yes. The entire DSA & Software Engineering Foundations roadmap and every curated resource is free to follow on Commit. You can track your progress, keep a daily streak, and earn a shareable certificate at no cost — there is no paywall.
How long does the DSA & Software Engineering Foundations roadmap take to complete?+
About 150 hours of focused study across 10 courses and 4 stages. At roughly one hour a day that is about 5 months; you can move faster by studying more each day.
Do I get a certificate for finishing the DSA & Software Engineering Foundations roadmap?+
Yes. When you complete the roadmap on Commit you receive a verifiable certificate of completion that you can add to LinkedIn and your public Commit profile as proof of what you finished.
Related roadmaps
Make it stick
Copy this roadmap into Commit and turn it into a tracked program with a streak graph, study logging, and a shareable certificate when you finish. Free forever.
Start DSA & Software Engineering Foundations free