Courses taught at Wright State University


CS 7200  -- Algorithm Design and Analysis

CS4370/6370   -- Parallel Programming on Many-core GPUs

  • Introduction to Parallel Computing
  • Overview of GPU Architecture
  • Introduction to CUDA
  • CUDA Parallelism Model
  • Thread Scheduling
  • CUDA Memory Model
  • Warp and Thread Execution
  • Parallel Reduction
  • Parallel Prefix Sum (Parallel Scan)
  • Histogram
  • Sparse Matrix Vector Multiplication
  • CUDA Streams
  • Introduction to OpenCL
  • Parallel Sorting
  • Performance Optimizations

CEG 7200   -- Information Security

CS3100/5100   -- Data Structures and Algorithms

CS 7900  -- Information Security

CEG/EE 260   -- Computer Hardware Design / Switching Circuits

CEG 360/560; EE 451/651  -- Digital System Design

CS400/600   -- Data Structures and Algorithms

CS499/699   -- Information Security

CS 790   -- Optimizing Compiler for Modern Architectures

  • Arhcitecture Overview -- Superscalar, VLIW, Vector Machines, Multiprocessor, Multicomputer
  • Memory Hierarchy, Cache Organization
  • Control Flow Graph, Basic Block
  • Data Dependences
  • Data Flow Graph
  • List Scheduling
  • Software Pipelining
  • Liveness Analysis
  • Register Allocation
  • Static Single Assignment -- SSA
  • How to identify a loop
  • Loop Transformations -- Fusion, Distribution, Interchanging, Unrolling, Skewing.
  • Improve Data Locality by Loop Transformations
  • Hardware/Software Prefetching

CS 790  -- Information Security

  • Overview of Security
  • Security in OS
  • Common Security Attacks
  • Information Security Basics
  • Classical Encryption Techniques
  • Block Ciphers and DES
  • Introduction to Finite Fields
  • Advanced Encryption Standard
  • Introduction to Number Theory
  • RSA Cryptography
  • Key Management & Other Cryptosystems
  • Hash Functions & Data Integrity
  • Digital Signature