CMSC 330, Spring 2012

Organization of Programming Languages

Schedule

Lectures & Discussions

Week of: Tue Lecture Thu Lecture Fri Discussion
Jan 23 Introduction No discussion
Jan 30 Ruby 1 Ruby 2
Ruby examples 1
Feb 6 Ruby 2 (cont.) Regular Expressions
Quiz 1
Ruby examples 2
Feb 13 Finite Automata Finite Automata 2
RE/FA Examples
Feb 20 Finite Automata 2 (cont.) OCaml - Basics
Quiz 2
Feb 27 OCaml - Data Types OCaml - Data Types (cont.) OCaml Examples 1
Mar 5 OCaml - Higher Order Functions OCaml - Higher Order Functions (cont.) OCaml Examples 2
Mar 12
Midterm 1
Project 3
Review Midterm 1 Solutions
Mar 19
Spring Break
Mar 26 OCaml - Advanced Features OCaml - Advanced Features (cont.) Function Calls
OCaml Examples 3
Apr 2 Context Free Grammars Parsing
Quiz 3
OCaml Examples 4
Apr 9 Multithreading 1 Multithreading 2 Parser Examples
Parser Examples 2
Apr 16
Midterm 2
Type Systems, Names & Bindings Multithreading Examples
Apr 23 Polymorphism Parameter Passing
Quiz 4
Garbage Collection
Apr 30 Lambda Calculus Operational Semantics Markup & Query Languages
Lambda Calculus Examples
May 7 History of Programming Languages Review
Final Exam
(Sat 5/12, 4-6pm, Chem 1407

Projects

  • Project 1 - Due Tue, Feb 14th
    • Processing Weblog Files
    • Project description & downloads here
    • Overview slides here

  • Project 2 - Due Thu, Mar 1st (extended to Sat, Mar 3rd)
    • Finite Automata Interpreter
    • Project description & downloads here
    • Overview slides here

  • Project 3 - Due Wed, Mar 28th
    • Sliding Puzzle
    • Project description & downloads here
    • Overview slides here

  • Project 4 - Due Fri, Apr 20th
    • Regular Expression Interpreter
    • Project description & downloads here
    • Overview slides here

  • Project 5 - Due Mon, May 7th
    • Multithreaded Train Simulation
    • Project description & downloads here
    • Overview slides here

Practice Problems

Quizzes

Tests

Valid HTML 4.01!