list of learning topics
list of learning topics
Computer Fundamentals
● Various components of a computer and their characteristics (RAM,ROM,CPU etc).
● Basics of I/O devices.
● Basics of Networking.
Digital Logic
● Number Systems.
i) How the binary system helps us to perform operations efficiently.
ii) Relation and conversion between various number systems.
iii) Real life examples and optimization techniques.
● IDE vs Compiler.
● Compiling, Running and Understanding First Program.
● Introduction to various OJ i.e. CF, UVA, Codechef, vjudge etc.
● Introduction to code sharing sites.
Making Decisions
Loops
Arrays
Sorting Algorithms
● Introduction.
● Implementation in C++.
● Complexity analysis of sorting algorithms.
● Insertion and selection sort
● Counting sort
● Using in problem solving
● STL Sort
● Merge sort
● Quick sort
Strings
● Arrays of Characters.
● Variable-Length Character Strings.
● The Null String, Escape Character.
● String in C++.
● Substring, Subsequence, substring, palindrome, anagram.
● Matching.
● Hashing
● KMP
● Trie
● Using structure.
● Operator Overloading.
● Arrays of Structures.
● Sorting of structures.
● Structures Containing Array.
● Basic Object Oriented Programming.
● Concept of Set
● Why we use it and learn it
● Set Union
● Set Intersection
● Disjoint Set.
● Introduction.
● Why we need it.
● How it works.
● Implementation in C.
● Implementing with static array and dynamic array.
Stack
Functions
● Defining a function.
● Arguments and Local Variable.
● Returning function results.
● Global, Automatic and Static Variables.
● Call by Pointers, Call by Reference.
● Matrix formation of a linear recursive function.
Recursion
STL
● Introduction.
● Prove/disprove greedy approach
● Discussion on a few related problems.
● Task scheduling ,Fractional Knapsack,Coin Change etc.
Searching Algorithms
● Binary Search.
a. Introduction.
b. Implementation.
c. Insight of binary search and binary property.
d. Binary search on arrays.
e. Binary search on math problems.
f. Bisection in geometry problems.
g. Complexity Analysis.
h. Different application of searching techniques(Lower and upper bound)
● Ternary Search
a. Introduction.
b. Implementation in C++.
c. Different application of searching techniques.
● Introduction.
a. What is a graph?
b. Why do we need this?
● Types of graph.
a. Directed Graph and Undirected Graph.
b. Cyclic.
c. Tree.
● Graph modeling.
● Adjacency matrix representation.
● Adjacency list representation.
● Edge List representation.
● Implementing all the representations in C++.
● Articulation Point & Bridge.
● All Pair Shortest Path, Shortest Path with negative weight.
● Minimum/Maximum Spanning Tree.
● Biconnected Component, Strongly Connected Component.
● Relevant basic problem solving i.e. 8-queen, all permutations, Fibonacci, Graph coloring etc.
Graph Traversing Algorithm.
Dynamic programming
Segment Tree
Network Flow
Max flow
Min cut
Min cost max flow
Game theory
Pattern
DP
Nim
Grundy
Minimax