Courses

Building the future of the world by instructing the best talents of the country, recruited via the most challenging examination in mankind and carefully selected to as to take the top thin slice of it, is a wonderful process. A morning to evening heavy schedule for the students, with the amazing faculty-student-courses ratio of the institute makes sure you are never short of lectures and classrooms filled with sleepy and dull faces of the world’s future. And we love exploring the darker times of the days and conventionally believed to be fun days of the week to make sure the students do not develop the bad habit of having a leisure time and are never short of a quality classroom sleep. And as a wake-up service, there are regular threats attacking the spectators at their weakest areas.

Postgraduate Level Courses

Robot Motion Planning

Robots are capable of doing every wonderful and challenging task you want them to do, provided that the robots are made capable of masterminding the missions that you desire. Planning deals with the intelligence of making smart moves to even vague and dumb task definitions, rather than the other way round. Motion planning is the problem of enabling the robots run for you or run from you, without causing injury to anyone/anything movable or immovable. Even humans stumble when walking for which a common and recent example is texting and walking in characteristic scenarios. Nevertheless, asking the humans to teach the art of navigation to robots is the challenge taken in the course. Luckily we have standard tools for teaching and cheating, which is what the course is about. And if you succeed, those scary science fiction robots may just get real, a small but valid possibility!  

In this course, we study how the robots can move from one place to the other, without colliding, while making quality navigation plans in computationally less time. Attempt is to make the robot avoid small to big obstacles, structured and unstructured obstacles, static and dynamic obstacles, and complex mazes to wide open spaces; while triumphantly reaching the goal. Quicker calculations imply faster robots with more capability to handle sudden or dynamic changes in the environment. A variety of methods would be discussed including those coming from the domains of artificial intelligence, soft computing and from the general walking, running and quarrelling principles of the students.  

Theory Syllabus

S. No.TopicDetails
Core Topics
1.Introduction to Mobile RoboticsHardware, Software, Vision, Localization, Mapping, Planning, Control, HRI, real life examples, and related topics
2.Introduction to Robot Motion PlanningVariants, Optimality, Completeness, Soundness, Mathematical Formulation, Real World Examples, Planning and Re-planning, Online Planning, Workspace and Configuration Space, Smoothness, Path Cost, Clearance, Structured and Unstructured Environments, Deliberative and Reactive methods, Anytime Algorithms
3.Configuration SpacesDefinitions, Representations, Walkthrough with examples involving different kinds of robots and multi-robot system, Holonomic and Non-holonomic Constraints, Topology, Homeomorphism, Diffeomorphism, Manifolds
4.Collision DetectionTopological Maps, Structured Maps, Un-structured Maps, Distance Functions, Mesh and Bounded Box Approaches, Collision detection between different regular shaped objects/regular objects in an unstructured environment
5.Bug AlgorithmsBug0/Bug Zapper, Bug 1, Bug 2, Tangent Bug, Assessment of optimality and completeness
6.A* Algorithm – An IntroductionStates, Actions, Graph Formulation, Costs, Heuristics, Pseudo-code and Working of A*Algorithm
7.A* Algorithm in Robot Motion PlanningProblem Formulation, Resolution-optimality, Resolution-completeness, Effect of resolution, Planning for non point robots, Planning with robot’s dynamics, Post-processing and smoothing techniques
8.Potential ApproachesPotential Modeling, Artificial Potential Fields, Gradient Descend, Examples with robots with proximity sensors and vision based approaches, Problems on narrow corridors, equi-potential/getting un-stuck, Bushfire Algorithm, Wave-front planner, Navigation Functions, Implementations in Workspace and Configuration Spaces, Elastic Strip
9.Roadmap ApproachesRoadmaps, Visibility graphs, Deformation Retracts, Voronoi, Generalized Voronoi Diagram, Generalized Voronoi Graph
10.Cell Decomposition ApproachesTrapezoidal Decomposition, Morse Cell Decomposition, Boustrophedon Decomposition, Bushfire Decomposition, Wave-front Decomposition, Triangular Decomposition, Quad-tree approach, Framed Quad-tree, Cells with variable sizes, Homotopy
11.Sampling Based Approaches -1: Probabilistic RoadmapsIntroduction to sampling based approaches, single query algorithms, multi-query algorithms, sampling, computing vertices, constructing edges, local planners, connection with k-closest neighbors, connection with radius of k, edges by reversible and non-reversible local planner, collision-checking, post-processing, smoothing, probabilistic completeness, probabilistic optimality.
12.Sampling Based Approaches -2: Advanced Probabilistic RoadmapsObstacle based PRM, Gaussian Roadmap, Bridge Test, roadmaps without cycles, Visibility PRM, Manipulability based PRM, Connection sampling, combination of sampling techniques, connecting disjoint graphs, lazy evaluations, Visibility PRM, Adaptive Roadmap, Elastic Roadmap
13.Sampling Based Approaches -3: Rapidly-exploring Random TreesEST, RRT, bidirectional RRT, RRT-Connect, RRG/RRT*, Kinodynamic planning, goal based sampling, SBL, sampling based roadmap of trees, parallel RRT , multi-tree approaches
14.Reactive ApproachesVector Field Histogram (VFH), Basics of VFH+ and VFH*, Velocity Obstacles
15.Multi-Robot Motion Planning and CoordinationCentralized techniques, decentralized techniques, with communication and without communication, prioritization, coordination using reactive planning, mission planning
16.Motion Planning using Hybrid Algorithms2-layer planning, multi-layer planning, ensemble of algorithms, global and local planning
A Brief Overview of the following topics
17Planning using Optimization TechniquesIntroduction to optimization and Genetic Algorithm, Individual representation, variable sized individual, fitness function, evolutionary operators, planning using grammatical evolution
18.Planning using Fuzzy Logic and Neural NetworksProblem Modeling and use of Fuzzy Logic and Neural Networks for Robot Motion Planning, Shunting equation based navigation
19.Reinforcement LearningIntroduction to RL, problem formulation, Q-Learning
20.Learning-based RoboticsLearning from Demonstration, Reinforcement Learning for Robot Navigation, Inverse Reinforcement Learning
21.Motion Planning for Autonomous Vehicles 

Lab Syllabus

S. No.Topic
Playing with Simulators
1.Installing and Playing with Open Motion Planning Laboratory (OMPL)
2,Benchmarking in OMPL
3.Installing and Playing with MoveIt
4.Benchmarking with MoveIt
Programming
5.Collision Detection and Configuration Spaces
6.Motion Planning using A* algorithm
7.Motion Planning using Visibility Roadmap
8.Motion Planning using PRM
9.Writing a simple planner using OMPL/Moveit
10.Motion Planning using RRT
11.Motion Planning using Optimization
Presentations
12.Project / Presentation

Pre-requisites

Passion to learn new techniques, churn your brains and think a lot is mandatory. Some knowledge of search techniques in artificial intelligence, general principles of artificial intelligence, algorithms, soft computing, coordinate geometry and some programming skills are all desirable, though not necessary. An introduction to mobile robotics is taken as a part of the course, before delving into the particular problem of planning.

Suggested Reading

R. Kala (2023) Autonomous Mobile Robots: Planning, Navigation and Simulation, Elsevier

Artificial Life Simulation

Ever wondered by nearly impromptu making decisions you end up being so awesome? How the sight of a question paper can invalidate all pre-decided cheating chains and dynamically make new ones without easy communication? What gives the capability to see a new dangerous assignment and stand tall united within no time? And what gives the capability to the institution to foresee any such attempts and tactically drop surprises which are hard to combat? In this beautiful journey we see how innocent, small and week looking lives otherwise end up giving a display of the most majestic nature, whether in your favor or against you is a matter of discretion. Taking an inspiration, we see the mechanisms to simulate and engineer the artificial systems of the future that will do something amazing, while still be so simple to look, to develop and (to some extent) to cost.

The course takes a deeper looks into all micro and macro beings around, all cool looking natural mechanisms and everything that you’d been doing so far, to assess the fundamental working mechanisms behind these and thereafter to see if the same can be injected into artificial systems and robots for some amazing capabilities. The course talks about the intelligent paradigms of search and evolutionary behaviors of animals (and animal-like humans), exhibition of characteristics behaviors that you love or hate, and creation of a simulation setup to get a full view of the amazing world of chaos all around, and the mechanisms to make robots exhibit the same characteristics.

Theory Syllabus

S. No.Topic
Part I: Introduction
1.Introduction to the course
2.Introduction to Artificial Life and Artificial Intelligence
Part II Agent Behaviors
3.Reinforcement Learning
4.Centre of area Method, Potential Field, Velocity Obstacles
5.Finite State Machine based Modelling, Behaviour Trees
6.Cellular Automata
7.Fractals
Part III Simulation Systems, Software
8.Basics of Robot Simulation Software
9.Robot Operating System
10.Traffic Simulation
11.Crowd Simulation
Part IV Collective Behaviors
12.Swarm Robotics
13.Game Theory, Adversarial Search, Mechanism Design, Pursuit Evasion
Part V Evolution
14.Particle Swarm Optimization
15.Differential Evolution
16.Diversity Preservation
17.Multi-Objective Optimization
18.Memetic Computing
19.Self-Organization
20.Cooperative Co-evolution
21.Competitive Co-evolution
22.Parallel Genetic Algorithms
23.Artificial Immune System
24.Adaptive Systems and Self-Adaptation, Evolutionary Strategies
Part VI Evolutionary Robotics
25.Recurrent Neural Networks
26.Neuro-Evolution
27.Grammatical Evolution
28.Evolutionary Robotics

Lab Syllabus

S. No.Topic
1.Simple graphics and animation
2.Simple Stochastic Simulations
3.Simple Behaviors
4.Behaviours using Finite State Machines
5.ROS Basic
6.ROS and ROS GUI
7.ROS Turtlebot simulations
8.ROS Turtlebot Multi-Robot Behaviours
9.Simulations using MobileSim
10.Cloth Simulations
11.Simulations using MENGE
12.Simulations using SUMO
13.Term Papers based on the topics covered in class OR use of any simulation software

Pre-requisites

There is no major prerequisite. A basic understanding of Artificial Intelligence or Computational Intelligence can be very useful, although the relevant topics are discussed in the course. Even though some basics of evolution and Genetic Algorithm is covered prior to the start of the specific topics, knowledge of Genetic Algorithm is preferred, which can also be done independently by the candidate after taking the course. The lab component also assumes the student to be sufficiently proficient in Programming and the Linux Operating System.

Suggested Reading

R. Kala (2023) Autonomous Mobile Robots: Planning, Navigation and Simulation, Elsevier

Foundations of Robotics I (Close overlap with Robotics and Industrial Automation)

One of the most desired capabilities of robots is to fetch a can of beer from the refrigerator and to serve that to you, when you’d not be in a position to do so. This course is towards the same technology and hence worthy of reading. The course discusses the math and science of this noble task, so that one can program robotic manipulators to work, while ensuring no spillage, no destruction, no getting stuck, and an accurate and efficient service.

The course talks about the basics of robotics in general and the robotic manipulators in specific, explaining all the key components which enables the manipulators to carry operations. One could transform the pose of one joint of the manipulator to the other, finally giving the ability to know the location of the hand or the end-effector with respect to the base; further creating a mechanism to compute the pose of every joint to get the hand or the end-effector at the desired location. The velocities can be transformed between joints to get the velocity of the end-effector or the inverse. The relations can be used to compute a smooth trajectory for the end-effector and joints of the manipulator to achieve the desired task. Once these basic blocks are known, one could make a dynamics model of the manipulator and further devise control strategies for the manipulator. The ability to control the manipulator makes the basic foundation block to program the robot to carry interesting operations, or to use a simulation setup to test the correctness of the program. Finally the technology leads to an automation setup and automation models for the factory floor.

Syllabus

S. No.Topic
1.Introduction and definition of robotics, different kinds of robots, hardware basics
2.Spatial description and transformation
3.Manipulator Kinematics and D-H principle
4.Inverse manipulator kinematics
5.Manipulator Jacobian: Velocity
6.Manipulator dynamics: Lagrangian formulation and Newton-Euler formulation (Covered by a guest lecture/co-instructor)
7.Trajectory generation
8.Linear control systems, PID controller
9.Robot programming languages and systems, Introduction to ROS
10.Offline Programming systems
11.Automation: Introduction, definition of automation. Different types of automation: Flexible and Rigid automation their advantages and disadvantages. Details about flexible automation: JIT, KANBAN, KIZEN. CIM (Computer Integrated Manufacturing using CAD/CAM), (covered by a guest lecture/co-instructor)

Pre-requisites

Basic understanding of maths and physics will be very helpful in studying the course.

Text/Reference Material

Foundations of Robotics II (Close overlap with Humanoid Robotics)

Many kids join us to fulfil their childhood dream of making a robot that looks exactly the same as any science fiction movie, and therefore, to advertise we have to run a course that promises exactly the same thing. Being an IT institute, we primarily look at the software side of it, and making education affordable, focus on the simulation aspects.

The course on Foundations of Robotics – II (that closely resembles the course on humanoid robotics) takes you through a journey covering all software components that power modern robots. Even though the students often get lost in this journey, we make sure that the human fate is never witnessed by the robots by focused on Simultaneous Localization and Mapping concepts, through which robots always get a map and their location. The students often re-visit the rationality of their decision of choosing this elective, however, the course ensures that the robots make the best decisions always for navigation through a mixture of planning techniques and execution through controls. Because we deal with students, we know the meaning of every gesture that the students make during the class, and teach the students how to impart the same skill set into robots. To add some fun, the course also does window shopping of different robots, sensors and cool gadgets.

Theory Syllabus

S. No.TopicDetails
1.Introduction to Mobile RoboticsHardware, Software, Vision, Localization, Mapping, Planning, Control, HRI, real life examples, and related topics
2.SensingDifferent kinds of sensors used in robotics, robotics laboratory visit to see different robots and their sensors and actuators
3.FilteringBasics, Kalman Filter, Extended Kalman Filter, Particle Filter
4.LocalizationRobot Motion Models, Robot Observation Models, Correspondence
5.MappingOccupancy Grid Mapping, Semantic Maps, Dense Maps, Beliefs, Fusiosn from different sensors, Space Partitioning, Bounding Volume Hierarchy
6.Simultaneous Localization and Mapping (SLAM)EKF-SLAM, Visual Odometry, Visual SLAM, Visual Place Recognition, Learning in SLAM
7.Visual SLAMVisual Odometry, Bundle Adjustment, Visual Place Recognition, Loop Closure
8.Cognitive roboticsReactive approach, Subsumption Architecture, Deliberative Approach
9.Multimodal Human-Robot InteractionComputer Vision Basics, Features, Feature Matching, Segmentation, Learning, Speech Recognition, Gesture Recognition, Hidden Markov Models, Fusion of different modes
10.Roadmap ApproachesRoadmaps, Visibility graphs, Deformation Retracts, Voronoi, Generalized Voronoi Diagram, Generalized Voronoi Graph
11.Hybrid Deliberative/Reactive approachDeliberative Planning, Reactive Planning, Need for Fusion, Fusion Architectures, Multi-Behavior Approaches
12.ControlBasics of control theory, PID control, control of mobile robots
13.Fundamentals of Biped Locomotion Control (Humanoid Robotics Only) Stability, ZMP, gait cycle
12.Full Body Humanoid Planning (Humanoid Robotics Only)Collission Detection, Configuration Space, Probabilistic Roadmap, Topology, Manifolds

Lab Syllabus

S. No.Topic
1.Simulation of Robots including motion models, observation models and noise
2.Localization using simulated robots
3.SLAM using simulated robots
4.SLAM using RTABMAP, ORB-SLAM or a similar library
5.Projection and calibration experiments with web cameras
6.Individual Projects based on available libraries

Pre-requisites

This is often a second course taken after Introduction to Robotics – 1 and/or Artificial Life Simulation and therefore those topics are assumed to be known as per the curriculum of the batch. Because not all students have done courses on Computer Vision, some elements are briefly repeated, but a knowledge of vision through taught courses or projects is extremely helpful. Similarly, knowledge of searching (Artificial Intelligence) can be very useful.

Suggested Reading

R. Kala (2023) Autonomous Mobile Robots: Planning, Navigation and Simulation, Elsevier

Machine Learning and Autonomous Systems

In a world where machines are learning the entire curriculum of all top universities and corporate combined, it would be imperative that robotics and autonomous systems is within their curriculum. We are an amazing university where humans are making machines learn, and machines are helping humans learn. In parallel, we taught machines to learn robotics and autonomous systems decision making, particularly navigation, and we taught humans the algorithmics for the same. They both failed with ammusing answers in the examination copies for the students and amusing behaviors of the robots who grauduated from the machine learning university. So we thought that teaching students how robotics and autonomous systems (fail to) learn would make an interesting course.

The course gives a background of machine learning as the chief tool to operate robots, and literally goes deeper with time featuring a coverage of deep learning and recurrent models. By this time the students get some rewards as marks in their account, so we teach them reinforcement learning to help them in their decision making. We then shift gears to cover robotics and autonomous systems, deciphering all the algorithmics that lets robots know their position, their map, helps them make navigation and manipulation decisions, and control themselves in pursuit of the same. We understand why this is too complicated and unnecissary to learn in a world where the robots are learning themselves, and discuss the supervised learning and reinforcement learning frameworks for robots that learn for themselves.

Theory Syllabus

S. No.TopicDetails
Part I: Introduction and Machine Learning
1.Overview of the coursemachine learning, autonomous systems, machine learning in autonomous mobile robots  
2.Introduction to Machine Learningclassification, regression, applications, feature engineering, supervised learning, unsupervised learning, reinforcement learning
3.Neural Networksperceptron, activation functions, multi-layer perceptron, training, regularization
4.Recurrent Neural Networksmotivation, functioning, training
Part II Deep Learning
5.Introduction to Deep Learningshallow learning, problems in shallow learning, deep learning, autoencoders
6.Convolution Neural Networksconvolution, feature maps, architectures, pooling, batch normalization, stochastic gradient descent,
7.Long-Short Term Memory Networksproblems with recurrent neural networks, architecture
Part III Reinforcement Learning
8.Introduction to Reinforcement LearningMDPs, returns, policy, value, exploration, exploitation, discounting
9.Dynamic Programmingpolicy evaluation, policy improvement, value iteration and policy iteration
10.Monte-Carlo Methodsmonte carlo, prediction, control
11.Temporal Difference Learningworking, Advantages, SARSA, Q-learning, Expected SARSA, double Q-learning, n-step bootstrapping
12.Deep Reinforcement Learningmotivation, actor-critic, experience replay, deep Q-learning, policy gradients  
Part IV Autonomous Mobile Robots
13.Autonomous Mobile Robotshardware, software, localization, mapping, SLAM, planning, control
14.Planning for Autonomous Mobile Robotsgrid search, artificial potential field and fusion of deliberative/reactive methods
Part V Learning-based Robotics
15.Introduction to learning-based roboticsneed for data-driven methods, socially-compliant navigation, revisiting needs/practicalities of supervised learning, unsupervised learning and reinforcement learning
16.Learning from Demonstrationimitation learning, dataset creation methods, example architectures, Data Aggregation (DAgger)
17.Reinforcement Learning for Roboticsneed for reinforcement learning, example architectures practical problems, reward shaping, hindsight experience replay
18.Inverse Reinforcement Learningneed for inverse reinforcement learning, algorithm primer, Generative Adversarial Imitation Learning

Pre-requisites

While the ideal offering assumes knowlege of machine learning and deep learning through previous courses or projects, the students who have taken this course had no such prior experience necissitating the same modules to be injected in the curriculum, reducing the lecture hours and coverage of advanced topics.

Suggested Reading

R. Kala (2023) Autonomous Mobile Robots: Planning, Navigation and Simulation, Elsevier

Computational Intelligence

Mesmerized by the storm of increase of intelligence in the machines and the storm of decrease of intelligence in the humans, the institute decided to start a flagship course that teaches the students everything about intelligent machines in a single course, and this course was born. Studied by students from different academic coursework backgrounds, with different projects in the past, and with different requirements – this mandatory course is the modern day equivalent of unity in diversity. The course sometimes covers topics that all but one already know, and sometimes leaves topics that none know.

Like many other courses at this institute, a good part of the course is on neural networks and machine learning with the difference that for some post-graduate students this is the first such offering. The course slowly dissects the commonly seen intelligent systems, takes the technology outside for examination, notes the basic constituents, and teaches the generics. Because machine learning is a hype, the course covers different applications, problems, and some tools. The leftover time goes into evolutionary computation and fuzzy logic. To make the instructor look intellectual, the complexity is added by discussions on different hybrid systems involving multiple techniques at once. The laboratory part is easy to solve given a wide array of libraries available. The course looks into some machine learning data sets, regression and classification problems, and some computer vision problems to gets a hands-on and let students brag about what their codes do in front of non-IT friends and family.

Theory Syllabus

S. No.Topic
1.Machine Learning Primer
2.Application Primer: Vision, Feature Engineering
3.Classification Primer
4.Neural Networks
5.Support Vector Machines
6.Principle Component Analysis
7.Self Organizing Maps
8.Recurrent Neural Networks
9.Committee Machines
10.Genetic Algorithms
11.Fuzzy Logic
12.Hybrid Systems: ANFIS, Evolutionary Neural Networks, Feature Selection using Genetic Algorithm, Evolutionary Fuzzy Systems

Lab Syllabus

S. No.Topic
1.Regression problems
2.Classification problems
3.Object recognition problem
4.Committee Machines

Pre-requisites

The course gets the highest possible diversity of students, so there is no means to implement a pre-requisite. It could be a cakewalk if you’ve doen courses or projects related to soft computing, machine learning, deep learning, etc.

Suggested Reading

R. Kala (2023) Autonomous Mobile Robots: Planning, Navigation and Simulation, Elsevier


Undergraduate-Level Courses

Artificial Intelligence

Intelligence is the most precious gift which most of the humans have, and most of them make good use of it, though may not always be at the right time. Humans are so intelligent that we go forth with teaching this skill to other people and even our beloved machines. In this course I try to make the students intelligent, so that they may make the lame looking machines intelligent and do some awesome stuff. Thinking about thinking is a weird thing to do, which however lays the foundation of making machines intelligent by incorporating the same thinking fundamentals. And attributed to their enormous storage capacity and speed to process information, both much higher than the practically what the humans exhibit, especially students; the machines are winning over the humans by a long way. However the dumbness showed by machines to the easiest of things is also in no comparison to the dumbness of humans, even students.

Today the machines can compute all possibilities of everything good and bad against every action and reaction over time, to tell you smart moves, smart enough to flatter people. The machines could interpret the vague, false and incomplete narrations of your friends to present you the truth. The machines could act logically stop you from making decisions, which you may take in a flow and later regret. And what not, it is a pool of possibilities. So the machine package sounds far better than any living companion, only till it comes to a context unseen, unheard, not thought of, unimaginable and a surprise when the acts of your machine package would be mere entertaining rather than helping.

Theory Syllabus

S. No.TopicDetails
1.IntroductionDefinition, Foundations, History, Current AI systems
2.Intelligent AgentsAgents and environment, Rationality, PEAS, Nature of Environment, Different types of agents
3.SearchingAgent design, Toy Problems, Searching, Tree Search and Graph Search, Uninformed Search, Breadth First Search, Depth First Search, Depth-Limited Search, Iterative Deepening, Iterative Lengthening, Bidirectional Search, Sensorless problems, Contingency problems.
4.Informed SearchInformed/Heuristic Search, Heuristic Search, A* Search, Memory bounded heuristic search, heuristic functions, local search and optimization, hill-climbing, simulated annealing, local beam search, online search, online depth first search.
5.Constraint Satisfaction ProblemsConstraint Satisfaction Problems, Backtracking, Minimum Remaining Values heuristic, Most Constraint Variable heuristic, Least Constraining Value heuristic, Forward Checking, Constraint Propagation, local search, problem decomposition.
6.Adversarial SearchGames, optimal decisions in games, minimax algorithm, multi-player games, alpha-beta pruning, evaluation functions, cutting off search, expectiminimax algorithm, dice/card games.
7.LogicLogical Agents, First Order Logic, PROLOG
8.PlanningThe planning problem, language specification and PDDL, examples of planning problems, forward search, backward search, heuristics, partial order planning, planning graphs, heuristics from planning graphs, Graphplan algorithm.
9.UncertaintyUncertainty, probability basics, axioms of probability, inference using full joint distributions, independence, Bayes’ rule, Naive Bayes.
10.Probabilistic ReasoningRepresentation, Bayesian Networks, Construction of Bayesian Networks, Conditional Independence, Bayesian Networks with continuous variables.
11.Making Simple DecisionsBeliefs, Desires and Uncertainty, Utility Theory, Utility Functions, Multiattribute Utility Functions, Decision Networks, Value of Information
12.Making Complex DecisionsStochastic Problems, Value Iteration, Policy Iteration, Game Theory
13.Reinforcement LearningReinforcement Learning, Passive Reinforcement Learning, Direct utility estimation, Active Dynamic Programming, Temporal Difference Learning, Active Reinforcement Learning, Exploration and Exploitation, Q-Learning.

Lab Syllabus

S. No.Topic
1.Design of a simple reflex agent
2,Searching using Breadth First Search
3.Searching using Uniform Cost Search
4.Searching using A* Algorithm and Heuristic Search
5.Constraint Satisfaction Problems using Minimum Remaining Values, Most Constrained Variable, Least Constraining Value Heuristics
6.Adversarial Search
7.PROLOG
8.Value Iteration
9.Policy Iteration

Pre-requisites

Willingness to look at real world probelms and design methodologies for solving them will be very helpful for the course. Good algorithmic and programming skills are desirable.

Suggested Reading

R. Kala (2023) Autonomous Mobile Robots: Planning, Navigation and Simulation, Elsevier

Data Structures

Data is like your wardrobe, you want the selected clothes as fast as possible, should occupy the least magnitude of space, should take the least of efforts to add stuff and organize, and should look beautiful at the same time. Naturally the requirements are too hard to keep, especially when you’re a heartthrob and people love gifting you now and then. The course preaches the way to understand your problems and get your stuff organized, the digital version. The course discusses fancy looking structures to organize your stuff; while the stuff may be ugly, the organization is beautiful and efficient.

This is largely a programming course and takes aboard the students in a challenging journey of increasing complexity as the course proceeds. Starting from the primitive uses of arrays and linked lists, and using the same primitives to implement basic data structures, the course carries forward to programming and using trees and graphs. The course presents a blend of programming primitive operations of data structures, and using the data structures for unbelievable problems creatively crafted by the instructors.

Theory Syllabus

S. No.TopicDetails
1.IntroductionIntroduction to Data Structure, Types of Data Structure, Abstract Data Types, Introduction to Array, Array Implementation and Applications
2.StackIntroduction:LIFO structure, create, POP, PUSH, delete stack, ADTs, Stack, Implementation using Array, Stack Implementation using Linked List, Applications, Pre-, In-, Post-fix expressions
3.QueueIntroduction: FIFO Structure, ADTs, Queue Implementation using Array, Queue, Implementation using Linked List, ApplicationsTypes of Queues: Circular Queue, Dequeue and Priority Queue: Implementation, ADTs and Applications
4.RecursionIntroduction, Types of Recursion, Application of Recursion, Backtracking
5.Linked ListWhat is Linked List, Advantage of Linked List, Types of Linked List, Singly Linked List- Implementation, ADTs and Applications, Circular Linked List-Implementation, ADTs and Applications, Doubly Linked List-Implementation, ADTs and Applications, Sorted Linked List- Implementation, ADTs and Applications
6.SortingWhat is Sorting, Types of Sorting, Insertion Sort, Selection Sort, Bubble Sort, Merge Sort, Quick Sort, Quick-select, Advantages and Disadvantages of All Sorting Algorithm, Complexity Analysis of Sorting Algorithm
7.Analysis of AlgorithmsAlgorithm, Pseudo code for expressing algorithms, time complexity and space complexity,O-notation, Omega notation and theta notation
8.Dictionary BasicsArray Based Ordered and Unordered, Linked List Based Ordered and Unordered
9.SearchingSequential Search, Binary Search, Algorithm and Analysis
10.Hash Table BasicsCollision Resolutions using Separate Chaining, Collision Resolutions using Open Addressing, Quadratic Probing, Double Hashing
11.String AlgorithmsNaive string matching, Rabin Karp, Boyer Moore
12.TreesBinary trees, n-ary trees, Binary Search Trees, Heaps, Heapsort, AVL Trees
13.Graph TheoryGraphs, Disjoint sets, Kruskal’s MST using disjoint sets, Dijkstra’s Algorithm, Floyd-Warshall’s algorithm, BFS and DFS searches

Lab Syllabus

S. No.TopicDetails
1.IntroductionBasics of Arrays and Pointers
2.StackCreate, POP, PUSH, delete stack, Stack, Implementation using Array, Stack Implementation using Linked List, Applications, Pre-, In-, Post-fix expressions
3.QueueQueue Implementation using Array, Queue, Implementation using Linked List, Applications, Types of Queues: Circular Queue, Dequeue and Priority Queue: Implementation and Applications
4.RecursionApplication of Recursion, Backtracking
5.Linked ListSingly Linked List, Circular Linked List, Doubly Linked List, Sorted Linked List, Applications
6.SortingInsertion Sort, Selection Sort, Bubble Sort, Merge Sort, Quick Sort, Quick-select
7.Analysis of AlgorithmsAlgorithm, Pseudo code for expressing algorithms, time complexity and space complexity,O-notation, Omega notation and theta notation
8.Dictionary BasicsArray Based Ordered and Unordered, Linked List Based Ordered and Unordered
9.SearchingSequential Search, Binary Search
10.Hash Table BasicsCollision Resolutions using Separate Chaining, Collision Resolutions using Open Addressing (no deletions), Quadratic Probing, Double Hashing
11.TreesBinary Search Trees, Heaps, Heapsort
12.Graph TheoryDijkstra’s Algorithm, BFS and DFS searches

Pre-requisites

Understanding and a good hands-on programming is very essential. The students are required to spend prolonged hours programming, more than the hours assigned in the laboratory contact hours.

Design and Analysis of Algorithms

To a community that believes computer software powered by algorithms are the one-stop solution to all world problems, this is the celebritic course whose GPAs are believed to increase your LPAs as per modern myths. Here we convince ourselves that that we can solve all hard real-life problmes using the tool-set that the course brings, and that the solutions would be scalable when the world’s population is simultaniously onboarded. If you have a (not-so-personal) problem in life, try treating it with one of the finest choicest of liquours crewed for ages and served in this course. If it can’t, we offer a license to take one of the many advanced theoretical and application oriented courses.

The course teaches you how to divide your cheating material among friends and collaborate to conquer the exams, and the complexity of the solution to reap benefits within the examination period. We study how to allocate study material into pockets by hashing the topic name, so that the time from reading the question to getting the chits is minimized. While the instructor struggles to make the class dynamic, we teach you how to program using dynamic programming, and be greedy in your approaches to life ‘coz there are limited top grades. We model the batch as a graph to search the shortest path of a cheat from a source to a destination, and see how to make networks such that the total time for the whole batch to copy an assignment is minimized and flow across the network is maximized. We also teach how to compare two assignments to help you add enough non-sensical information to minimize automated match.

Theory Syllabus

S. No.Topic
1.Divide and Conquer
2.Complexity Analysis and Master Theorem
3.Sorting: Heapsort, Quick sort, Sorting in a linear time
4.Hash Tables
5.Dynamic Programming
6.Greedy Algorithms
7.Graph Algorithms: Breadth First Search, Depth First Search, Topological Sort, Strongly Connected Components
8.Minimum Spanning Tree (Kruskal’s algorithm and Prim’s algorithm)
9.Graph Search (Bellman Ford, Dijkstra’s algorithm, Floyd Warshall, Johnson’s algorithm)
10.Maximum Flow
11.String Matching (naïve, Rabin-Karp, KMP)
12.NP Completeness

Lab Syllabus

Same as the theory syllabus

Pre-requisites

Data structures and programming

Object Oriented Methodologies (Part B)

This course teaches you the skills to make great software (front end) to solve all problems in the world, and teaches you to code using stunning looking re-usable designs so that someone can proxy for you by working over the same codes when you’re enjoying vacations at exotic locations. Looking at the failure to custom design my office after repetitive attempts, I choose to get students’ hands dirty with the programming aspects on the code. The language is carefully chosen using most enthralling name as a metric, which came down to JAVA.

My part of the course gives the most unreal problems, mostly simulating stuff I wish I could do in real life, and asks the students to actually learn how to program them. The course involves understanding the different object oriented flavors of Object Oriented Methodologies and tasting them in JAVA. The first half of the course starts with lousy command line applications, primarily dealing with injecting inheritances and interfaces to all modules of a boring simulation exercise. After an intermission, we deal with what bugs most programmers, exceptions, and add a GUI flavor to give the course a better visual appeal. For the lazy programmers, the course covers the collection frameworks. To impress ‘the one’ in a tech world, the course also covers multi-threading and animations.

Theory Syllabus

S. No.Topic
1.Programming in JAVA
2.Implementing Abstraction, Encapsulation
3.Implementing Inheritance and Polymorphism
4.Implementing Interfaces and Abstract Classes
5.Exception Handling
6.JAVA Collection Framework and Generic Data Types
7.Multi-Threading
8.Event-Driven Programming Basics
Creating GUI

Lab Syllabus

Implementing all the concepts covered in theory through assignments and lab tests. Typically features 1 large project-grade GUI-based question.

Pre-requisites

Basic understanding of programming

Text/Reference Book

  • H. Schildt (2012) Java 2 : The Complete Reference, Tata McGraw-Hill, New Delhi, India.

Principles of Programming Languages

Think it is cool to visit new places and talk to the locals in their local dialects, thus knowing a large kitty of languages? We do the same thing here, except that the people are computer screens and therefore the languages are programming in nature. We give you the power to surprize your computer with a new language that your computer understands. This course on window shopping of programming languages also teases you to understand which stement makes which impact inside your computer brain’s and how your computer understands you. We let you chose your language while dating your computer, a language that takes the least time to express your intentions with no or little mis-understanding of thoughts, while also takes the least time to execute the intentions, for once and always.

The course discusses different kinds of programming languages and their need. We follow the love story of how a variable binds to a storage location successfully giving birth to a value of a specific datatype if the couple are scope-compatible. We see how these values could together express themselves as expressions and assignments, with a control mechanism inside one or many sub-programs of life. We look into how to concurrently solve problems, hoping, unlike students, all units are functional and logic-based.

Theory Syllabus

S. No.Topic
1.Preliminaries
2.Syntax and Semantics
3.Lexical and Syntax Analysis (Guest Lecture)
4.Names, Bindings, Scopes
5.Datatypes
6.Expressions and Assignments
7.Statement-level Control Structures
8.Subprograms
9.Implementing Subprograms
10.Repeat topics: Abstract Data types, encapsulation, Object-oriented programming, exception and event handling
11.Concurrency
12.Functional programming languages
13.Logic programming languages

Lab Syllabus

Pre-requisites

Basic programming and object-oriented methodologies

Text/Reference Book

  • R. W. Sebesta (2012) Concepts of Programming Languages, Pearson.