Types and Semantics | Programming Language Design | Cornell University
Cornell University
Explore the design and understanding of programming languages with a focus on types and semantics. Develop custom languages for your needs through a project-based approach.
University CoursesProgramming
Introduction
CS6118 - Types and Semantics is about designing and understanding programming languages, whether they be domain-specific or general-purpose. The goal of this class is to provide a variety of tools for designing custom programming languages for whatever task is at hand.
Highlights
Focuses on types and semantics, and the interplay between them
Covers category theory, constructive type theory, and unconventional semantic domains like classical linear type theory
Includes a class project to design and formalize a programming language for a purpose of the student's choosing
Assignments designed to ensure students practice applying the techniques learned in class before the final project
Recommendation
This course is recommended for students interested in programming language design and implementation, as well as those looking to gain a deeper understanding of type systems and semantics. The project-based approach and exposure to advanced topics make this course a valuable addition to the curriculum for aspiring language designers and researchers.
How GetVM Works
Learn by Doing from Your Browser Sidebar
Access from Browser Sidebar
Simply install the browser extension and click to launch GetVM directly from your sidebar.
Select Your Playground
Choose your OS, IDE, or app from our playground library and launch it instantly.
Learn and Practice Side-by-Side
Practice within the VM while following tutorials or videos side-by-side. Save your work with Pro for easy continuity.