Research

I am working with Tanzima Islam on her research in high performance computing. Tanzima's work directly enables large-scale simulations, often used in different fields such as bioinformatics, earthquake engineering, material science, to leverage the incredible computational capabilities of modern clusters.




Courses

CSCI 141

Basic concepts of computer programming using an object oriented programming language. Topics covered: introduction to the development environment, introduction to algorithms, elements of a programming language, including data types, packages, control structures, procedures and functions, basic input and output, arrays and records, text files, strings, variant records. Algorithm development, problem solving and software engineering are emphasized.

CSCI 145

Abstract data types, generics, access or pointer types, dynamic memory allocation, recursion, concurrent programming and linear data structures, including stacks, lists and queues.

CSCI 202

Principles and technologies required to produce and distribute Internet ( World Wide Web) content, with a focus on site architecture and client-side dynamic pages; an introduction to server-side processing.

CSCI 241

Design and implementation of hash tables, general trees, search trees, balanced trees and graphs. Comparison of sorting algorithms. Demonstration of the use of data structures in various applications. Evaluation of the best data structure for a particular task.

CSCI 247

This course introduces the ways that hardware represents both data and executable code. Topics include binary data representation, the assembly and machine language representations of executable code, memory hierarchies, process memory organization, and program linking.

CSCI 301

Introduction to discrete structures important to computer science, including sets, trees, functions, and relations. Proof techniques. Introduction to the formal language classes and their machines, including regular languages and finite automata, context free languages and pushdown automata. Turing machines and computability introduced.