A repository to keep track of my roadmap to being a competent programmer.
[https://www.geeksforgeeks.org/100-days-of-code-a-complete-guide-for-beginners-and-experienced/]
-
Programming language fundamentals
-
Data Structures and Algorithms
-
Basic Programming Problems
-
Medium Level Programming Problems
-
Hard Level Programming Problems
-
System Design
-
Operating Systems(Linux) & Database Management Systems
-
Object Oriented Design
Status | Topics Covered | Resources |
---|---|---|
C++, Java, Python programming languages basics(iterations, loops and control statements switch case, operators, conditionals) | ||
Strings, Regex and Pattern Matching | ||
Classes, methods, Functions, Modules - built-in help | ||
OOP, inheritance, constructors, methods, class and static methods and variables, private, punlic, protected, Garbage Collection, lambda functions | ||
Data structures: Queues, Deques, Stacks, Arrays, Trees, Linked lists, Dictionaries/Hash maps | ||
File Handling | ||
Exception Handling | ||
Mathematical Thinking in Computer Science (Mathematical Induction, Proof Theory, Discrete Mathematics, Mathematical Logic) | ||
Combinatorics and Probability (Random Variable, Probability Interpretations, Probability, Combinatorics) | ||
Introduction to Graph Theory | ||
Number Theory and Crypography | ||
Delivery Problem (graph theory implementation) | ||
Computational Complexity | https://www.topcoder.com/thrive/articles/Computational%20Complexity%20part%20one, https://web.mit.edu/16.070/www/lecture/big_o.pdf | |
Practice Problems(simple & medium) | https://www.topcoder.com/thrive/articles/How%20To%20Find%20a%20Solution#dp | |
Debugging c++ code (gdb, valgrind) | https://www.cprogramming.com/gdb.html, https://www.cprogramming.com/debugging/valgrind.html | |
Greedy Algorithms | ||
Divide and Conquer Algorithms | ||
Dynamic Programming | Basics dynamic programming, Dynamic programming patterns, Dynamic programming problems | |
Data Structures(Trees, Queues, Stack, Linked Lists, Arrays, Disjoint Sets) | ||
Data Structures(HashTables) pattern matching(rabin karp algorithm) | https://www.youtube.com/watch?v=qQ8vS2btsxI | |
Algorithm Study Plan I leet code | https://leetcode.com/study-plan/algorithm/?progress=xgzzu91 | |
Priority Queues and Heap sort | https://www.cs.usfca.edu/~galles/visualization/Heap.html | |
Data Structure I Study Plan Leet Code | https://leetcode.com/study-plan/data-structure/?progress=oftw69e | |
Graph algorithms | https://www.cs.usfca.edu/~galles/visualization/DFS.html | |
http://www.cs.usfca.edu/~galles/visualization/TopoSortDFS.html | ||
http://www.cs.usfca.edu/~galles/visualization/TopoSortIndegree.html | ||
http://www.cs.usfca.edu/~galles/visualization/ConnectedComponent.html | ||