Member Feature Story

Competitive Programming in Python

The right — and wrong — way to compete with a locked market





"Everyone Should know how To Programm a Computer, Because it Teaches you How to think..."

-Steve Jobs
Why Competitive Programming Is Important..?


F

irst thing we will teach you in CTL is Competitive Programming. Well this is no way directly connected to Machine Learning knowledge, but the fact is if you don’t have algorithmic design skills, you just can’t learn any Technology.


If Machine Learning, Mobile Development, Software Engineering etc are different arts of sword fighting, Competitive is the blade of your sword. Algorithmic Thinking and Design Knowledge is a key requisite for a brilliant Computer Science Career. Our first goal is to teach you problem solving, our first goal is to take you from O(n square) to O(n), our first goal is to make programming fun for you, and than to be very frank anything else..

For first few days, we will take simple and intermediate questions that were previously asked in Campus Rounds and by solving them together, we will learn the control flow of a programm, algorithmic efficiency and of-course Python. :) The goal is to initiate Algorithmic Thinking in you.. By this time, you will either love or quit. So up till this, it’s all free. But if you stay, we we will give you an in depth knowledge of Backtracking, Dynamic Programming and Graph Theory. You will learn that Recursion is much more than “Function Calling Itself”.You will learn that backtracking is nothing but depth first search of a Recursion Tree, and one generalisation of Backtracking is all you need to solve any backtracking problem. You will learn that algorithm of solving very famous N Queen Problem is exactly same as algorithm to solve a sudoku.



You will learn the simplicity of Dynamic Programming Algorithms. (Simple is not Easy). You will learn, overlapping of sub problems and their optimal substructure, and the technique of using lookup tables to find the bottom up solution and convert this into a Simplistic Memoised Recursive Top Down Solution.