About the Course
This is an introductory course on data structures in computing. Except for basic knowledge of any programming language of your choice, there are no prerequisites.
This can be conducted as 10 days course which would enable interested students to get a good grasp of the computing fundamentals which are required for all the core computer science topics including algorithms, operating systems, theoretical computer science, etc.
Topics Covered1. Asymptotic run-time analysis :
big-Oh, theta notations
2. Review of important data structures: trees and binary heaps
3. Algorithm design techniques:
Divide and conquer, greedy, dynamic programming
4. Introduction to NP-Completeness:
3. Introduction to dealing with NP completeness: Heuristics, Approximation Algorithms, Randomized Algorithms
Who should attend1. College students pursuing science/engineering
Pre-requisites1. Basic knowledge of any programming language
2. Curiosity and willingness to learn
What you need to bringNothing"
Key Takeaways1. Algorithmic thinking and problem solving skills
2. Able to appreciate other interesting subjects of CS including operating systems, compilers, networking etc.