COMP 312: INTRO TO PROGRAMMING LANGUAGES

Spring 2025 · Section 001 · CRN 26533

This course explores the design landscape of programming languages and compilers, with the primary goal of giving students skills and knowledge that will help them as practitioners. After completing the course, students should be able to evaluate the tradeoffs between different programming languages, choose the language that is best-suited to a given task, write code using the functional programming paradigm, and learn new languages more quickly. Specific topics covered include lexical and syntactic analysis, type systems, variable scopes and bindings, control flow structures, and functional programming. Case studies from modern programming languages will be used to illustrate a range of abstractions and design choices.

Credits
3
Instructors
Rebecca Schreib

Browse courses · Build a schedule