ICS1 Project
Introduction
tud

ICS1 Project - SJarel Interpreter

You will write an interpreter for "SJarel", a simple programming language very similar to a small subset of Java.

News

Organizational Information

Online registration was possible till February 10th. Groups of four students have to combine at least two nationalities.

The project starts on Tuesday, February 17th. Final attestation will be on Friday, February 27th.

At half time each team has to consult with a tutor on Thursday 19th or Friday 20th to make sure that the group is making progress.

As the computer science department is currently moving to another building, the Wilhelminenstraße-pools won't be accessible during the project. However, the lower pool (S1|13 116) at Alexanderstraße has been reserved for the project. Starting from February 23rd, when the German project period starts as well, the pools have to be shared. The German students will use them in the morning till 13:00. From 13:00 to 19:00 the pools are fully available for the ICS1 project. The pools will close at 20:00. All pools are closed at the weekend.

An additional pool (which is not reservered for the project and where you don't get any tutor support) is available in building S1|15 (after the entrace to the right). In addition to some unix machines there are tables for laptops. Power is provided, networking is possible using WLAN. If you don't have a WLAN-Card it is possible to rent one from the RBG department.

For both weeks, from 13:00-17:00, three tutors will be in the reserved pool room (S1|13 116) to help you with any difficulties.

If your team is able to program on your own computers you are encouraged to do so. Towards the end of the project period, however, transfer your solution to the pool so that it can be tested there. Minor adjustment may be required to port a say Windows version to a Unix version.

The Task

Using some predefined material you are going to implement an interpreter for "SJarel", a simple programming language very similar to a small subset of Java. The "S" in "SJarel" stands for "simple". "Jarel" is a combination of "Java" and "Karel". "Karel the Robot", initially published in 1981 is a project to use a small robot world for teaching object-oriented concepts.

SJarel defines basically Java syntax where the main method is labeled "task" and an additional "loop" construct exists. There is just one non-primitive "Robot" type, used to create robot instances, which then can act in their little robot world.

Anything you need to know can be found in the detailed task description.

Where to get help

If you are stuck, try the following

  1. discuss the problem with your team members
  2. consult the FAQ and the framework documentation
  3. ask one of tutors (available from 13:00-17:00)
  4. place a question at the bulletin board (no more password protection; just register with the board if you haven't done so already)

Attestation

On Friday 27th, all groups have to demonstrate their interpreter to a tutor.
In the attestation process, your interpreter will be tested using public tests and some further private tests. In a subsequent interview, each member of the team has to be able to answer some questions regarding the developed code, especially about the part the member contributed.

Suggestions for further development

If you are done and still hungry for some more programming, here are some suggestions what to do:

With any non-standard extension you make, however, make sure that the standard tests still work or have a plain interpreter version for attestation only ready.

 

$Revision: 1.14 $

 

SiteMap Print Version Updates as RSS feed Updates as HTML page