The 505 project should involve writing a paper (approximately 10-15 pages) on a topic related to programming language design and implementation, and may also involve a programming project. Students can work individually or in pairs on the project and paper. Optionally, students can give a presentation in class on their work. (More work will be expected of a pair than an individual.)
If you do an implementation project, it can either be something like implementing an SK-reduction machine for a functional language, or implementing some program in language X. If the latter, your paper should discuss not just the particulars of the project, but also what the relevant special features of X are, and how they helped and hindered the development. Perhaps better, implement it in both languages X and Y and compare.
If you just write a paper, a somewhat deeper analysis is expected.
In any case you should read appropriate papers from the programming language literature in writing your report. Include the usual parts of a paper, including introduction, conclusions, and bibliography.
A brief project proposal is due on November 21 (by e-mail). The project is due the last day of class, Dec 10.
Some useful sources of information on the web are Yahoo's programming languages page and Mark Leone's Programming Languages Research page. Also see proceedings for conferences such as ACM Programming Language Design and Implementation, ACM Principles of Programming Languages, and various more specialized conferences such as OOPSLA, Constraint Programming, International Symposium on Logic Programming, etc. Please also feel free to ask for suggestions as to where to find information!