Assistant Professor

Published:

Courses and Laboratories

  • Data Structures
    • Topics Covered: Analysis and design of fundamental data structures including array-based lists, linked lists, stack, queue, hash table, recursion, binary tree, binary search trees(AVL tree, Red-Black tree), heaps, sorting(insertion, selection, bubble, merge sort, quick sort), searching (linear search, binary search)and basic graphs.
    • Lab Outlines: Design algorithmically efficient data structures for solving problems that provide a pathway towards competitive programming.
  • Complexity and Algorithms
    • Topics Covered: Computational Complexity, Branch and Bound Heuristics, Approximation Algorithms, Advanced Data Structures(Segment Tree, BIT, Trie), Graph Algorithms(BFS, DFS, Topological Sorting, SCC) Flow and Matching(Stable marriage, Bipartite matching, Ford-Fulkerson, Dinic, Hungarian) LP Based Approximation Algorithms, Randomized Algorithms, Algorithms in state-of-the-art fields like Bioinformatics, Parallel Computing, On-line Algorithms, etc.
    • Laboratory Outlines: Solving classical algorithmic and heuristic problems from different Online Judges (e.g. UVA, SPOJ, LightOJ, HDU, etc.)
  • Theory of Computation
    • Topics Covered: Computational models, Finite State Machine, Regular Expression, Deterministic Finite Automata, Non-Deterministic Finite Automata, Push-down Automata, Turing Machine, Complexity Theory.
  • Web Design and Programming
    • Topics Covered: HTML5, CSS, BootStrap, JavaScript, jQuery, AJAX, GIT, MySQL, PHP.
  • Software Testing
    • Topics Covered: Testing Preliminaries, Types of Testing, Testing Models(V-Model, Object-Oriented model, Agile Model), Model-Driven Test Desing (Input Space Partitioning, Graph Coverage, Logic Coverage, Syntax Coverage), Testing Tools(JUnit, JMeter)
  • Other Courses Instructed: Graph Theory and Computational Geometry, Structured Programming Language(C), Object-Oriented Programming Language (C++), Object-Oriented Programming Language (Java), Software Quality