
My research interests are in Parallel and Distributed algorithms. I
teach several classes within the department, including
CS1410
- Introduction to Computer Science - CS2
Introduction to
the science of problem solving, programming, program development, algorithm
analysis, and data structures. Students will learn to develop correct software
in a current programming language environment.
CS2420
- Algorithms and Data Structures - CS3
Introduction to
the science of problem solving, programming, program development, algorithm
analysis, and data structures. Students will learn to develop correct software
in a current programming environment.
CS2810
- Computer Architecture
Architecture of a
computer system, as viewed by the programmer. Topics such as memory management,
RISC vs. CISC, pipelining, parallelism, interrupts, and networking discussed in
detail. Includes several homework assignments, at least one of which deals with
interrupts and interrupt-driven applications.
CS5500
- Parallel Algorithms
Examines basic
techniques for designing parallel algorithms, such as balanced trees, pointer
jumping, partitioning, pipelining, accelerated cascading, list ranking, and tree
contraction. Consideration of classic parallel algorithms in graphs, merging,
sorting, planar geometry, string matching, and randomized techniques
CS7550
- Interconnection Networks for Parallel Computer Systems
Explores the
design of large-scale parallel processing systems generally suited for
multi-microprocessor implementation. Emphasizes interconnection patterns among
the processing elements in parallel processors.
And I teach various topics classes from time to time.
I also manage a 16-processor Beowulf cluster used for teaching and research
within the department.