My name is Neeldhara, and I am a faculty member with the discipline of Computer Science and Engineering at IIT Gandhinagar.
This page hosts materials for the courses I am involved in teaching and/or coordinating. You're welcome to browse around: most of the material is accessible without a login, and I hope you find it useful. To get the most out of an active course, you might want to register: this will give you access to assignments, an active cohort of peers, and support via office hours.
Please note that I am unable to offer official certificates of completion for students doing courses exclusively through this platform. If you are a student at IITGN, please enroll during the registration period to earn credit. For students outside IITGN, you might want to explore our visiting students program to take up these courses formally through IITGN. The NPTEL courses are open to everyone and all eligible learners will receive a certificate directly from NPTEL. I am also happy to communicate the grades earned by students through this platform to other instructors, so if you are interested in such an arrangement, please get in touch to discuss further.
If you have any general questions, please send me a message! For questions specific to course materials, please use the forums instead for an increased chance of getting a prompt response. Thanks
Courses at IITGN
Data Structures and Algorithms (Part I)
An introduction to data structures and algorithms at the undergraduate level. The focus is on data structures motivated by various algorithmic contexts.
The programming assignments are language agnostic but the lab materials are in C. Familiarity with a programming language is desirable but not required.
Data Structures and Algorithms (Part II)
A follow up course on data structures and algorithms for undergraduates. The focus here is on exploring various algorithmic paradigms.The programming assignments are language agnostic but the lab materials are in C++. Familiarity with DSA-I is desirable since this is designed to be a follow-up course.
Computing with Python
This is a first programming language course. The typical audience is a subset of first-year students at IIT Gandhinagar across disciplines.
No background in programming is assumed. However, if you are at IITGN and have not used a computer before, you might want to consider the Introduction to Computing course instead.
Coming Soon
Discrete Mathematics
This is a first course in discrete mathematics for undergraduates of computer science and allied disciplines.
Topics covered include logic, proof techniques, counting methods, graphs, probability, and number theory. There are no prerequisites.
Coming Soon
Graph Theory
This is a postgraduate course in graph theory that covers both structural and algorithmic aspects.
This course has no specific prerequisites, although some degree of mathematical maturity will be assumed.
Advanced Algorithms
This is an undergraduate course and a part of the extended core in the IITGN curriculum.
The course covers techniques for coping with NP-hardness, including paradigms of approximation, randomization, and parameterized algorithms. This course assumes familiarity with DSA-1 and DSA-2.
Coming Soon
Courses on NPTEL
NPTEL course on Parameterized Algorithms
+ Saket Saurabh
Institute of Mathematical Sciences
This is a first course on techniques in parameterized algorithms, a paradigm of algorithm design that analyzes running time in finer detail than classical complexity theory: instead of expressing the running time as a function of the input size only, dependence on one or more parameters of the input instance is taken into account.
This is a fast-evolving field and a fundamental approach to coping with NP-hardness, alongside approximation and randomized algorithms. The course will be a natural follow-up to a first course in algorithms and data structures for theoretically-inclined students and those who are curious about approaches to dealing with the theoretical limitations that emerge from the theory of NP-completeness.
Enrollment through NPTEL is open until 01 Aug 2022.
NPTEL course on Introduction to Competitive Programming
This is a course on algorithm design with a focus on issues of modeling and implementation. Each lecture will be focused entirely on one or two problems that reveal the use of a specific algorithmic technique.
The techniques themselves are chosen to be in line with those covered in existing NPTEL courses on data structures and algorithms, so that students who complete those courses can find in this course a natural follow up.
This course is intended for anyone who wants to deepen their appreciation for algorithmic techniques that they have learned in a foundational course and/or would like to take a first step towards preparing for coding competitions such as the ICPC.
Enrollment through NPTEL is open until 01 Aug 2022.
Register Now
Miscellaneous
GIAN course on
Computational Social Choice
Prof Edith Elkind
University of Oxford
GIAN course on
Pattern Matching
Prof Amihood Amir
Bar-Ilan University and
Johns Hopkins University
It is astounding that a few decades ago billions of dollars were invested by governments and industry for mapping the first human genome whereas today one can purchase his DNA on a flash drive for a few thousand dollars. Some of the key algorithmic tools in these endeavors were pattern matching algorithms. Pattern matching problems are among the oldest in computer science. This course focused on several novel and powerful algorithmic techniques in the very active field of pattern matching.
ACM-W Summer School on
Algorithmic Game Theory
Various Instructors
This course focuses on topics in Computational Social Choice. The broad themes that were covered included stable and popular matchings, fair division of indivisible items and cake cutting and problems related to elections and voting.
Note: The instructors were Meghana Nasre (IIT Madras), Prajakta Nimbhorkar (CMI), Sushmita Gupta (NISER Bhubaneswar), Dinesh Garg (IBM), Siddharth Barman (IISc), Nidhi Rathi (IISc), Palash Dey (IIT Kharagpur) and Neeldhara Misra (IIT Gandhinagar).
Short Course: Intermediate Competitive Programming Bootcamp
Priyansh Agarwal
IIIT Delhi
15th to 29th August 2022
(tentative)
An introduction to specialized algorithms for competitive programming with an emphasis on implementation.
Coming soon: timeline, materials, and assignments.
Short Course: Fundamentals of Science Communication
Siddharth Kankaria
National Centre for Biological Sciences
25th to 29th July 2022
This week-long course will provide an introduction to the theory and practice of science communication and outline some fundamental tenets of communicating science strategically. Using interactive approaches like discussions, games, and activities, this course will provide Early Career Reaserchers with a introduction to the frameworks, formats and importance of science communication, and equip them to design, implement and evlalate their science communication efforts effectively.
Coming soon: timeline, materials, and assignments.
Short Course:
CS Research 101
+ Shashank Srikant
MIT
22nd to 28th August 2022
(tentative)