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
)
- At a minimum, add support for output of string constants
- If you are interested in doing more, you could: add builtin
functions (sqrt, sin, cos, etc.), add string operations (this would
probably require some typechecking -- see me for details), finish
the virtual machine interpreter or the direct SimpLan interpreter
(versions of these will be available soon).
- 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.
DePauw University, Computer Science
Department, Spring 2005
Maintained by Brian
Howard (bhoward@depauw.edu
).
Last updated