CS 242: Programming Languages

Computer Science Stanford University 4.0 credits

Course Description

This course explores foundational models of computation, such as the lambda calculus and other small calculi,  and the incorporation of basic advances in PL theory into modern programming languages such as Haskell and Rust.  Topics include type systems (polymorphism, algebraic data types, static vs. dynamic), control flow (exceptions, continuations), concurrency/parallelism, metaprogramming, verification, and the semantic gap between computational models and modern hardware. The study of programming languages is equal parts systems and theory, looking at how a rigorous understanding of the semantics of computation enables formal reasoning about the behavior and properties of complex real-world systems.  Prerequisites: 103, 110.

Reviews

Sign in to Review Login to Review

No reviews yet. Be the first to share your experience!

Sign in with Google Login to Review