Results of the Questionnaire held at IOI'97, Cape Town. Response: 34 filled out forms were returned to the IOI Secretariat (2 by e-mail), out of 60+ delegations at IOI'97. I have no reason to believe that more than one form was returned per delegation. The complete text of the questionnaire is available separately (in file question.txt). I first give an overview and interpretation of the answers, followed by a slightly edited summary of all comments (I have NOT merged similar comments). The "bare" Yes-No data is available separately (in file tallies.txt). Here are the questions together with answer counts: 1. Do you find PCs with MS-DOS [ 28 YES | 4 NO | 2 - ], MS Windows'XY [ 25 YES | 6 NO | 3 - ] and/or Linux [ 7 YES | 20 NO | 7 - ] acceptable platforms for solving competition tasks in future IOIs? 2. Do you find Turbo Pascal 7.0 [ 30 YES | 3 NO | 1 - ], Turbo C/C++ 3.0 [ 26 YES | 5 NO | 3 - ], Java [ 17 YES | 12 NO | 5 - ], and other versions of Pascal [ 19 YES | 11 NO | 4 - ] or C/C++ [ 19 YES | 10 NO | 5 - ] acceptable for solving competition tasks in future IOIs? 3. Do you find Java acceptable as the only programming language for use in (some) competition tasks at IOI'99 [ 4 YES | 26 NO | 4 - ] and beyond [ 7 YES | 17 NO | 10 - ]? 4. Do you find object-oriented [ 21 YES | 11 NO | 2 - ], functional [ 16 YES | 15 NO | 3 - ], and/or logic programming [ 15 YES | 16 NO | 3 - ] acceptable for competition tasks at future IOIs? 5. Do you find an IOI with only competition tasks that involve algorithm design-and-implementation appropriate for promoting informatics [ 20 YES | 12 NO | 2 - ]? Do you find other tasks e.g. without computer use necessary at future IOIs [ 15 YES | 16 NO | 3 - ]? 6. Do you find diversity in competition tasks necessary at future IOIs? [ 27 YES | 4 NO | 3 - ] "Interpretation" of the counts: 1. Majority supports MS-DOS and/or Windows'XY, majority is against Linux. 2. Majority supports Turbo Pascal 7.0 and Turbo C/C++ 3.0; slightly more than half support Java and other Pascal or C/C++. 3. Majority is against use of Java as only programming language. 4. No clear support for other paradigms (slightly more for OOP than for functional or logical). 5. Majority supports algorithmic design-and-implement problems as good promotion for informatics. No clear support for the necessity of including other types of tasks. 6. Majority supports diversity in competition tasks. Here is a summary of the comments: 1. (platform) * Definitely NOT Windows. * IOI should move more towards modern platforms. * In order to persuade participation from new countries, changes must be gradual, and may need to contain MS-DOS, for some years. * Large memory model (exceeding 640 KB). is going to be required for IOI'99 and beyond; and we must make progress now to be ready in 1999. * Editing & IDE are not intuitive on Linus to high schoolers. * Windows'XY for the next five years perhaps. * Linux will be difficult. * MS-DOS is completely sufficient for IOI tasks. In future may appear problems with new languages (i.e. Java) so MS Windows will be necessary. Linux is not acceptable, in our country contestants have only little experience with this platform. 2. (prog.lang.) * Any ANSI-compliant compiler OK. * Availability of the version is a concern. * Try to be universal. * Java can be a good new language to be used in some IOI tasks in future. * GNU C seems to be of high enough quality for both Linus and MS OSs. * GNU Pascal is rumored to be coming on-line. This could enable both C & Pascalfor large memory model to be available to all platforms for no cost. (Borland C/Pascal have large memory model, but at a cost for software.) * No problem with focussing on C and Pascal. * Visual Basic & Visual C are popular in many environments. * Borland Pascal seems to be the best (Delphi?) and any C++ is ok. * We may use Microsoft C/C++ or GNU C/C++. * Visual programming techniques should be taken into account. 3. (only Java) * If this will be used in secondary education. * Informatics as a science must not depend on programming language. * In few years there will be some other 'Java', i.e. popular languages; do not limit the technology. * This is another path to take, once it stabilizes. * It is difficult to guess in future. * You should not enforce the use of one particular language. * Why Java? In our country Pascal is the first programming language in secondary schools. Java is too new and has no standard yet. In addition many of our students have no access to computers with suitable technical parameters for today's Java compilers. * Any today and future procedural language is suitable for solving IOI tasks, provided there are no insolvable technical problem with evaluation (standalone real-mode .EXE file creation ability is good criterion). It is not good to restrict programming languages at IOIs too much (to only one language). Some of students with good programming skills can be excluded this way. 4. (OOP, func., log.) * Advance notice is required. * Very few students learn that at school. * Knowledge should not be limited. * OO programming languages can be the only new language in near future of IOI; we can't afford to extend it to the other paradigms. * Ok, if students can switch depending on tasks. However, configuration and troubleshooting for organizers may be a nightmare. Java-only may be a solution. * [These paradigms] exceed the curriculum of secondary schools. * What do you mean by object-oriented: method, language, ...? It is not delivered at secondary schools (compilers are not available; it would be necessary to give the literature in advance). * It should be an advantage to use those techniques, but the problems must be solvable without. * In most cases IOI requires from students much more knowledge than they learn at school. It is not very good to extend these requirements too much. It would be fine if students MAY use OOP, functional and logic programming to solve IOI tasks. However students should not be restricted to use only these techniques in IOI tasks. 5. (alg., comp.) * We need to explore questions with some written component. * Keywords: team work (international teams), design * Building small projects within a team. Competition of programs for problems defined in advance. * Algorithmic problem solving should be the main theme of IOI. Gradual extension towards other aspects of informatics is welcome. * Non-computer problems seem unpopular. They also seem real challenging to implement. * Objective scoring for such (say user-interface design!) is very difficult. * [Other types of tasks] may be difficult to judge. * Algorithm analysis should be included in some tasks. We may think also about experimental computing. * Standard evaluation required. * In our experience there would be difficulties to evaluate regularly such a big amount of tasks. * [Other types of tasks] might be a very interesting experience, but seem difficult to evaluate. 6. (diversity) * We must continue to expand and push these young people. * More scientific areas should be represented, there should be reasonable trade-off between exact and inexact problems. * The scope of tasks given in IOI should be broadly defined, both for participants and organizers. IC has this duty. * We might consider even more diversity in problems: I/O (disk), network, systems-style programming, graphical, (continuing) interactive problems, numerical problems (with floating-point numbers). * Diversity in tasks that involve algorithm design and implementation. * One new type per IOI seems fair with some warning (as in IOI'95). * Please specify what type of diversity. * "Diversity" is a broad word, it must be specified. But we fully agree with diversity in competition tasks. * We should partially get away from "classical" algorithmics. * Introducing interesting new-style tasks is very good. However, it would be good to have some restriction: - There will be not too many "new-style" tasks in one IOI. It applies not only to changes from one year to other. If we will accept each year one "new-style" task we will have no traditional tasks in six years. We think that the task which appeared as a "new-style" task in some IOI should not be automatically recognised as a traditional task in future. - Scientific committee should at least half year before the competition itself provide overview of competition problem styles together with simple examples. It would enable students who will participate at the IOI to prepare for special tasks. Other * IOI'97 had major deficiencies, the SC should do a better job. * Reviewing problems in advance (by a select committee) seems to be a Good Thing. * A way to document and share "history" & "experience" might help. * Overall reservations to change is for 2 reasons: - complexity to manage multiple environments (hardw. & softw.) for host. - dificulty in designing black-box evaluations for measuring other aspects of informatics. * Don't fix it if it ain't broke. ----- February 1998 Tom Verhoeff IOI Secretariat