Skip to content
CS 131: Programming Languages
FAQ
Initializing search
Home
Syllabus
Schedule
Quizzes
Modules
Assignments
Labs
FAQ
How-To Guides
CS 131: Programming Languages
Home
Syllabus
Schedule
Quizzes
Modules
Modules
01.1: Welcome to Programming Languages
02.1: Introduction to Haskell and Functional Programming
02.2: Functions = Values
03.1: Lists, Tuples, Pattern Matching, and Parameterized Types
03.2: Haskell Data Types, Pattern Matching, and Type Classes
04.1: Code as Data, Evaluating Expressions
04.2: Representing Functions
05.1: Environments, Scope, and Closures
06.1: From Source Text to Structure
06.2: Practical Parsing with Parser Combinators
07.1: Functors — Generalizing map
07.2: Monads — Composing Computations
Assignments
Assignments
HW 1: peoPLe
HW 2: FUNctional Programming
HW 3: Lists, Datatypes, and a Stack Machine
HW 4: Little Languages (Random Art and Regular Expressions)
HW 5: PicPlot Part 1: Compiling
HW 5: Environment Walkthroughs
HW 6: PicPlot Part 2: Parsing
HW 7: Discovering Monads by Building Interpreters
Labs
Labs
Lab 1: Getting Connected and Running Haskell
Lab 3: Tuples, Stacks, and Currying
Lab 4: Boolean Expressions
Lab 5: Two Ways to Draw: Plotter Python and piq
Lab 6: A First Look at Parsing piq
Lab 7: From Higher-Order Functions to Monads
FAQ
How-To Guides
How-To Guides
Connecting to the Server with VS Code
Text Editors on the Server
Writing and Running Tests
The Homework Workflow
Parser Combinator Reference
ParserBase Reference
FAQ
¶
Coming soon
Frequently asked questions will be posted here.
Back to top