DSA with Python
Course · DSA · 8 Weeks
A free reading course that teaches data structures and algorithms with Python, the skills that technical interviews test and that keep real programs fast as their data grows. Fourteen chapters start with counting the work a program does and reading Big-O, then cover lists, searching, the simple sorts, recursion, merge sort and quicksort, hashing with dictionaries and sets, linked lists, stacks and queues, trees and binary search trees, heaps and priority queues, graphs with BFS and DFS, and a first look at greedy algorithms and dynamic programming. The course finishes with a guided project of eight classic interview problems, each solved with a technique from the course and checked against a simple brute-force version. Every program in the course was run on a real computer, and every output you see is what Python really printed. Every chapter has clear explanations, common mistakes, multiple-choice questions you answer as you read, and practice exercises, with a practice assignment for each chapter and a full answer key. You need to know basic Python first: finish the free Python Beginner course, or be comfortable with loops, lists, dictionaries, functions and simple classes. You read at your own pace and type the code yourself.
Program fee: ₹0 (excl. GST). Certificate on completion, tied to a verifiable Intern ID.
Learning Roadmap
- Weeks 1-3: Counting and searching: Count the work a program does and read Big-O, learn what each Python list operation costs, write binary search without off-by-one bugs, and trace bubble, selection and insertion sort.
- Weeks 4-6: Core tools: Write recursive functions with a clear base case, learn merge sort, quicksort and Python's own sort, then use hashing, linked lists, stacks and queues to solve problems in one pass.
- Weeks 7-8: Trees, graphs and a project: Build binary search trees and heaps, explore graphs with BFS and DFS, meet greedy methods and dynamic programming, and finish by solving eight interview-style problems with a stated cost for each.
Syllabus — What You'll Learn
- Why DSA Matters, and Counting the Work (Big-O): data structures, algorithms, counting steps, O(1), O(n), O(n²), O(log n)
- Arrays and Python Lists: the cost of each list operation, slicing, two pointers, prefix sums, grids
- Searching: linear search, binary search, the bisect module, binary search on an answer
- Bubble, Selection and Insertion Sort: tracing, counting comparisons, stability
- Recursion: base case and recursive case, the call stack, Fibonacci, fast power, Tower of Hanoi
- Merge Sort, Quicksort and Python's Own Sort: divide and conquer, the pivot, sorted with key and reverse
- Hashing: how a hash table works, collisions, dict and set patterns, two-sum, remembering answers
- Linked Lists: nodes, inserting and deleting, reversing, fast and slow pointers
- Stacks and Queues: bracket matching, postfix, the next bigger item, deque, round-robin
- Trees and Binary Search Trees: tree walks, insert, search, delete, checking a BST
- Heaps and Priority Queues: sift up and down, heapq, the k largest items, a running median
- Graphs, BFS and DFS: adjacency lists, shortest paths, connected components, mazes, a first look at Dijkstra
- Greedy Algorithms and Dynamic Programming: choosing meetings, why greedy can fail, memoisation, tabulation, coin change, longest common subsequence
- Final Project: eight interview-style problems solved and checked against brute force
Career Opportunities
- Software Engineer (the first step in preparing for coding interviews)
- SDE Interview Candidate (the topics asked about most often, with practice problems)
- Back-End Developer (faster code through the right data structure)
- Competitive Programming beginner (a base for contest problems)
- Data and Machine Learning learner (efficient handling of data in Python)