Jason-Ruan / DSA-Curriculum

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data Structures and Algorithms Curriculum

Topics

# 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)

Summary

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.

Goals

  • 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.

About