Tiger 2007

Akim has been helped by:

Comaintainers

Arnaud Fabre, Roland Levillain, Gilles Walbrou

Assistants

Arnaud Fabre, Bastien Gueguen, Benoît Monin, Chloé Boivin, Fanny Ricour, Gilles Walbrou, Julien Nesme, Philippe Kajmar, Tristan Carel

Deliveries:

Stage

Submission

TC-0

Wednesday, 2005-03-15 23:42

TC-1

Rush from 2005-03-18 to 2005-03-19 09:00

TC-2

Sunday, 2005-04-03

TC-3

Rush from 2005-04-08 20:00 to 2005-04-10 12:00

TC-4

Sunday, 2005-05-01

TC-5

Sunday, 2005-06-05

TC-6

Sunday, 2005-06-12

TC-7

Sunday, 2005-06-19

TC-8

Monday, 2005-06-27

TC-9

Sunday, 2005-07-03

Criticisms about Tiger 2007 include:

Cheating

Too much cheating during TC-5. Some would like more repression; that’s fair enough. We will also be stricter during the exams.

Debriefing

After a submission, there should be longer debriefings, including details about common errors. Some of the mysterious test cases should be explained (but not given in full). Maybe some bits of C++ code too.

Design of the compiler

More justification of the overall design is demanded. Some selected parts, typically TC-5, should have a uml presentation.

Tarball

Keep the tarball simple to use. We have to improve the case of tcsh. Also: give the tarball before the presentation by the assistants.

Oral examinations

Assistants should be given a map of where to look at. The test suite should be evaluated at each submission. The use of version control too.

Optional parts

They want more of them! We have more: see TC-R, Unique Identifiers, TC-D, Removing the syntactic sugar from the Abstract Syntax Tree, and TC-I, Function inlining.

misc:: tools

There should be a presentation of them.

TC-3 is too long

TC-3, a rush, took several groups by surprise.

Some groups would have liked to have the files earlier: in the future we will publish them on the Wednesday, instead of the last minute.

Some groups have found it very difficult to be several working together on the same file (binder.cc of course). This is also a problem in the group management, and use of version control: when tasks are properly assigned, and using a tool such as Subversion, such problems should be minimal. In particular, merges resulting from updates should not be troublesome! Difficult updates result from disordered edition of the files. Dropping the use of a version control manager is not an answer: you will be bitten one day if two people edit concurrently the same file. One option is to split the file, say binder-exp.cc and binder-dec.cc for instance. I (Akim) leave this to students.

The template method template is too hard

Some students would have preferred not to have the declaration of Binder::decs_visit, but the majority prefers: we will stay on this version, but we will emphasize that students are free not to follow our suggestions.

TC-5

Several people would like more time to do it. But let’s face it: the time most student spend on the project is independent of the amount of available time. Rather, early oral exams about TC-5 should suffice to prompt students to start earlier.

People agree it is harder, and mainly because of compiler construction issues, not C++ issues. But many students prefer to keep it this way, rather than completely giving away the answers to compiler construction related problems.