CSCI 3155 - Principles of Programming Languages Course uri icon

Overview

description

  • 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.

instructor(s)

  • Chang, Bor-Yuh Evan  
    Primary Instructor - Fall 2022 / Fall 2024
  • Kaki, Gowtham  
    Primary Instructor - Spring 2021 / Spring 2022 / Fall 2023 / Spring 2025
  • Nielsen, Kathy  
    Primary Instructor - Fall 2022 / Spring 2024 / Spring 2025
  • Sankaranarayanan, Sriram  
    Primary Instructor - Fall 2018 / Spring 2019 / Spring 2020 / Fall 2020 / Spring 2021 / Spring 2022 / Spring 2023 / Fall 2025