CMSC 330, Spring 2008

Organization of Programming Languages

Schedule

Lectures & Discussions

Week of: Monday Discussion Monday Lecture Wednesday Lecture
Jan 28 & 30



Introduction Ruby Basics
Feb 4 & 6 Ruby examples Ruby Features Project 1 Notes
Feb 11 & 13 More Ruby examples Regular Expressions Finite Automata
Feb 18 & 20 REs & finite automata Finite Automata 2 Context Free Grammars
Feb 25 & 27 Finite automata & CFGs Context Free Grammars 2 Parsing
Mar 3 & 5 Midterm 1 Pushdown Automata OCaml Basics
Mar 10 & 12 Discuss Midterm 1 Project 2 OCaml Features
Mar 17 & 19 Spring Break
Mar 24 & 26 Recursive Descent Parsers OCaml - Recursion Project 3
Mar 31 & Apr 2 OCaml Examples OCaml - Closures & Currying
Project 3 Notes
OCaml - Data Types, Exceptions, Modules
Apr 7 & 9 Midterm 2 Review Midterm 2 Type Systems, Names & Bindings
Apr 14 & 16 Discuss Midterm 2 Parameter Passing Function Calls
Project 4 Overview
Apr 21 & 23 OCaml Examples Polymorphism Java Multithreading
Apr 28 & 30 Answer Project 4 Questions Objects vs. FP, Garbage Collection Markup & Query Languages
May 5 & 7 Discuss OCaml Datatype Examples Lambda Calculus
Alligator Eggs
Operational Semantics
May 12 & 15 Discuss Homework 1 History of Programming Languages
Final Exam Notes
Final Exam
(Thu 5/15, 4-6pm, CSIC 1115)

Projects

  • Project 1
    • Jan 28 You must submit your projects electronically using the submit server. You will log in to the submit server using your University Directory ID. Once you log in, click on the submit link for the project you wish to submit, and follow the directions. Alternately, we will supply you with a command-line tool for submitting each project.
    • Feb 6 Project 1 assigned here, overview slides pdf.
    • Feb 13 Project 1 sample.log file updated to remove carriage return (CR) and line feed (LF).
  • Project 2
    • Mar 5 Preliminary Project 2 description, has been posted
    • Mar 5 Project 2 testing has been activated on the submit server. There are 8 public tests and 11 release tests. Submit server ignores all output lines beginning with %. Project 2 deadline is midnight Tuesday, March 25th.
    • Mar 10 Project 2 description, has been updated
    • Mar 26 Students can make a very late Project 2 submission until Thursday, March 27 11:59pm with a 20% penalty.
  • Project 3
    • Mar 26 Project 3 assigned.
    • Apr 1 Added examples count_chars.ml, count_lines.ml of how I/O may be used for part 3.
    • Apr 2 1-day extension for Project 3, deadline is now 11:59pm Saturday , April 5th, 2008.
  • Project 4
    • Apr 16 Project 4 assigned.
    • Apr 27 .submit file updated to fix error.
    • Apr 28 1-day extension to project 4 deadline.
  • Project 5 (Extra Credit Project 1)
    • May 18 Project assigned.

Homework

Exams

  • Midterm 1
    • Feb 18 Midterm 1 will take place Monday, March 3rd during discussion.
    • Feb 26 Practice problems for midterm 1 are now available. Practice problems will not be graded. Partial solutions will be provided later.
    • Feb 27 Midterm 1 will consist of all material covered from lecture 1 (Introduction) to lecture 6 (Finite Automata 2).
    • Mar 1 Solutions for Midterm 1 practice problems are now available. Two midterms from previous semesters are also available (sample 1, sample 2).
  • Midterm 2
  • Final Exam
    • May 13 Final Exam will be held Thu 5/15, 4-6pm, in CSIC 1115. 40% of exam will be on material covered in midterm 1 & 2. 60% of exam will be on remaining material in course (homework 1, operational semantics, history of programming languages).
    • May 13 A final exam review session will be held Wed 5/14 from 3-4pm in CSIC 3120.

Valid HTML 4.01!