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::
toolsThere 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, saybinder-exp.cc
andbinder-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.