# | Topic | Lesson |
---|---|---|
1 | Intro to Whiteboarding | Web/iOS |
2 | Big-O Notation | Web / iOS |
2 | Recursion | Web / iOS |
3 | Binary Search | Web / iOS |
4 | Bubble Sort: Intro to Sorting* | Web / iOS |
5 | Merge Sort: Divide & Conquer* | Web / iOS |
6 | Quick Sort* | Web / iOS |
7 | Abstract Data Structures | Web / iOS |
8 | Linked List | Web / iOS |
9 | Stacks | Web / iOS |
10 | Queues | Web / iOS |
11 | Hash Tables | Web / iOS |
12 | Trees* | Web / iOS |
13 | Graphs* | Web / iOS |
(* needs to be revisited or unfinished)
Data Structures & Algorithms (DSA) are the building blocks that allow programmers to code and think at a higher level. Data structures are unique ways of organising and collecting data so that we can perform operations in an effective way. Algorithms are a set of instructions that solve hard problems in an efficient manner. Understanding DSA is critical for entry level interviews. DSA is usually technology agnostic so it instills a strong computer science mindset.
- Students should be able to build and apply important Data Structures used in the real world.
- Students should be able to design and apply correct Algorithms for programming problems.
- Students should get a basic sense of "abstract data structures" and how the flow of data occurs in applications.
- Students should begin to understand efficiency of code and learn to code beyond the "brute force" route.
- Students should be able to problem solve at a high level during whiteboarding interviews.