Current Teaching @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.

  • Spring 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.

  • Fall 2018

    CSCI 2450: Machine Structure and Assembly Language Programming

    Intel x86 processors, 64-bit processors, AMD processors

  • Spring 2018

    CSCI 5401: Operating Systems

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

  • Spring 2018

    CSCI 2450: Machine Structure and Assembly Language Programming

    Intel x86 processors, 64-bit processors, AMD processors

  • Fall 2017

    CSCI 2450: Machine Structure and Assembly Language Programming

    Intel x86 processors, 64-bit processors, AMD processors

  • 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.

Prior Teaching

  • 2012 2011

    Graduate Teaching Assistant, Dept. of CS, Virginia Tech

    Courses: Computer Organization II, Object Oriented Programming