Practice School Beta
Year 1 · Semester 2 · 16 Weeks · 168 Hours

Data Structures in C++ + Algorithms + SQL

Primary language: C++ with STL · Stacks · Queues · Linked Lists · Sorting · Searching · SQL intro

168
Total Hours
96
Programming Hrs
50
LeetCode Cumulative
C++
Primary DS Language

Modules & Topics

STL containers — vector, string, map, set, unordered_map, priority_queue
STL algorithms — sort(), binary_search(), lower_bound()
Big-O notation — O(1), O(n), O(n log n), O(n²)
Space complexity — O(n) vs O(1); in-place algorithms
Assignments
Frequency counter using map · Sort and search using STL
LeetCode — solved in C++
#704 Binary Search#278 First Bad Version#35 Search Insert Position
Selection sort, insertion sort — implement from scratch
Merge sort — divide and conquer; O(n log n)
Quick sort — partitioning, pivot selection
Binary search — iterative and recursive; rotated array
Assignments
Implement all 4 sorts · Benchmark 10K numbers · Binary search on rotated array
LeetCode — solved in C++
#912 Sort an Array#33 Search in Rotated Sorted Array
Stack — LIFO; implement using array and linked list; STL stack
Queue — FIFO; implement using array (circular) and linked list
Singly linked list — insert, delete, traverse, reverse
Doubly linked list — LRU cache uses this
Assignments
Stack-based expression evaluator · Queue simulation · Linked list from scratch · LRU Cache
LeetCode — solved in C++
#20 Valid Parentheses#155 Min Stack#206 Reverse Linked List#141 Linked List Cycle#146 LRU Cache
Recursion deep dive — base case, recursive case; recursion tree
Subsets, permutations, combinations — generate all
Backtracking — try, check, undo; N-Queens intro
Assignments
Generate all subsets · Print all permutations · Solve N-Queens for N=4
LeetCode — solved in C++
#78 Subsets#46 Permutations#39 Combination Sum
Relational databases — tables, primary key, foreign key
SQL — SELECT, WHERE, ORDER BY, GROUP BY, JOIN
Aggregate functions — COUNT, SUM, AVG, MAX, MIN
Normalization — 1NF, 2NF, 3NF
Assignments
Design student database · Write 20 SQL queries · HackerRank SQL badge
Two pointers — opposite direction (sorted array), same direction
Sliding window — fixed size and variable size
Pattern recognition — how to identify two pointer or sliding window
Assignments
Solve 10 two-pointer problems · 5 sliding window · Write pattern notes
LeetCode — solved in C++
#167 Two Sum II#15 3Sum#11 Container With Most Water#3 Longest Substring#438 Find All Anagrams
Mini project — Student Management System in C++ with STL
Code review — clean code, naming, comments, modularity
Final assessment — 5 problems, 90 minutes
Assignments
50 LeetCode total · GitHub shows C and C++ · SQL badge · Capstone on GitHub