Advanced Programming Languages
CIS 670 Fall 2002

Assignments and Grading

Project

Homework

Grades for this course come from three components: homework, class participation and a semester project. There will be no exams.

Homework policy

You should start each homework assignment yourself. If you get stuck, you can ask anyone for help, but you must acknowledge their help in your work.

Late homework will only be accepted in extraordinary circumstances.

Project

The most important part of the course grade will come from the semester project. You make work on the project or in pairs. Your first task will be to choose a format for the project and a topic. Before September 30, you must come by my office and tell me what you want to do. You must bring with you a short summary of your plans. The project itself is due December 9.

There are several options for the format of the project (see below) and you are strongly encouraged to come up with your own topic for the project. (I will also provide a list of topics.) Browsing through the list of references might be a source of inspiration.

  • Theoretical paper
    • Create a new language/language feature/algorithm/proof technique to solve a problem, or make a new observation about an existing language/language feature/algorithm/proof technique.
  • Survey paper
    • Pick a topic and do a literature search. Describe, in a carefully organized paper, the significant previous research that has been done on that topic. Be sure to compare the different strategies to each other and map out the design space that they inhabit.
      Example: Metatheory and Reflection in Theorem Proving: A Survey and Critique
  • Position paper
  • Empirical study paper
    • Pose a question whose answer depends on practical or statistical knowledge. Implement an experiment to determine the answer to this question.
      Example: Local Type Inference
  • Tutorial paper
    • Choose an interesting topic and write a tutorial paper about it. This project option will also involve you teaching the topic to the class in a 30 minute presentation. Instead of a paper, you may also develop an online or interactive tutorial.
      Example: Typeful Programming

Last Modified: 09.11.02