I work in the areas of Programming Languages (PL) and Formal Methods (FM). My research is driven by the curiousity to apply PL and FM way of thinking to solve hard problems in other domains of Computer Science, such as Distributed Systems, Databases, and Artificial Intelligence. In my current research, I am exploring how provably-correct and scalable distributed applications can be built with least amount of programming effort. The research has practical implications to the up and coming area of decentralized trust-less computing.
CSCI 3155 - Principles of Programming Languages
Primary Instructor
-
Spring 2021 / Spring 2022 / Fall 2023
Studies fundamental principles governing the design and analysis of programming languages and the execution models underlying them. Explores a variety of concepts including values, scoping, recursion, higher-order functions, type systems, control structures, and objects. Introduces the notion of formal semantics as a framework to understanding programming features. Same as CSPB 3155.
CSCI 4950 - Senior Thesis
Primary Instructor
-
Fall 2022 / Spring 2023
Provides an opportunity for senior computer science majors to conduct exploratory research in computer science. Department enforced restriction, successful completion of a minimum of 36 credit hours of Computer Science coursework and approved WRTG. May be repeated up to 8 total credit hours.
CSCI 5535 - Fundamental Concepts of Programming Languages
Primary Instructor
-
Fall 2021
Considers concepts common to a variety of programming languages--how they are described (both formally and informally) and how they are implemented. Provides a firm basis for comprehending new languages and gives insight into the relationship between languages and machines. Recommended prerequisite: CSCI 3155 or instructor consent required. Same as ECEN 5533.
CSCI 7000 - Current Topics in Computer Science
Primary Instructor
-
Spring 2021 / Spring 2023
Covers research topics of current interest in computer science that do not fall into a standard subarea. May be repeated up to 8 total credit hours.
ECEN 5533 - Fundamental Concepts of Programming Languages
Primary Instructor
-
Fall 2021
Considers concepts common to a variety of programming languages--how they are described (both formally and informally) and how they are implemented. Provides a firm basis for comprehending new languages and gives insight into the relationship between languages and machines. Same as CSCI 5535.