|
|
- May 18. Final exam scores have been mailed out.
- May 10. Homework 6 and project 4 grades have been mailed out.
- May 9. Slides from the FindBugs lecture are now posted.
- Apr 19.
Online course
evaluations are available Apr 20-May 11. Please take the time to
fill out an evaluation.
- Apr 2. Project 3 scores have been mailed out. (Avg=92, Min=82, Max=100)
- Mar 31. Sample solutions for homework 5 have been posted.
- Mar 14. Sample solutions for homework 4 have been posted.
- Mar 8. Some project suggestions
are now available (accessible from within umd.edu domain).
- Mar 6. Solutions to homework 3 have been posted.
- Mar 2. Project 2 grades have been emailed out.
- Feb 28. Solutions to homework 2 have been posted under /s2.pdf,
as usual.
- Feb 22. Project 1 grades have been emailed out. Let me know if
you didn't receive them, or if you have any questions.
- Feb 13. Sample solutions to homework 1 have been posted. To
avoid search engine caching there's no link to them. To find them go
to the class home page /s1.pdf.
- Feb 13. My regular office hours this week are cancelled,
due to a bunch of unfortunate coincidences. I will instead hold
office hours Wednesday from 1-3pm. I'll also be available after class
on Tuesday, and I'll respond promptly to any email questions when
possible.
- Feb 7. Instructions for submitting the programming projects have
been posted to the forum.
- Feb 2. Two papers to read for Tuesday have been posted on the
lectures web page.
| Location
| CSIC 3118, TuTh 2:00-3:15pm
|
|---|
| Final Exam
| Available Tuesday, May 16, 11am
Due Wednesday, May 17, 11am
|
|---|
| Projects Due
| Fri, May 19
|
|---|
| Instructor
| Jeff Foster
4129 A.V. Williams
jfoster at cs.umd.edu
|
|---|
| Office Hours
| M 1-2pm, Tu 11am-12pm
|
|---|
| Textbook
| None
|
|---|
Online course
evaluations are available Apr 20-May 11. Please take the time to
fill out an evaluation.
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. In this course, we will cover there
related areas of programming languages research: (1) Static
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 and model
checking. (2) Formal systems for describing languages and
programs, including lambda calculus and axiomatic, denotational, and
operational semantics. And (3) Programming language features and
how they affect software, including imperative, functional, and
object-oriented programming.
Prerequisite: CMSC 430 or equivalent. Most of the material
covered in a typical compilers course (CMSC 430) will not be used in
this class, so even if you have not taken such a course you may be
perfectly fine in 631. Contact the instructor if you are interested
in taking 631 but aren't sure if you have the background.
Grading and Expectations
Subject to change, especially until the start of the semester.
The final course grade will be made up of the following components:
- Homework (10%) There will be short written assignments
(roughly 5-6) to give you an opportunity to practice the material we
will go over during lecture.
- Programming Assignments (20%) There will be roughly 3-4
programming assignments in which you will implement some of the ideas
from class.
- Project (35%) You will be expected to complete a
substantial research project during the semester. Projects may be
completed individually or in pairs. For more details, see the
projects page.
- Participation and Presentation (10%) Later on in the class
you will give a lecture on one or two papers selected from a list.
You will also be graded on contributions to class discussion.
- Final Exam (35%) This course will include a final exam,
which will cover material from the homeworks, programming assginments,
and other lecture material.
Late Policy
Written assignments are due at the beginning of class on the due
date. Programming assignments are due at midnight on the due date.
Neither written nor programming assignments may be turned in late. If
you cannot make a due date because of extenuating circumstances, or
because it conflicts with a religious holiday, please inform the
instructor as soon as possible.
Academic Dishonesty
The college policy on academic dishonesty is strictly followed. All
graded materials must be strictly individual efforts. Projects may
include collaboration as permitted by the instructor.
|