CSE 230: Principles of Programming Languages
Project Suggestions
You must give me a detailed written project proposal by the end of the
fifth week. You may work in a team of up to three people on the same project,
but permission is required. Some suggested topics are given below, but you
may propose others; projects that are mainly programming are not suitable for
this course.
- Do a semantics for a fragment of ML that includes integers, lists and
first order recursive functions, using OBJ. Use it to prove the correctness
of simple ML programs like reverse. You will have to model the run-time
stack.
- Write an applet for Post systems that can be used by students in CSE 130
to learn how they work; it should be possible to define any Post system and
then do proofs in it; you should use graphics in a natural way, not some
command line syntax.
- Write new material to be inserted into Sethi's book on the Java language;
you only need to write inserts for places where special features of Java are
germaine and/or interesting, not at every possible place.
- Give a semantics for a language like that in the Algebraic
Semantics textbook, but with pointers, and with both environments and
stores in its semantics.
- Develop some interesting examples of higher order parameterized
programming, along the lines of (but different from) the induction examples
linked on the BOBJ system homepage.
Your written report should conform to the usual standards of good
academic computer science publications, and in particular should include clear
explanations for all programming examples, and should have a bibliography with
precise citations for all works used. In addition, there should be
introduction and conclusions sections. References should be at the end, in a
standard academic format, with title, author, date, publisher, etc.; do not
just give a URL! You must not recycle a paper written for some other class,
or (of course) something found on the internet. You must make good use of
concepts introduced in this class.
To CSE 230 homepage
Maintained by Joseph Goguen
© 2000, 2001, 2002, 2003 Joseph Goguen
Last modified: Wed Feb 5 19:10:52 PST 2003