We’ll start the whole journey of mastering programming and data structures and algorithms by learning a few fun topics.
Just to spark your interest on computers, learn the following topics:
- GUI vs CLI
- RAM vs ROM
- Everything is 0’s and 1’s. But how?
- Compression (Zipping and Unzipping files/folders)
- Understanding File Extensions
- Pixels?? How is a image created? & how about videos?
- How does internet work? What is a server?
What is Programming? Why you should learn programming?
Possibilities of Programming?
Understanding science behind computers. (transistors, gates, hdl, flipflops, alu, cpu, os, compiler, vm translator, programming language etc. )
Command Prompt(Mandatory for everyone):
- History of CLI
- Why learn command line in 2024?
- How CMD is same as using a full OS?
- A Command: Command + arguments
- Absolute/relative paths
- Folder management
- Files management
Code Editors & how to use them?
- Do code editors matter?
Programming basics:
- Program Flow
- Algorithm?
- Basic syntax for any program
- Input and output
- Keywords
- Data Types
- Range and Size
- Variables
- Operators
- If else conditions
- Switch-case
- Loops: For, while, do-while
- To be continued…
Create a Command line Calculator application
Data Structures and Algorithms
- Why DSA?
- What is an algorithm?
- What are Data structures?
- Understand how its helpful for placements.
- Space complexity?
- Time complexity?
- Big O Notation
- Examples of Time Complexities
- Euclidian Algorithm
- Primality Test
- Sorting Algorithms
- Bubble Sort
- Selection Sort
- Insertion Sort
- Heap Sort
- Merge Sort
- Quick Sort
- Linear Search
- Binary Search
- Recursion
- Backtracking
- Arrays
- Sliding Window
- Two Pointer
- Linked lists
- Stacks
- Queues
- Set
- Map
- Trees
- Binary Search Trees
- Heaps
- Graphs
- Dynamic Programming
- Memoisation
- Tabulation
- Bellman Ford
- Dijkstra’s
- Run-Length Encoding
- Huffman Coding
- Tower of Hanoi
- To be continued…