COMPUTING IN SCHOOLS CS contests for students: why and how?

0 downloads 0 Views 209KB Size Report
chemistry, biology, and astronomy. Obvi- ously, the ... goal of the international Olympiad in CS is: “to bring together .... these national contests usually have a few.
fea t u re d c o l u m n s Programming, Syntax and Cognitive Load ming environment eliminates the extraneous cognitive load of syntax, the need to write algorithms means that programming remains an intrinsically cognitively demanding task. In making this observation, I am not advocating that tools like Scratch and Alice should not be used – on the contrary. What I am doing is articulating a pre-emptive defense of such tools. Inevitably, there will be a backlash against these tools, just as there was a backlash against teaching objects early. People will say “the students are still having problems”, and these people will be right, but the fault will not be with these tools. The fault will lie with the absence of a pedagogical rethink of what should happen after these tools. Ir References [1] Hundhausen, C., Farley, S., and Brown, J. (2009) Can direct manipulation lower the barriers to computer programming and promote transfer of training?: An experimental study. ACM Trans. Comput.Hum. Interact. 16, 3 (September). http://doi.acm. org/10.1145/1592440.1592442 [2] Jadud, M. (2006). Methods and tools for exploring novice compilation behaviour. Second International Workshop on Computing Education Research (ICER ‘06), pp. 73-84. http://doi.acm.org/10.1145/1151588.1151600 [3] Lister, R. (2011) Concrete and Other Neo-Piagetian Forms of Reasoning in the Novice Programmer. Thirteenth Australasian Computing Education Conference (ACE 2011), January. CRPIT, volume 114. [4] Moreno, R. and Park, B. (2010) Cognitive Load Theory: Historical Development and Relation to Other Theories. Chapter 1 of Plass, Moreno and Brunken, R. Cognitive Load Theory. Cambridge University Press. pp. 9-28. [5] Robins, A., Haden, P. and Garner, S. (2006). Problem Distributions in a CS1 Course. Eighth Australasian.Computing Education Conference (ACE2006). pp. 165-173. http:// crpit.com/confpapers/CRPITV52Robins.pdf [6] Whalley, J, Lister, R, Thompson, E, Clear, T, Robbins, P, Prasad, C (2006) An Australasian Study of Reading and Comprehension Skills in Novice Programmers, using the Bloom and SOLO Taxonomies. Australian Computer Science Communications 52: 243-252. http://crpit.com/ confpapers/CRPITV52Whalley.pdf [7] Willingham, D. (2010) Why Don’t Students Like School: A Cognitive Scientist Answers Questions About How the Mind Works and What It Means for the Classroom. Jossey-Bass. (A popular book that does not specifically address cognitive load, but introduces the concept and significance of working memory.)

Raymond Lister Faculty of Information Technology University of Technology, Sydney Broadway NSW 2007 Australia [email protected]

Computing In Schools Michal Armoni

CS Contests for Students:

Why and How? Many consider contests as a motivational tool that engages students in meaningful learning in a non-traditional manner. Indeed, wisely planned contests can achieve that goal for many students, but many issues should be considered when planning an academic contest for young students – and a CS contest in particular. Many various kinds of CS contests are being conducted every year. Since 1989, CS (informatics) is one of six scientific subjects for which there is an international Olympiad for high school students; the other subjects are mathematics, physics, chemistry, biology, and astronomy. Obviously, the Olympiad is a contest for the very best students – the champions. The goal of the international Olympiad in CS is: “to bring together, challenge, and give recognition to young students from around the world who are the most talented in informatics (computer science), and to foster friendship among these students from diverse cultures”1 But not every contest shares the same motivation. The motivation for other contests is probably different; they are likely intended for a different kind of population and therefore, their characteristics (kind of tasks, difficulty level) should be different as well. What are the reasons for conducting a CS contest for young students? One

DOI: 10.1145/1963533.1963539 Copyright held by author.

22   acm Inroads    2011 June  •  Vol. 2  •  No. 2

1 The

IOI website, http://ioinformatics.org/about.shtml

reason that probably first comes to mind, the reason behind many of the current CS contests, is to attract students to CS and influencing students to choose to study CS. Even this motivation could induce different kinds of contests, depending on the age of students, or in other words, on the part of the pipeline at which the efforts are aimed. Quite a few CS departments in universities and colleges arrange such contests as parts of their outreach efforts. The intent of these contests is for high school students, usually students who are already familiar with programming. An example of such a contest is the US nationwide programming competition held at St. Bonaventure University (New York), now in its twenty-third year. Does it have to be a programming contest? Do we really want to strengthen the conception of “CS is programming”? Additionally, this focus naturally limits the participation to students who already know how to program, whether through high school courses or through independent self-learning experiences. Brogi [1] took an interesting alternative path when arranging a contest for high school students in Italy. In this case as well, the motivation of the contest (arranged by an Italian university) was to attract students to choose CS in their higher education paths. However, the organizers wanted to enable the participation of students who had never been exposed to CS and to programming in particular. The solution was to base the contest on the Turing machine

featured columns

model. The students received written material, and participated in a short seminar on Turing machines. During the contest itself, they had to solve nine tasks in three hours by designing a deterministic Turing machine for each of the tasks. Students executed the solutions on a simulator. The issue of the image of CS as induced by a contest and its tasks is very important, and we should address it explicitly. It is well known that one of the factors that influence students not to choose CS is the incorrect image of CS they possess. A contest intended to attract students to CS must try to challenge these incorrect images and it should strive not to preserve them. This does not mean that we should not use programming; but the contest itself need not be a programming contest in its narrow sense. The contest could be a CS problem-solving contest with tasks that really require problem-solving and algorithmic skills, much like the kind of tasks used in the Olympiad, though not necessarily on the same level of difficulty. The solutions themselves might be implemented (or programmed) on different levels of abstraction. A traditional programming language like Java is one option on the more concrete side of the scale. A Turing machine (we could view it as programming…) is certainly an option that lies on the abstract side of the scale. Nevertheless, other options such as pseudo-code on intermediate points of the scale are also available and used in various contests. Again, the advantages of the less concrete options are that they make the contest accessible for a wider audience and that they emphasize the scientific, problem-solving aspect rather than the technical aspect. A related issue, not be neglected, is the scoring policy in such outreach contests. An obvious, frequently used policy is to grade students’ solutions (implemented in a specific programming language) by the time it takes to output an answer. This is a legitimate policy. However, we might also take into account other factors such as the algorithmic elegance of the solution and its efficiency. Again, we should keep in mind that every aspect of a contest serves to demonstrate the nature of CS, whether explicitly or implicitly. High school is not the only point of the pipeline that calls for outreach efforts. In

many countries, CS is offered at the high school level, but it suffers from the same maladies – many students choose not to study CS at this level because they possess an incorrect image of it. To handle this, efforts should be turned to even earlier phases of the pipeline, to junior high schools and even the higher grades of elementary school. Obviously, the nature of contests designed for these parts of the pipeline should be different, mostly because one cannot assume any previous CS knowledge. An example of

The contest could be a CS problem-solving contest with tasks that really require problem-solving and algorithmic skills, much like the kind of tasks used in the Olympiad, though not necessarily on the same level of difficulty. a contest suitable for these audiences is the Bebras (beaver) contest.2 This is an annual European contest held in parallel in schools in several European countries. The contest focuses on three age groups with different tasks for each group. The youngest participants are 5th grade students and the oldest are senior high school students. This is not a programming contest and the tasks are short, answerable in a few minutes through a computerized interface. This activity makes the design of tasks very challenging. Indeed, significant efforts are made by the organizers to design good tasks that cover various areas of CS, that suit the age group, that can be answered in a short time, and that do justice to the image of CS. Many of these tasks are developed at annual international workshops.

Until now, I only discussed contests motivated by the need to attract students to CS studies. However, this is not the sole motivation. Contests could serve as an educational tool to promote meaningful learning. The process of students preparing together for such a contest, under the guidance of their CS teacher as part of their CS studies, could offer many precious opportunities to illuminate various CS concepts and to practice CS problemsolving in an engaging manner. To this end, CS teachers could organize internal contests. However, they could also take advantage of existing contests, keeping in mind the objective of using the contest as a tool for learning. Even the Olympiad contest can be advantageous in this sense. Indeed, its higher phases are for the “champions”, but many countries hold a national contest to select the team for the international Olympiad and these national contests usually have a few preliminary phases. Participating in these preliminary phases can be an enriching experience for every student, accompanied by a teaching effort built on a platform to promote meaningful CS learning. One should always remember that as an educational tool, and even as a motivational tool, competitions don’t suit everyone. In most existing CS contests, the percent of female participation is relatively low. This might be because of the obvious competitive nature of the event, which is an inherent feature of it. However, it might also be because many of these contests emphasize programming and not problem solving. Broad participation should be another important factor that contest organizers should consider when designing tasks. Ir References [1] Brogi, A. (1997). A Turing machine contest for introducing high school students to computer science. SIGCSE Bulletin, 29(2), 23-27. Michal Armoni Weizmann Institute of Science Rehovot 76284 Israel [email protected]

DOI: 10.1145/1963533.1963540 2

http://www.bebras.org/en/welcome

Copyright held by author.

2011 June  •  Vol. 2  •  No. 2    acm Inroads   23