Teaching Algorithmics for Informatics Olympiads: the French Method

Teaching Algorithmics for Informatics Olympiads: the French Method

Olympiads in Informatics, 2008, Vol. 2, 48–63 48 © 2008 Institute of Mathematics and Informatics, Vilnius Teaching Algorithmics for Informatics Olympiads: The French Method Arthur CHARGUÉRAUD, Mathias HIRON France-IOI 5, Villa Deloder, 75013 Paris, France e-mail: [email protected], [email protected] Abstract. This paper describes a training curriculum which combines discovery learning and in- structional teaching, to develop both problem solving skills and knowledge of classic algorithms. It consists of multiple series of exercises specifically designed to teach students to solve problems on their own or with the help of automated hints and intermediate problems. Each exercise is fol- lowed by a detailed solution similar to a lecture, and synthesis documents are presented at the end of every series. The paper then presents a structured problem solving method that is taught to the students throughout this curriculum, and that students can apply to organize their thoughts and find algorithms. Key words: teaching algorithmics, problem solving techniques, guided discovery learning. 1. Introduction France-IOI is the organization in charge of selecting and training the French team to the International Olympiads in Informatics (IOI). As main coaches of the French team since its early days in 1997, our main focus is to develop teaching materials and improve train- ing methods. Since there are no computer science curriculums in French high schools, the students who come to us are usually self-taught programmers with almost no experience in the field of algorithmics. All the teaching materials that have been produced are made available to the public on the training website (http://www.france-ioi.org), where the students can study all year long. Intensive live training sessions are held several times a year for the top students. The long-term objective is to reach a maximal number of students, so the online training follows the same principles as the live training sessions. The aim of this paper is to describe these principles. Section 2 gives an overview of the training curriculum. Section 3 then presents the structure of the training website. Finally, Section 4 describes the problem solving method that has been developed along the years and is now taught throughout the website. Teaching Algorithmics for Informatics Olympiads: The French Method 49 2. Philosophy of the Training Curriculum In this section, we explain how the training curriculum is designed around series of prob- lems for the teaching of classic algorithms and data structures as opposed to providing lectures. We then present the benefits of this approach. 2.1. Introduction to the Structure of the Training The training curriculum we present differs from those that can be found in many algo- rithmic courses. Most curriculums follow a common pattern: 1. Provide basic knowledge. Teach algorithms and data-structure through lectures, providing pseudo-code and complexity analysis. 2. Show examples. Illustrate how to apply this knowledge to practical situations. 3. Give exercises. Solidify what was taught, and try to develop solving skills. This approach counts mostly on a student’s innate abilities when faced with new, more difficult problems. Our thesis is that improving skills to solve new, difficult problems is what really matters in algorithmics. Therefore the true aim of a teaching curriculum should be to improve those skills. Providing the student with knowledge and experience is necessary, but should not be the first priority. The interactive training is structured around sets of exercises with each set focusing on one particular area of the field. Within a set, each exercise is a step towards the discov- ery of a new algorithm or data-structure. To solve an exercise the students submit their source-code and the server automatically evaluates the code, in a fashion similar to grad- ing systems that are used in many contests. If the students fail to solve an exercise, they may ask for automated hints or new intermediate problems, which in turn ease the pro- gression. Once the students succeed, they get access to a detailed solution that describes the expected algorithm and presents a reasonable path to its discovery. At the end of each sequence of exercises, a synthesis of what has been learned is provided. Overall the curriculum can be seen as a guided step-by-step discovery completed with instructional material as opposed to more standard curriculums which are typically based on instructional material and very little discovery learning. 2.2. Teaching the Problem Solving Method While training students along the years, it was tried as much as possible to give reusable hints, i.e., hints valuable not only to the current problem but for others as well. Reusable hints were then collected and sorted in an organized document. In recent years, the au- thors have improved this document by carefully analyzing the way they come up with ideas for solving difficult problems. As a result, a general problem solving method was developed. This method is not a magical recipe that can be applied to solve any algorith- mic problem, but someone who is sufficiently trained to apply this method will be able to solve more difficult problems than he/she could have solved without it. 50 A. Charguéraud, M. Hiron As the document describing the method appears very abstract at first, asking one to “apply the method” is not effective. Instead, the teaching of the method is spread through- out the training curriculum in three ways: 1 1. The hints given to students when they need help are (in most cases) hints that could have been obtained by applying the method. 2. Each detailed solution is presented in a way that shows how applying steps of the method leads to the expected algorithm. 3. Advanced students are provided not only with the reference document describing the problem solving method, but also with versions specialized to particular areas. To teach this method, we follow an inductive approach rather that a deductive one, since it is extremely hard to explain without many examples to rely upon. 2.3. Advantages over Traditional Curriculums To improve skills for solving unknown hard problems, it is necessary to practice solving such hard problems. So in a way, explaining an algorithm in a lecture can be seen as wasting an opportunity to train that skill. It gives away the solution to a problem before giving the students a chance to come up with a few good ideas on their own. By finding some, if not all of the ideas behind an algorithm by themselves, students not only learn that algorithm but also improve their problem solving skills. Also, by making these ideas their own, they are more likely to adapt them to future problems. Once students have spent time thinking about a problem and have identified its diffi- culties, they are in a much better position to understand and appreciate the interest of the reference solution that is then presented to them. More importantly, students can compare the process they have followed to find the solution against the process that is described in the lecture. They can then update their strategies for the next exercises. Also, discovering by oneself the principles of breadth-first search, binary trees, and dynamic programming generates a great deal of self-satisfaction. Even though the previ- ous problems and reference solutions made it much easier by putting the students in the best conditions, they get a sense of achievement for having come up with their own ideas, gain confidence about their own skills and a strong motivation to go further. Discovery learning is often proposed as an alternative to the more traditional instruc- tional teaching, but has been strongly criticised recently (Kirschner et al., 2006). Our purpose is not to advocate the pure discovery learning that these papers focus on and criticize extensively. The curriculum we present is indeed based on guided discovery learning, and is completed with extensive and carefully designed instructional teaching. With a structure designed to ensure that each step is not too hard for students, and which reinforces what is learned after each exercise, the risks associated with pure discovery learning, such as confusion, loss of confidence and other counter-productive effects are avoided. 1Note: the training material is constantly evolving, and what is presented here corresponds to the authors’ current vision. At the time of writing, many existing elements of the website still need to be updated to fit this description completely. Teaching Algorithmics for Informatics Olympiads: The French Method 51 To summarize, we teach problem solving techniques by relying in the first place on the good aspects of discovery learning, and then consolidating the insight acquired by stu- dents through instructional teaching. Teaching of pure knowledge, which is a secondary goal, also follows the same process. This is the complete opposite of standard curricu- lums which start by teaching knowledge in instructional style, and then leave students to develop solving techniques mainly on their own. 3. Structure of the Training Curriculum In this section, we give the global structure of the training curriculum, and describe each of its components in more detail. 3.1. Overview of the Structure The training website aims at being an entirely self-contained course in algorithmics. The curriculum is divided into three levels of difficulty: beginner, intermediate, and advanced. The only requirement for the “beginner” level is to have some experience of programming in one of the languages supported by the server. At the other end, the “advanced” section contains techniques and problems corresponding to the level of the IOI. Note that the training website also includes instructional programming courses and exercises for the C and OCaml languages. Each of the three levels contains several series of exercises of the following kinds: 1.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    16 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us