- Basic representation of data and how to process data using the representation inside a computer.
- Techniques for specifying data, operations on data, and problem solving using a programming language.
- Systematic techniques and approaches for constructing programs.
Course 7: CS F214 Logic in Computer Science(2022-23 Ist Sem, 2021-22 Ist Sem, 2019-20 Ist Sem, 2018-19 Ist Sem, 2017-18 Ist Sem, 2016-17 Ist Sem)
Objective: The objectives of the course are to
- Describe basic notions of logic that are important in computer science.
- Describe the significance of different logical representations such as propositional and predicate logic in computer science
- Impart proof writing skills
- Enable them to write proofs for program verification.
Course 8: CS F402 Computational Geometry (2020-21 Ist Sem, 2018-19 IInd Sem, 2017-18 IInd Sem)
Objective: The objective of the course is to impart students with state of the art data structures and algorithms in computational geometry. The students at the end of the course will be able to
- To identify suitable algorithms or data structure to apply for a given geometric problem.
- Will be able to argue about the time complexity of geometric algorithms.
- Will be able to write the proof of correctness of geometric algorithms.
- Will be able to understand the intricacies involved in implementing such algorithms.
- Will get acquainted with state of the art computational geometric algorithm libraries.
- Will be able to implement computational geometric algorithms
Course 9: CS F211 Data Structures and Algorithms (2017-18 Summer Term)
Objective: The main objective of this course is to introduce structures for storing data and algorithms for
retrieving/manipulating data. It incorporates techniques for designing such structures. The course covers design,
implementation and applications of data structures including linked lists, stacks, queues, heaps, hash tables,
balanced binary search trees, and graphs. This course also introduces mathematical and experimental techniques
for analyzing the complexity of algorithms. The course discusses sorting and searching algorithms with detailed
analysis on complexity of algorithms. The course introduces algorithm design techniques like Divide and
Conquer, Greedy, Dynamic Programming to solve various interesting problems.
Course 10: CS F441 Selected Topics From Computer Science (2016-17 IInd Sem, 2015-16 IInd Sem)
In this course I taught Computational Geometry. This course was formally introduced as an elective course CS F402.