CMSC 330, Fall 2011

Organization of Programming Languages

Schedule

Lectures & Discussions

Week of: Tue Lecture Thu Lecture Fri Discussion
Aug 29 Introduction No discussion
Sep 5 Ruby 1 Project 1 Ruby examples 1
Sep 12 Ruby 2
Regular Expressions
Quiz 1
Ruby examples 2
Sep 19 Finite Automata Finite Automata 2
RE/FA Examples
Project 2
Sep 26 OCaml - Basics OCaml - Data Types
Quiz 2
OCaml Examples 1
Oct 3 OCaml - Data Types (cont.) OCaml - Higher Order Functions OCaml Examples 2
Oct 10
Midterm 1
OCaml - Higher Order Functions (cont.)
Project 3
OCaml Examples 3
Oct 17 OCaml - Advanced Features
Context Free Grammars OCaml Examples 4
Oct 24 Parsing Project 4 OCaml Examples 5
Parser Examples
Parser Examples 2
Oct 31 Lambda Calculus Operational Semantics
Quiz 3
Lambda Calculus Examples
Nov 7 Multithreading 1 Multithreading 2
Quiz 4
Multithreading Example 1
Nov 14 Type Systems, Names & Bindings Parameter Passing Function Calls
Nov 21
Midterm 2
Thanksgiving
Holiday
Nov 28 Polymorphism Project 5 Garbage Collection
Dec 5 Markup & Query Languages History of Programming Languages Multithreading Example 2
Dec 12 Review
Final Exam
(Dec 15, 4-6pm, PHY 1412)

Projects

  • Project 1 - Due Wed, Sep 21st
    • Ruby Maze Solver
    • Project description & downloads here
    • Overview slides here

  • Project 2 - Due Thu, Oct 6th
    • Finite Automata Interpreter
    • Project description & downloads here
    • Overview slides here

  • Project 3 - Due Tue, Oct 25th
    • Boolean Formulae & SAT
    • Project description & downloads here
    • Overview slides here

  • Project 4 - Due Wed, Nov 16th
    • Scheme Interpreter & Parser
    • Project description & downloads here
    • Overview slides here

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

Practice Problems

Quizzes

Tests

Valid HTML 4.01!

Web Accessibility