Courses I have taught

Courses I have taught

2017, Apr 06    

CSE427: Machine Learning
Contents: What does it mean to learn? PAC learnability, Empirical Risk Minimization, Uniform Convergence, No Free Lunch Theorem, Occam’s Razor, Rademacher Complexity, VC Dimensions, Structural Risk Minimization, Logistic Regression, Boosting, Validation, Convex Optimization, Regularization, Stochastic Gradient Descent, Support Vector Machines, Kernel Methods, Multi-class Classification and ranking, Decision Trees, Nearest Neighbor, Neural Networks, Online Learning, Clustering, The curse of dimensionality and PCA, Generative Models, Markov Decision Processes, Reinforcement Learning

CSE422: Artificial Intelligence
Contents: Survey of concepts in artificial intelligence. Knowledge representation, search and Control techniques. AI machines and features of LISP and PROLOG languages. Problem Representation; search, constraint propagation, rule chaining, frame inheritance, inference and learning in intelligent systems; systems for general problems solving, game playing, expert consultation, concept formation and natural languages processing; recognition, understanding and translation. Use of heuristic vs. algorithmic programming; cognitive simulations - vs. machine intelligence; study of some expert systems such as robotics and understanding. Solving problems in Al languages, Introduction, rational behavior, Types of Agents, PEAS, environment, State space, Heuristic concepts, A* search, Heuristic admissibility and dominance, 2 player game tree, minimax, alpha beta pruning, Genetic algorithm, 8 queen problem, 0-1 knapsack problem, Local Search (Hill climb, simulated annealing, Gradient descent), Regression analysis, Constraint Satisfaction Problem (Map coloring, variable ordering), Decision Tree/ID3 algorithm, Probability theory (Joint distribution table, independence), Bayes theorem, Naïve bayes
Course Materials

CSE426: Advanced Algorithms
Contents: String Matching Algorithms: Rabin Karp Hashing, String Matching Automaton, Knuth Morris Pratt, Polynomials: Polynomial Interpolation, Fast Fourier Transformation, Computational Geometry: Segment Segment Intersection, Graham’s Scan, Jarvis’s March, Closest Pair of Points, Voronoi Diagram, Deluanay Triangulation, Computational Number Theory: Sieve of Eratosthenes, Prime Factorization, Miller-Rabin Primality Test, Pollard’s, Extended Euclidean, Chinese Remainder Theorem, Flow Networks: Maximum Flow - Minimum Cut Theorem, Ford Fulkerson Method, Edmond-Karp, Matching: Hull’s Theorem, Maximum Bipartite Matching, Augmenting Path Algorithm, Hungarian Algorithm, Hopcroft Karp, Edmond’s Blossom. Binary Search Tree: Unbalanced BST, Red Black Tree, Segment Tree: various applications, Linear Programming: Dual Problem, Simplex and Ellipsoid Algorithms etc.
Course Materials

CSE708: Advanced Graph Theory
Contents: Graphs and simple graphs, diagraphs, subgraphs, vertex-degrees, walks,, paths and cycles; trees, spanning trees in graphs, distance in graphs; Complementary graphs, cut-vertices, bridges and blocks, k-connected graphs; Euler tours, Hamiltonian cycles, Chinese Postman Problem, Traveling Salesman Problem; Chromatic number, Chromatic polynomials, chromatic index, Vizing’s theorem, planar graphs, perfect graphs.

MAT324: Graph Theory
Contents: Almost the same as CSE708 but this course is more proof oriented and overly mathematical.
Course Materials

MAT216: Linear Algebra and Fourier Analysis
Contents: Linear Algebra: Basic subject on matrix theory and linear algebra, emphasizing topics useful in other discipline, including systems of equations, vector spaces, determinants, Eigenvalues, similarity, and positive definite matrices, Applications to Gauss elimination with pivoting. Fourier Analysis: Real and complex form. Finite transform. Fourier integral. Fourier transforms and their uses in solving boundary value problems. Multiple integrals; surface and volume integrals, divergence and Stoke’s theorem
Course Materials

CSE230: Discrete Mathematics
Contents: Set theory, Elementary number theory, Graph theory, Paths and trees, Boolean Algebra, Binary Relations, Functions, Algebraic system, Generating functions, Induction, Reduction, Semigroup, Permutation groups, Discrete Probability, Mathematical logic, Prepositional calculus and Predicate calculus.

CSE220: Data Structures
Contents: Introduction to widely used and effective methods of data organisation, focussing on data structures, their algorithms and the performance of these algorithms. Concepts and examples, elementary data objects, elementary data structures, arrays, lists, stacks, queues, graphs, trees, compound structures, data abstraction and primitive operations on these structures. memory management; sorting and searching; hash techniques; Introduction to the fundamental algorithms and data structures: recursion, backtrack search, lists, stacks, queues, trees, operation on sets, priority queues, graph dictionary.

Course Materials