Skip to main content
Welcome to this corner of the internet! 👋🏽 

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 smile


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.

Find Out More

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.

Coming Soon

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

At the moment, these courses are available through the NPTEL platform. In due course, the materials will also be hosted here along with assignments. In the meantime, please register through NPTEL using the links below: this will give you access to the assignments and a dedicated discussion forum via a Discord community. Registration is free for learning. If you would like a certificate, then you would also have to register for the exam for a nominal cost: please check the NPTEL website for the exact timelines.

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

Some of the courses below are ongoing or upcoming, while others have happened in the past. The materials from the older courses will be ported over in due course and be augmented with assignments and other resources. Meanwhile, please check out the links to get immediate access to the lectures, and watch this space for updates smile

GIAN course on
Computational Social Choice


Prof Edith Elkind
University of Oxford

The rapidly growing field of computational social choice, at the intersection of computer science and economics, deals with the algorithmic and complexity-theoretic aspects of collective decision making. Some of the classical themes pursued include (but are not limited to) voting procedures, problems of fair division, and matching. This course addresses several algorithmic and complexity-theoretic themes in computational social choice.


Access Materials

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).

Access Materials

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.

Pre-register Now

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)
This is a short and mildly opinionated course intended for anyone curious about getting started with research in Computer Science (broadly interpreted). While we have designed this course with undergraduates in mind, it should be accessible to anyone who is curious.

Coming soon: timeline, materials, and assignments.

Pre-register Now