|
|
- Nov 27 - Project 5 (Written exercises) now available:
p5.pdf, due December 13.
- Oct 27 - Project 4 (Coq exercises) now available:
p4.v, due November 9.
- Oct 24 - Project
ideas and project due dates now available
- Oct 10 - Project 3 (Coq exercises) now available:
p3.v, and accompanying file Sflib.v, due October 26.
- Sep 23 - Project 1 scores posted on grades.cs. Sample solution: p1-solution.zip
- Sep 7 - Programming project 2 is posted. Due
October 7.
- Sep 18 - OCaml and SAS'11 slides updated
- Sep 8 - Jeff Foster will hold office hours in AVW 4129 on
Tu (Sep 13) 12:15-1:15, Fr (Sep 16) 12-1 for answering project
questions.
- Sep 7 - Programming project 1 is posted. Due
September 16.
- Aug 31 - First day of class. There are no office hours
this week; if you need to speak with the professor please
send email.
| Location
| CSIC 1122, MW 3:30-4:45pm
|
|---|
| Final Exam
| Take home, between Dec. 14-18
|
|---|
| Final Project
| Due date Dec. 20
|
|---|
| Instructor
| Mike Hicks
4131 A.V. Williams
Hours: Tue-Wed 1-2pm (or by appointment)
|
|---|
| Textbook
| None (but see recommendations)
|
|---|
Description
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:
- Static
analysis, the name for any automatic technique for reasoning about
program source code. We will study data flow analysis, symbolic
execution, and type systems in depth, with more cursory coverage of
other analysis techniques. Related techniques are covered in CMSC
630.
- Formal systems for describing languages and
programs, including lambda calculus and axiomatic, denotational, and
operational semantics. We will use the Coq proof assistant to help
mechanize our formalizations and check proofs of properties about
these systems.
- Programming language features and
how they affect software, including imperative, functional, and
object-oriented programming.
|