Lecture 01
Welcome!
Course Logistics; Variables in OCaml
Programming Languages
UW CSE 341 - Winter 2022
Welcome!
10 weeks to learn some fundamental concepts of Programming Languages
What is going to happen?
Today
TODO
About Me: Dan-or-whatever :-) (he/him)
So, Winter 2022…
You know…
The pandemic is awful for all of us in many different ways…
… being able to execute a great course that I hope forever changes your view of software is something I can do “despite it all”
Staying in Touch
Lectures
Section
Office Hours
Homework
Academic Integrity
Homework Strategy
Doing the homework involves:
We only grade (2), but focusing only on (2) makes the homework harder (!)
Homework Logistics
Exams
Questions about mechanics?
Programming Languages
A Whole New World
Mindset
Mindset
Syntax + Semantics
To the keyboard!
Defining Variable Binding
let x = e
Syntax:
(* static env = ... *)
(* dynamic env = ... *)
let x = 34
(* static env = ...; x : int *)
(* dynamic env = ...; x -> 34 *)
Defining Variable Binding
let x = e
Semantics:
(* static env = ... *)
(* dynamic env = ... *)
let x = 34
(* static env = ...; x : int *)
(* dynamic env = ...; x -> 34 *)
Defining Variable Binding
let x = e
Semantics:
metavariables in blue
(* static env = ... *)
(* dynamic env = ... *)
let x = 34
(* static env = ...; x : int *)
(* dynamic env = ...; x -> 34 *)
ML Carefully So Far
Coming up