Skip to content

Commit 56f9215

Browse files
Syllabus Added
1 parent 84e2241 commit 56f9215

File tree

2 files changed

+198
-1
lines changed

2 files changed

+198
-1
lines changed

README.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,17 @@
1-
# DSA-Bootcamp-Java
1+
# DSA-Bootcamp-Java
2+
3+
- [Subscribe to our channel](https://www.youtube.com/KunalKushwaha?sub_confirmation=1)
4+
- [Complete Playlist](https://www.youtube.com/playlist?list=PL9gnSGHSqcnr_DxHsP7AW9ftq0AtAyYqJ)
5+
- [Syllabus](SYLLABUS.md)
6+
- [Discord for discussions](https://discord.gg/K9kxUXvfND)
7+
- [Telegram for announcements](https://t.me/commclassroom)
8+
9+
### Connect with me
10+
- [Twitter](https://twitter.com/kunalstwt)
11+
- [LinkedIn](https://www.linkedin.com/in/kunal-kushwaha/)
12+
- [Instagram](https://www.instagram.com/kunalsig/)
13+
14+
### Follow Community Classroom
15+
- [Twitter](https://twitter.com/commclassroom)
16+
- [LinkedIn](https://www.linkedin.com/company/commclassroom)
17+
- [Instagram](https://www.instagram.com/commclassroom)

SYLLABUS.md

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
# Complete Java + DSA Bootcamp Syllabus
2+
3+
## NOTE:
4+
- All topics will contain problems from LeetCode Easy to Hard, explained in an easy to understand manner.
5+
- Complete Custom Implementation of all Data Structures and Algorithms.
6+
7+
## Lectures
8+
- Introduction to Git
9+
- Introduction to Programming
10+
- Types of languages
11+
- Flowcharts & Pseudocode
12+
- Flow of the program
13+
- Introduction to Java
14+
- Introduction
15+
- How it works
16+
- Setup Installation
17+
- Input and Output in Java
18+
- Data-types
19+
- Coding best practices
20+
- Arrays
21+
- Introduction
22+
- Memory management
23+
- Input and Output
24+
- ArrayList Introduction
25+
- Sorting
26+
- Insertion Sort
27+
- Selection Sort
28+
- Bubble Sort
29+
- Count Sort
30+
- Radix Sort
31+
- Searching
32+
- Linear Search
33+
- Binary Search
34+
- Modified Binary Search
35+
- (more later)
36+
- Sliding window
37+
- Two Pointer
38+
- Subarray Questions
39+
- Strings
40+
- Introduction
41+
- How Strings work
42+
- Comparison of methods
43+
- Operations in Strings
44+
- StringBuilder in java
45+
- Maths for DSA
46+
- Introduction
47+
- Complete Bitwise Operators
48+
- Prime numbers
49+
- HCF / LCM
50+
- Sieve of Eratosthenes
51+
- Newton's Square Root Method
52+
- Number Theory
53+
- Euclidean algorithm
54+
- Advanced Concepts for CP (later in course)
55+
- Bitwise + DP
56+
- Extended Euclidean algorithm
57+
- Modulo Properties
58+
- Modulo Multiplicative Inverse
59+
- Linear Diophantine Equations
60+
- Fremat's Theorem
61+
- Wilson's Theorem
62+
- Lucas Theorem
63+
- Chinese Remainder Theorem
64+
- Functions
65+
- Introduction
66+
- Solving the above math problems in code
67+
- Scoping in Java
68+
- Shadowing
69+
- Variable Length Arguments
70+
- (more content in OOP such as overloading etc)
71+
- Space and Time Complexity Analysis
72+
- Introduction
73+
- Comparion of various cases
74+
- Solving Linear Recurrence Relations
75+
- Solving Divide and Conquer Recurrence Relations
76+
- Big-O, Big-Omega, Big-Theta Notations
77+
- Get equation of any relation easily - best and easiest approach
78+
- Complexity discussion of all the problems we do
79+
- Space Complexity
80+
- Memory Allocation of various languages
81+
- NP Completeness and Hardness
82+
- Recursion
83+
- Introduction
84+
- Why recursion?
85+
- Flow of recursive programs - stacks
86+
- Convert recursion to iteration
87+
- Tree building of function calls
88+
- Tail recursion
89+
- Sorting:
90+
- Merge Sort
91+
- Quick Sort
92+
- Cyclic Sort
93+
- Backtracking
94+
- Sudoku Solver
95+
- N-Queens
96+
- N-Knights
97+
- Maze problems
98+
- Recursion String Problems
99+
- Recursion Array Problems
100+
- Recursion Pattern Problems
101+
- Subset Questions
102+
- Object Oriented Programming
103+
- Introduction
104+
- Classes & its instances
105+
- this keyword in Java
106+
- Properties
107+
- Inheritance
108+
- Abstraction
109+
- Polymorphism
110+
- Encapsulation
111+
- Overloading & Overriding
112+
- Static & Non-Static
113+
- Access Control
114+
- Interfaces
115+
- Abstract Classes
116+
- Singleton Class
117+
- final, finalize, finally
118+
- Exception Handling
119+
- Stacks & Queues
120+
- Introduction
121+
- Interview problems
122+
- Push efficient
123+
- Pop efficient
124+
- Queue using Stack and Vice versa
125+
- Circular Queue
126+
- Linked List
127+
- Introduction
128+
- Fast and slow pointer
129+
- Cycle Detection
130+
- Single and Doubly LinkedList
131+
- Reversalof LinekdList
132+
- Dynamic Programming
133+
- Introduction
134+
- Recursion + Recursion DP + Iteration + Iteration Space Optimized
135+
- Complexity Analysis
136+
- 0/1 Knapsack
137+
- Subset Questions
138+
- Unbounded Knapsack
139+
- Subseq questions
140+
- String DP
141+
- Trees
142+
- Introduction
143+
- Binary Trees
144+
- Binary Search Trees
145+
- DFS
146+
- BFS
147+
- AVL Trees
148+
- Segment Tree
149+
- Fenwick Tree / Binary Indexed Tree
150+
- Square Root Decomposition
151+
- Heaps
152+
- Introduction
153+
- Theory
154+
- Priority Queue
155+
- Two Heaps Method
156+
- k-way merge
157+
- top k elements
158+
- interval problems
159+
- Hashmaps
160+
- Introduction
161+
- Theory - how it works
162+
- Comparisons of various forms
163+
- Limitations and how to solve
164+
- Map using LinkedList
165+
- Map using Hash
166+
- Chaining
167+
- Probing
168+
- Huffman-Encoder
169+
- Tries
170+
- Graphs
171+
- Introduction
172+
- BFS
173+
- DFS
174+
- Working with graph components
175+
- Minimum Spanning Trees
176+
- Kruskal Algorithm
177+
- Prims Algorithm
178+
- Dijkstra’s shortest path algorithm
179+
- Topological Sort
180+
- Bellman ford
181+
- A* pathfinding Algorithm

0 commit comments

Comments
 (0)