CS Level Up Series Introduction
JB Updated on γ»3 min read
CS Level Up Series (29 Part Series)
What is this series about? What are the goals?
Leveling up my knowledge of algorithms, data structures, and system design. The goal is to become a badass.
What is the format? How will you achieve this?
Right now the plan is as follows:
I am going to first do some prep work to learn basic algorithms and data structures. I will be mostly following Heapclub's (a now closed interview prep company) curriculum (curriculum here). With the goal being to know all of this like the back of my hand. If I have time I will also do the maths section
After the prep work I am going to follow a similar approach to the one outlined here. I will probably use Leetcode

To understand more about Operating Systems, Networking, & Systems in general I will use the following resources:
At the same time, or perhaps at the conclusion of the above steps, I will be watching all the system design videos from the following YouTube channels: Tech Dummies  Narendra L & Success in Tech
To get even more System Design knowledge I will be reading the book Designing DataIntensive Applications. If time permits I will also read Web Scalability for Startup Engineers.
To solidify design patterns knowledge, I will use the content from Source Making's Design Patterns.
(Optional) There is the possibility I will read + complete all the relevant sections of CTCI
Edit: I have come across the following YouTube playlists that I may also watch: Tushar Roy's System Design Playlist & Gaurav Sen's System Design Playlist
Curriculum extras: I have come across a few things from forums/articles/books that could be useful to learn (if I have time). Here is list of topics that seem important (in perceived order of priority):
 Know common problems: Fibonacci, Valid/balanced parenthesis, palindrome/anagrams of strings, Traveling Sales Person, Knapsack Problem, Longest Common Subsequence (using dynamic programming, bottomup with a matrix).
 Disjoint Set & Union Find
 Sliding Window
 RabinKarp
 Binary Indexed Tree (Fenwick Tree)
 Bipartite graphs (Checking if a graph is bipartite)
 Iterators and associated problems (Flatten a nested list iterator, design a skip iterator, merge K sorted iterators)
 Minimum Spanning Trees
 Fibonacci Heap and it's guarantees
 Either KMP or Z Algorithm (choose one)
 Segment Tree
 Suffix Tree (without worrying about compression + understand what Ukkonen's algorithm is) &/or Suffix Array
 Line Sweep (geometry related, problems: Rectangle Intersection & The Skyline problem)
Allotted time for this project: 1218 months.
Who are you?
Bootcamp grad with 5.5 years Software Engineering experience. I have done some basic algo/ds stuff in the past, but not much  and I've forgotten almost all of it. I'm terrible at math, and I suck at recursion.
(Please note that I previously linked to this blog post & this other post  which appear to have taken the content directly from Heapclub whilst removing vital information.)
CS Level Up Series (29 Part Series)
dev.to/you
Claim your page on DEV before someone else does
Join DEV Now
Open source
Free forever
Level up every day
π€