Overview Schedule Resources Assignments Home

CSC 424: Programming Languages, Spring 2005

Assignments

Wednesday, February 2:
Read the Buzzword paper and look at the CodeRuler article
Wednesday, February 9:
Read Section 2 of the Java Language Environment white paper
Friday, February 11:
Prepare a MyRuler class implementing a CodeRuler strategy; we will have a competition in class
Monday, February 14:
Read more about Java and Object-Oriented Programming from the resources
Friday, February 18:
Read Moving Toward Object-Oriented Programming and Patterns and Elementary Patterns: Strategy, Decorator, and Composite
Wednesday, March 2:
Extend SimpLan with a counted loop construct. You may design the precise syntax and semantics, although it should at least support looping over a statement while a variable iterates through a range of values such as [1, 2, 3, ... 10] or [5, 10, 15, ... 100] (that is, it should at least allow incrementing by arbitrary positive values). Here is one suggested syntax:
    _for_ identifier = expression _to_ expression [_by_ expression] _do_ statement
               
(the square brackets indicate that the increment part is optional). Also write some test programs in SimpLan to make sure your new statement works correctly.
Friday, March 18:
Read Improve modularity with aspect-oriented programming.
Friday, April 1:
Create a project using a scripting language (Groovy or JavaScript) in combination with Java. Suggested ideas: create a game (for example, tic-tac-toe or 20 questions) with a Java GUI, or add a GUI and/or scripting to a Java application (for example, SimpLan).
Monday, April 4:
Read Haskell Tutorial.
Monday, April 18:
Start reading the Prolog Wikibook.
Monday, April 25:
Extend the HSimpLan compiler/interpreter (I:\CSC424\public\HSimpLan)
Wednesday, April 27:
Read Demand-driven Search in Functional Logic Programs.
Friday, April 29:
Turn in a proposal (one paragraph) describing what you intend to do for your final project and what language you will use.
Monday, May 9:
Read Growing a Language.
Wednesday, May 11:
Be prepared to show a near-final version of your final project (some volunteers will be shown on Monday, May 9).
Monday, May 16:
(Schedule) Individual oral exams: final version of project and accompanying paper (discussing impact of language design on your project) due at time of meeting.
Overview Schedule Resources Assignments Home

Valid HTML 4.01!Valid CSS!DePauw University, Computer Science Department, Spring 2005
Maintained by Brian Howard (bhoward@depauw.edu). Last updated