Teaching at UNLV

  • Fall 2022, 23

    CS 302: Data Structure

    This course covers the core data structure concepts in CS. This includes lists, graphs, tress, sets, hashes, heaps, and many different operations on them. The course also introduces algorithmic complexity analysis.

  • Spring 2023, 24

    CS 789: Graph Data Analytics

    This course introduces and applies advanced concepts and techniques of large-scale network (graph) analytics to solve real-world problems in myriad disciplines. Concepts include, but not limited to, graph representations, centrality, motifs, subgraph mining, parallel algorithm design for graphs, machine learning on/with graphs, and real-world applications with graphs.

Courses at Univ. of New Orleans (UNO)

  • Fall 2019-

    CSCI 6454: Parallel and Scientific Computing

    This course covers advanced programming techniques for a diverse range of High Performance Computing (HPC) platforms. The course introduces the foundations of parallel computing, including parallel architectures, parallel programming methods and techniques, parallel algorithm designs, and parallel performance analysis.

  • Spring 2019-

    CSCI 6250: Big Data Analytics and Systems

    Introduction to big data analytics and data mining, Methods of analytics and statistical modeling, MapReduce and Algorithms using MapReduced, Finding similar items – Locality Sensitive Hashing, Link analysis, Frequent Itemsets, Clustering, Data analytics life cycle, data exploration and data analysis, etc.

  • Fall/Sp 2019-

    CSCI 2450: Machine Structure and Assembly Language Programming

    Intel x86 processors, 64-bit processors, AMD processors

  • Fall 2018

    CSCI 43/5311: Computer Networks and Telecom

    Reference Models, Physical Layers, Data Link Layer, MAC, Internet, TCP/UDP, Application Layer, etc.

  • Spring 2018

    CSCI 5401: Operating Systems

    Process management, multiprogramming, memory management, file management, concurrent programming, etc.

  • Spring 2017

    CSCI 6990: Mining and Analysis of Large-scale Networks (Advanced Topics of CS)

    I designed and administered this advanced graduate course that introduces and applies advanced concepts and techniques of large-scale network (graph) analytics to solve real-world problems in myriad disciplines.

  • Spring 2017

    CSCI 3301: Computer Organization

    I taught the following concepts: processor and multicore design, performance evaluation, instruction set design and implicit parallelism, data path design and pipelining, control structures and microprogramming, memory management, caches, interrupts and I/O structures, parallel processing, GPU, and so on.

  • Fall 2016

    CSCI 1205: Object Oriented Programming with C++

    I taught basic and advanced concepts of Object Oriented Programming and the language C++. The course stressed on the application of the aforementioned concepts to solve intersting computational problem.

Courses at Virginia Tech

  • 2012 2011

    Graduate Teaching Assistant, Dept. of CS, Virginia Tech

    Courses: Computer Organization II, Object Oriented Programming