|
|
Lecture Material
- Introduction (slides)
- Ruby (slides, updated 2/5/13)
- Lecture 2 - examples
(zipfile)
- Lecture 3 - examples
(zipfile)
- Lecture 4 - Regular expressions in Ruby (no particular code examples)
- Lecture 5 - examples (zipfile)
- Discussion
- Finite Automata (slides,
updated 2/27 to add minor clarifications on slides 72 and 81)
- Ruby on Rails - guest lecturer, Neil Spring (slides)
- Context free grammars (slides)
- OCaml (slides updated 3/7)
- Operational semantics (slides)
- Objects vs. functions, and parameter passing (slides)
- Types and Binding/Names (slides) We didn't go over this in
class but you are responsible for it
- Multithreading (slides updated 4/4/13)
- Logic programming (slides updated 4/24/13)
- Lambda calculus (slides updated 4/26/13)
- lambda.ml, Church encodings
done in class
- Sections 0101, 0103 - PPT
- Memory management and garbage collection (slides)
- History of Programming Languages (slides)
Projects
Sample code reviews
Exams
Quizzes
-
(questions)
(answers)
Ruby (Feb 8)
-
(questions)
(answers)
REs, finite automata, context free grammars (Mar 1)
-
(questions)
(answers)
OCaml (Mar 15)
-
(questions)
(answers)
Higher Order OCaml, Operational Semantics, Parameter passing (Apr 5)
-
(questions)
(answers)
Prolog (Apr 26)
Practice problems
-
(questions)
(answers)
Programming languages, Ruby language features
-
(questions)
(answers)
REs and finite automata
-
(questions)
(answers)
CFGs -- we did not cover parsing or pushdown automata; ignore questions 5, 6, and 7. Also, you don't need to know about leftmost vs. rightmost derivations.
- (review) Operational Semantics, Parameter passing
- (practice) OCaml and Operational Semantics
- (practice) Prolog, Lambda Calculus
|