• Contact Info
Publications in VIVO
 

Kaki, Gowtham

Assistant Professor

Positions

Research Areas research areas

Research

research overview

  • 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, Security, and Artificial Intelligence. In my current research, I am exploring how secure and scalable distributed applications can be built with least amount of programming effort.

Publications

selected publications

Teaching

courses taught

  • CSCI 3155 - Principles of Programming Languages
    Primary Instructor - Spring 2021 / Spring 2022 / Fall 2023
    Studies principles governing the design and analysis of programming languages and their underlying execution models. Explores values, scoping, recursion, higher-order functions, type systems, control structures, and objects. Introduces formal semantics as a framework for understanding programming features. Introduces advanced programming concepts such as functional programming, higher-order functions, immutable values and structures, inductive types, functors, continuation-passing; and object-oriented programming using inheritance, generics and covariance/contravariance in a functional programming language such as Scala. 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 as an option for the capstone requirement. Department enforced prerequisites: 35 hours of Computer Science coursework including Foundation courses, Upper-Division writing, CS GPA 3.0. Department consent required, contact academic advisor for details. May be repeated up to 8 total credit hours.
  • CSCI 5535 - Fundamental Concepts of Programming Languages
    Primary Instructor - Fall 2021 / Fall 2024
    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 / Spring 2024
    Covers research topics of current interest in computer science that do not fall into a standard subarea. May be repeated up to 18 total credit hours.
  • ECEN 5533 - Fundamental Concepts of Programming Languages
    Primary Instructor - Fall 2021 / Fall 2024
    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.

Background

International Activities