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