CMSC 330, Spring 2009

Sections 0101, 0102

Organization of Programming Languages

Schedule

Lectures & Discussions

Week of: Tuesday Lecture Wednesday Discussion Thursday Lecture
Jan 26 Introduction



Introduction (cont.)
Feb 2 Ruby Basics Ruby Examples
Ruby Basics (cont.)
Feb 9 Ruby Features
  (Guest Lecturer:   Mike Furr)
Ruby Examples
Regular Expressions

Project 1 Notes
Feb 16 Finite Automata
Quiz 1

Finite Automata in Ruby
Finite Automata (cont.)
Feb 23 Finite Automata 2 RE & FA Examples
Project 2 Notes
Mar 2 OCaml Basics
Midterm 1
OCaml Basics (cont.)
Mar 9 OCaml Features OCaml Examples
OCaml - Recursion
Mar 16
Spring Break

Mar 23 Project 3 Notes OCaml Examples
OCaml - Closures & Currying
Mar 30 OCaml - Data Types,
Exceptions, Modules
Quiz 2

OCaml Examples
Context Free Grammars
Apr 6 Parsing

Project 4 Notes
Parser Example

OCaml Examples

Push down automata
Apr 13 Type Systems, Names & Bindings

Parameter Passing

Parser Example 2

Quiz 3

Function Calls

Apr 20 Multithreading

Project 5 Notes

Midterm 2
Polymorphism

Objects vs. Functional Programming

Apr 27 Lambda Calculus Ruby Multithreading Example

Alligator Eggs

Operational Semantics
May 4 Markup & Query Languages Lambda Calculus Examples

Discussion cancelled

Garbage Collection
May 11 History of Programming Languages
Final Exam (4-6pm, CSIC 2117)

Projects

  • Project 1 - Due Thu, Feb 26th
    • Ruby Text Processing
    • Project description & downloads here
    • Overview slides here

  • Project 2 - Due Thu, Mar 12th (Extension to Mon, Mar 16th)
    • Ruby Finite Automata
    • Project description & downloads here
    • Overview slides here

  • Project 3 - Due Mon, Mar 30th
    • OCaml Sliding Puzzle
    • Project description & downloads here
    • Overview slides here

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

  • Project 5 - Due Wed, May 6th
    • Ruby Multithreaded Metro Simulation
    • Project description & downloads here
    • Overview slides here

  • Project 6 - Due Mon, May 18th
    • Ruby on Rails Web Database
    • Project description & downloads here
    • Overview slides here

Quizzes

  • During discussion sections (9am, 10am)

  • Quiz 1 - Wed, Feb 18th

  • Quiz 2 - Wed, Apr 1st

  • Quiz 3 - Wed, Apr 15th

Tests

  • Final - May 14th (4-6pm)
    • Location has been changed to CSIC 2117!
    • Topics - Everything
    • Practice problems and solutions

Valid HTML 4.01!