CS 655 - Homework
Homework Assignments
All homework must be completed individually. You may discuss the problems
with others but you must turn in your own work. You may either (1) email me
your PDF or PS homework file, (2) give me your homework in class, (3)
give me your homework during my office hours, or (4) slip your homework
under my office door. If the homework assignment includes a programming
component, you must email me your code.
Do not make use of any other delivery method
for your homework (e.g., carrier pigeons, my faculty mailbox).
Homeworks:
-
Homework 1 Written
(last update -- minor tweaks --
Wed Jan 25 20:16:43 EST 2006
).
Homework 1 Code.
Homework 1 FAQ.
Homework 1 Summary.
-
Homework 2 Written
(last update -- minor tweak in exercise 3 example programs --
Fri Jan 27 08:35:43 EST 2006
).
Homework 2 Code (verison 2)
(last update -- fixes to make test --
Fri Jan 27 08:49:03 EST 2006
).
Homework 2 FAQ.
-
Homework 3 Written.
Liskov et al.'s
Abstraction Mechanisms in CLU.
Stroustrup's
What is "Object-Oriented Programming"?.
Homework 3 Code.
Homework 3 FAQ.
-
Homework 4 Written
(No code component. Work on your project proposal.)
-
Homework 5 Written.
Homework 5 Code (version 3!).
Homework 5 FAQ.
Simplify (for Windows) or
Simplify (for Linux) or
Simplify (for OS X) or
Simplify (for Solaris) ---
download one and rename it to $TOP/Simplify (i.e., put it in the
same directory as nf.ml)
Necula et al.'s CIL: Intermediate
Language and Tools for Analysis and Transformation of C Programs
(optional)
Detlefs, Nelson and Saxe's
Simplify: A Theorem Prover For Program Checking
(optional)
Manuvir Das' Unification-based pointer
analysis with directional assignments (optional, the GOLF paper)
Bush, Pincus and Seilaff's A Static
Analyzer For finding Dynamic Programming Errors (optional, the PREfix paper)
Homework 5 CIL Precompile
for x86/Cygwin (optional, but if you can't build Cil yourself or you're
getting those "Misc.Fatal_errors" when compiling, just drop this one in)
O'Reilly's Develping
Applications With Objective Caml (really optional, but if you feel you
need extra help with OCaml, this book probably has the answers -- you can
also talk to me)
Random Somewhat-Related Humor
- The Guru of Chelm
(evaluating systems)
- K-Coward
(taking math too seriously)
- Hamlet PowerPoint
(problems with all-PowerPoint presentations)
- Universal Poker
(proof theory: why is Truth's opposite "Void"?)
- How To Prove It
(alternative techniques to structural induction)
- Polynomial Hierarchy
Collapses: Thousands Feared Tractable
- GCC International
(promoting international understanding)
- Microsoft Buys TeX
(note "What were we thinking?" and "third-party display driver")
- Feel-Good Abstraction
(at what level should we analyze and design?)
- Parametric Worm
(Microsoft security explained)
- 1776 Computers
(historical perspectives)
- Security Important
(system and user security)
- Jobs Translated
(meanings of terse utterances)
Other Similar Courses
Here are some example homeworks from similar
courses at other universities (these should actually work as of 5pm Jan 17,
but are probably a bit more "implementation-heavy" than what you'll see in
this course):