Please submit your evaluation for this and all your other courses at
through Dec 12)
- Dec 18 - Final exam scores have been mailed out. Let me
know if you did not get an email.
- Dec 8 - The final exam is now available. If you have not
received an email with instructions on getting the final, please
- Nov 29 - Practice problems are
available. See email for solutions.
- Nov 22 - Project 5 grades have been posted on the grade server.
- Nov 8 - A small correction to p5.v has been posted.
- Nov 3 - Project 5 is available.
- Nov 3 - Grades for projects 3 and 4 are on the grade server.
- Oct 25 - Links to sample lambda calculus exercises and
solutions have been posted on the materials web page, in the list of lectures.
- Oct 25 - Bao's office hours on Tuesday, Oct 26 will be
shifted slightly, from 1-3pm to 12-2pm.
- Oct 25 - Small correction to p4.v: The definition of
step_many should be in terms of step_nd, rather than step. p4.v has
been updated with this fix.
- Oct 20 - Project 4 is now available.
- Oct 15 - Updated project 2 grades are now posted on the
grade server. The revised test cases can be found here.
- Oct 15 - Jeff's Wednesday office hours have been changed
slightly, to 2-3pm, for the rest of the semester.
- Oct 11 - Project 3 is available.
- Oct 8 - Project 2 grades are now available on the grade
server. The test cases can be found here. Please let us know if
you have any questions about the tests; see README-TESTS in the top
level of the tar ball for instructions on running the tests.
- Sep 27 - Project 2 is now due Wednesday, September
- Sep 15 - Project 1 grades should be available on the submit
server and grade server.
- Sep 13 - Project 2 is now available.
- Sep 10 - Jeff's Wednesday office hour is now 1:30-2:30pm.
- Sep 8 - As we discovered today, class is indeed now meeting
in 2120 CSIC.
- Sep 3 - There are no classes on Monday, September 6. Also,
a project 1 clarification: you should should project 1 on the submit server.
- Sep 1 - Project 1 is now available.
- Aug 30 - There are no office hours this week; if you need
to speak with the professor or TA, please send email.
||CSIC 2120, MW 3:30-4:45pm
||Take home, available December 9-12, 2010
||Due December 16, 2010, by email
4129 A.V. Williams
Hours: M 12-1pm, W 2-3pm, or by appointment
Office hours in grad lounge, 1152 A.V. Williams
Hours: M 10-11am, Tu 1-3pm, or by appointment
||None (but see recommendations)
This core course is about techniques for analyzing and understanding
software artifacts. Ultimately, the goal of this area of study is to
improve the quality of software. We will cover three
related areas of programming languages research:
analysis, the name for any automatic technique for reasoning about
program source code. We will study data flow analysis and type
systems, and more briefly theorem proving. Model checking will be
covered by CMSC 630, offered in Spring 2007.
- Formal systems for describing languages and
programs, including lambda calculus and axiomatic, denotational, and
- Programming language features and
how they affect software, including imperative, functional, and