UE101 Algorithms and Programming
Minati De and
Lab Instructor: Pavan Kumar.
Teaching Assistants: Arpita Biswas (firstname.lastname@example.org), Chandrahas (email@example.com), G S Raghavendra (firstname.lastname@example.org), and Divya Ravi (email@example.com).
Introduction to C programming. Importance of algorithms and data structures in
Notion of complexity of algorithms and the big O
notation. Iteration and Recursion. Algorithm analysis
Arrays and common algorithms with arrays.
- Linked lists and common algorithms with linked lists.
- Searching with hash tables and binary search trees.
- Pattern search algorithms.
- Sorting algorithms including quick-sort, heap-sort, and merge-sort.
- Graphs algorithms: shortest path
algorithms, minimal spanning tree algorithms, depth first and breadth
- Algorithm design techniques including greedy, divide and
conquer, and dynamic programming.
- 02-08-2017: Course overview.
- 07-08-2017, 09-08-2017, 14-08-2017: Control Flow.
- 16-08-2017: Basic Data Types and Operations/a>.
Programs used in lectures
- Books and other material
- Brian W. Kerninghan and Dennis M. Ritchie, The C Programming
Language. Prentice Hall of India, New Delhi, 2009.
- Mark Allen Weiss, Data Structures and Algorithm Analysis in C. 2e Paperback, Pearson, 2002.
- R.G. Dromey, How to Solve it by Computer. Pearson Education India.
Robert L. Kruse, Data Structures and Program Design in C. Prentice
Hall of India, New Delhi, 2006.
Steven S. Skiena, The Algorithm Design Manual. Springer, Second
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and
Clifford Stein: Introduction to Algorithms. MIT Press, 2009.
Evaluation components and weightage:
Mid-semester Exam: 20%
Assignments + Quiz + Lab Exercises: 40%
Final Exam: 40%
- (Classes) Mon, Wed, 9:30 am, Main Lecture Hall, UG Block.
- (Tutorial) Thu 11:00am, Main Lecture Hall, UG Block.
- (Lab sessions) Mon-Thu, 2:00-5:00pm, Computing Lab.
- Exam Schedule: