Olympiads in Informatics

Total Page:16

File Type:pdf, Size:1020Kb

Olympiads in Informatics ISSN 1822-7732 INTERNATIONAL OLYMPIAD IN INFORMATICS VILNIUS UNIVERSITY OLYMPIADS IN INFORMATICS Volume 13 2019 Selected papers of the International Conference joint with the XXXI International Olympiad in Informatics Baku, Azerbaijan, 4–11 August, 2019 OLYMPIADS IN INFORMATICS Editor-in-Chief Valentina Dagienė Vilnius University, Lithuania, [email protected] Executive Editor Mile Jovanov, Sts. Cyril and Methodius University, Macedonia, [email protected] Technical Editor Tatjana Golubovskaja Vilnius University, Lithuania, [email protected] International Editorial Board Benjamin Burton, University of Queensland, Australia, [email protected] Sébastien Combéfis, Computer Science and IT in Education NPO, Belgium, [email protected] Michal Forišek, Comenius University, Bratislava, Slovakia, [email protected] Gerald Futschek, Vienna University of Technology, Austria, [email protected] Marcin Kubica, Warsaw University, Poland, [email protected] Ville Leppänen, University of Turku, Finland, [email protected] Krassimir Manev, New Bulgarian University, Bulgaria, [email protected] Seiichi Tani, Nihon University, Japan, [email protected] Peter Waker, International Qualification Alliance, South Africa, [email protected] Willem van der Vegt, Windesheim University for Applied Sciences, The Netherlands, [email protected] The journal Olympiads in Informatics is an international open access journal devoted to publishing original research of the highest quality in all aspects of learning and teaching informatics through olympiads and other competitions. https://ioinformatics.org/page/ioi-journal ISSN 1822-7732 (Print) 2335-8955 (Online) © International Olympiad in Informatics, 2019 Vilnius University, 2019 All rights reserved Olympiads in Informatics, 2019 Vol. 13, 1–2 © 2019 IOI, Vilnius University DOI: 10.15388/ioi.2019.00 Foreword IOI, the International Olympiad in Informatics, is an annual international informatics competition for individual contestants from over 80 invited countries, accompanied by a one-day scientific conference for delegation leaders, organisers and guests. The IOI community has an excellent opportunity to communicate during this international event. Many countries have a variety of things to present and discuss. The IOI journal is focused on the research and practice of computing professionals who work in the field of teaching informatics to talented secondary and high school stu- dents. The journal is closely connected to the scientific conference annually organized during the IOI. The 13th volume has two tracks: the first section of the journal focuses on research, and the second section is devoted to sharing national experiences. In this volume we include the work of some regular contributors to the journal, and also the work of some new authors. In his paper, D. Ginat argues that algorithmic problem solving involves a collection of implicit notions, which may be considered as tools, since they are repeatedly utilized in various ways, particularly in challenging algorithmics. He says that often employ- ment of these notions is essential, and they pave the way to a desired solution prior to utilization of algorithms and data structures. T. Verhoeff presents his thoughts on programming, software development, and computer science (CS), and their inevitable relationship – “the Golden Triangle”. Some of the other papers in this volume deal with teaching programming in primary and secondary schools. M. Dolinsky and M. Dolinskaya introduce an approach on how to begin the process of teaching programming to elementary school pupils, by training them to write simple programs – programs that deal with numbers. According to the authors, this learning stage should follow the two previous stages in the process: mental skills development, and learning the keywords of the programming language taught. M. Weigend, J. Vanicek, Z. Pluhar and I. Pesek explore the potential of using creative unplugged activities in the classroom for Computational Thinking education. They pro- pose a model which consists of 4 types of creative unplugged activities, and they also present the results of an international survey conducted in 2018, regarding the proposed model. In their papers, S. Combefis, G. de Moffarts and M. Jovanov present a new digital library with resources to teach and learn computer science, and M. Lodi, D. Malchiodi, M. Monga, A. Morpurgo and B. Spieler present a survey on the constructionist attempts at supporting the learning of computer programming. Set of authors present some valuable results from surveys they conducted in Japan. T. Kakeshita, N. Takahashi, K. Sumi and M. Ohtsuki present comprehensive analyses of three different nationwide surveys on the status of computing education, conducted at the Japanese universities. The first survey (Kakeshita & Ohtsuki) focuses on informat- ics in general education, and the second one (Kakeshita, Takahash & Ohtsuki) concerns computing education at non-IT departments in Japan. The third one (Sumi, Ohtsuki & Kakeshita) is on computing education at Japanese universities, as subject of “informa- tion” for high school teacher’s license. Finally, W. van der Vegt and E. Schrijvers present a method on how to analyse task difficulty in a Bebras contest using Cuttle, and M. Jancheski and S. Janceska discuss on multidisciplinary, multilingual, multilevel and multipurpose usage of the GeoGebra software in education. We understand and support the need for continuing to share our national experiences – our problems are common problems. In the second part of the volume, authors from a few countries presented their experience, news and new approaches. A report on the organization of the Cyprus Olympiad in Informatics done by P. Era- cleous, P. Pavlikas, A. Ttofari, and A. Charalampous review the contest format used for each of the different age groups, as well as the tools and methods utilized in the proc- ess of preparation and selection of the national teams of Cyprus for the international competitions. M. S. Tsvetkova and V. M. Kiryukhin inform about the need to introduce a new pro- fession in the modern society named Digital Curator – consultant in the field of digital lit- eracy. They explain the role of the digital curator and discuss the competencies in detail. Representatives from this year’s IOI hosting country, Azerbaijan, Y. Tabesh, S. Zarkesh, A. Zarkesh and I. Fazilova, present their experience on computational thinking in K-12. M. Taki and A. Alnahhas present an annual computer science competition in Syria for children aged between 8 and 15 years, which aims at preparing new genera- tions for the future in computer science. K. Merjalali, A. Keivan Mohtashami, M. Roghani and H. Zarrabi-Zahed present a tool for developing tasks in programming contests called TPS (Task Preparation Sys- tem), which was successfully used in IOI 2017, and since then – in several other na- tionwide and international programming contests. Finally, M. Medvediev discusses on the use of the E-Olymp internet portal in programming competitions, a portal that so far supports four languages (Ukrainian, Russian, English and Azerbaijani). Many thanks to all of those who have assisted with the volume – especially authors and reviewers as well as the Editorial Board of this journal. A lot of work is required by authors, far before starting to write the paper, and there is a lot of work to be done in the process after submitting the first version of the paper until the final version ready for print. In particular, we would like to thank the organisational committee of this year’s IOI in Baku for giving us the opportunity to host the IOI conference. Editors Olympiads in Informatics, 2019 Vol. 13, 3–20 3 © 2019 IOI, Vilnius University DOI: 10.15388/ioi.2019.01 TLCS: A Digital Library with Resources to Teach and Learn Computer Science Sébastien COMBÉFIS1, Guillaume DE MOFFARTS1, Mile JOVANOV2 1Computer Science and IT in Education ASBL, Louvain-la-Neuve, Belgium 2Faculty of Computer Science and Engineering, Ss. Cyril and Methodius University st. Rugjer Boshkovikj 16 Skopje, North Macedonia e-mail: [email protected], [email protected], [email protected] Abstract. Nowadays, teaching and learning computer science is done at various ages, for several topics and for different reasons. Depending on the country, it can start from the primary school and it finishes at the higher education level, or even later if we take continuing education into con- sideration. Topics to be learned can be as simple as binary representation or basic programming concepts that can be taught to children to introduce them to computer science. It is also possible to teach and learn advanced data structures or algorithms optimisation, which are interesting skills for Olympiad in Informatics contestants, for example. Recently, there is a prominent number of websites and applications that have been created to help the teaching and learning of many in- formatics concepts. This paper presents a platform that has been designed to browse a database of resources that can be used to teach or to learn computer science. This digital library contains freely accessible resources and can be searched efficiently thanks to the proposed structure for its content. It has been designed to maximise the user’s experience and to fit modern models of digital libraries. For each resource, a detailed information sheet has been produced, containing among other things pedagogical information
Recommended publications
  • Dc Prf-SPOJ-Classical.Ps
    Archives of the Sphere Online Judge classical problemset Editors: 1 u.swarnaprakash NghiaHemant Nguyen Verma Hoang Blue Mary Andrés Leonardo Rojas LukasŁukasz Mai Kuszner Adrian Kosowski Duarte Stephenbalaji Merriman Adrian Kuegel Brian YashRahul Garg Camilo Andrés Varela León Spooky RobertNeal Zane Rychcicki Jin Bin Paritosh Aggarwal VOJChinh problem Nguyen setters Thanh-Vy Hua Le Đôn Khue ?????Paweł Dobrzycki Roman Sol Csaba Noszaly KonradPatryk Pomykalski Piwakowski Wanderley Guimaraes Analysis Mode (Bogardan ZhangFrank RafaelTaizhi Arteaga Michał Czuczman Hellkite) MauroMiorel PaliiPersano Jelani Nelson (Minilek) Abhilash I P.KasthuriTomek Czajka Rangan• Daniel Gómez Didier Paul Draper SebastianPripoae Toni Kanthak Ngô Minh Đu+’c Bobby Xiao BartłomiejReinier César Kowalski Mujica Neal Wu Darek Dereniowski IvanHdez Alfonso Prasanna Nguye^~n Ha Du+o+ng OlamendyRadu Grigore Piotr Łowiec Nguyen Minh Hieu MartinMark Gordon Bader Robin Nittka Qu Jun dqdLovro Puzar Ahmed Aly Fabio Avellaneda PiotrLordxfastx Piotrowski Adam Dzedzej Hoang Hong Quan TomaszRuslan Sennov Goluch Ajay Somani Nguyen Van Quang Huy Rahulabhijith reddy d Nikola P Borisov Tomas. Bob Diego Satoba Mir Wasi Ahmed Pawel Gawrychowski Luka Kalinovcic Matthew Reeder yandry pérez Rafal clemente Marco Gallotta Tomasz Niedzwiecki Pavel Kuznetsov Andrés Mejía-Posada Robert Gerbicz Andres Galvis Chen Xiaohong Slobodan Simon Gog Alfonso2 Peterssen Kashyap KBR Krzysztof Kluczek John Rizzo Jose Daniel Rdguez Race with time Abel Nieto Rodriguez Michał Małafiejski Bogusław K. Osuch Ivan Metelsky Gogu Marian Phenomenal Le Trong Dao Nguyen Dinh Tu Muntasir Azam Khan 2 Last updated: 2009-10-09 09:00:05 3 Preface This electronic material contains a set of algorithmic problems, forming the archives of the Sphere Online Judge (http://www.spoj.pl/), classical problemset.
    [Show full text]
  • Prolog W Formie Dialogu Pomiędzy Studentem I (Cokolwiek) Sokratycznym Profesorem
    Teksty Drugie 2007, 1-2, s.127-143 Prolog w formie dialogu pomiędzy studentem i (cokolwiek) sokratycznym Profesorem. Bruno Latour Tłumaczenie zbiorowe pod kierunkiem Krzysztofa Abriszewskiego http://rcin.org.pl Bruno UTOUR Prolog w formie dialogu pomiędzy studentem i (cokolwiek) sokratycznym Profesorem^ {Gabinet w London School of Economics, późne wtorkowe popołudnie w lutym, przed pójściem do Beaver na kwartę piwa. Słychać ciche, ale natarc^we pukanie. Student za­ gląda do gabinetu.) Student: - Czy nie przeszkadzam? Profesor: - Nie, to i tak są moje godziny pracy. Proszę wejść i usiąść. S: - Dziękuję. P: - Mniemam, że... czuje się Pan trochę zagubiony? S: - Właściwie tak. Muszę przyznać, iż trudno mi zastosować Teorię Aktora-Sieci w moich badaniach nad organizacjami. P: - Nic dziwnego - nie można zastosować jej do niczego! S: - Ale uczono nas... mam na myśli... wydawało mi się, że to tutaj całkiem gorący towar. Czy mówi Pan, że jest zupełnie bezużyteczna? P: - Mogłaby być użyteczna, ale tylko jeśli nie „stosuje” się do niczego. S: - Przepraszam, ale czy to ma być jakaś sztuczka Zen? Muszę Pana ostrzec, że jestem jedynie doktorantem w badaniach nad organizacjami, więc proszę nie ocze­ kiwać... Nie jestem w temacie, jeśli chodzi o francuską myśl, przeczytałem trochę Mille Plateaux, ale nie bardzo zrozumiałem, o co tam chodzi... 1 Tłumaczenia zbiorowego pod kierunkiem Krzysztofa Abriszewskiego dokonali: Adrian Gahbler, Andrzej Kilanowski, Paweł Mil, Radosław Naworski, Natalia Organista, Dawid Piekło, Robert Szatkowski, Wojciech Wańczyk, Jakub Wolski. ^ http://rcin.org.pl Prezentacje P: - Przepraszam. Nie chciałem się wymądrzać. Chodzi o to, że ANT (skrót od ang. Actor-Network Theory - przyp. tłum.) przede wszystlsim jest negatywnym ro­ zumowaniem.
    [Show full text]
  • World Record Lunch
    World Record Lunch A group of people is trying to beat the world record for the largest number of people having lunch at the same time. In order achieve this goal, they are using the country's largest bridge and they have decided to arrange the tables following the shape of the letter 'S'. The table layout can be described by 4 integers: NH, NV, H and V. The two first integers, NH and NV, represent respectively the number or rows and number of columns in the layout. The last two integers represent respectively the number of tables in each row and column. For a given layout, the tables are numbered consecutively, starting with table #1 in the top-right corner. The following figure illustrates several possible layouts: Thousands of groups of people are expected to come, and the organizers have to define where to seat everyone. Each group needs a certain number of tables and they do not share tables with other groups. Furthermore, a group wants their tables to be together and not split among rows and columns, that is, they want a set of consecutive tables either on the same row or on the same column. If this condition cannot be met, the group prefers to go away and have lunch at another place. The groups also enjoy having some privacy and prefer unoccupied adjacent tables, that is, no one at the table exactly before the first table of the group, and no one at the table exactly after the last table of the group. If this happens, we say that the group found a private place.
    [Show full text]
  • Possibilities of Simulating Robot Generations in Public Education
    Possibilities of Simulating Robot Generations in Public Education ABONYI-TÓTH Andor Abstract. An important part of teaching robotics is describing different robot generations, which represent the characteristic stages of technological development. These generations are also identifiable in case of educational robots. The categories refer to the tasks and problems which can be solved with a given robot. However, the development of robot generations can also be presented to students with the help of algorithmization and coding tasks which simulate the behaviour of robots in a programming environment. These activities can prepare students to work with real educational robots or complement the activities they do with them. This article summarizes the opportunities and advantages of the simulation of robot generations, and shows a concrete example of their implementation. Keywords: Robotics, Robot Generations, Simulation, Scratch, RoboMind, VEXcode VR, Virtual Robotics Toolkit, MakeCode for LEGO MINDSTORMS Education EV3 1. Introduction When introducing students to robotics, it is worth assessing the existing knowledge children have about the topic. For that, first we have to define the equipment which children perceive as robots. It can be done in a brainstorming session when we collect the robots they know of and mention some tasks those robots can perform. [1] In these sessions, students often mention everyday objects (e.g. robot vacuum cleaners, robot lawn mowers, humanoid toy robots, industrial robots in an assembly plant, etc.) and fictional robots existing only in films and books (e.g. shape-shifting robots, doctor robots, combat robots). Of course, it is worth clarifying which robots actually exist, and which aspects of fictional robots are rooted in reality.
    [Show full text]
  • Compact Fenwick Trees for Dynamic Ranking and Selection
    Compact Fenwick trees for dynamic ranking and selection Stefano Marchini Sebastiano Vigna Dipartimento di Informatica, Universit`adegli Studi di Milano, Italy October 15, 2019 Abstract The Fenwick tree [3] is a classical implicit data structure that stores an array in such a way that modifying an element, accessing an element, computing a prefix sum and performing a predecessor search on prefix sums all take logarithmic time. We introduce a number of variants which improve the classical implementation of the tree: in particular, we can reduce its size when an upper bound on the array element is known, and we can perform much faster predecessor searches. Our aim is to use our variants to implement an efficient dynamic bit vector: our structure is able to perform updates, ranking and selection in logarithmic time, with a space overhead in the order of a few percents, outperforming existing data structures with the same purpose. Along the way, we highlight the pernicious interplay between the arithmetic behind the Fenwick tree and the structure of current CPU caches, suggesting simple solutions that improve performance significantly. 1 Introduction The problem of building static data structures which perform rank and select operations on vectors of n bits in constant time using additional o(n) bits has received a great deal of attention in the last two decades starting form Jacobson's seminal work on succinct data structures. [7] The rank operator takes a position in the bit vector and returns the number of preceding ones. The select operation returns the position of the k-th one in the vector, given k.
    [Show full text]
  • List of Algorithms
    List of Algorithms Swiss Olympiad in Informatics September 13, 2012 This list contains a few algorithms that may prove useful when solving SOI or IOI related tasks. The current IOI Syllabus can be found here: http://people.ksp.sk/~misof/ioi-syllabus/ioi-syllabus.pdf Please note that this list simply serves as an outline and that tasks are not limited by the algorithms listed below. However, one can also participate (and even be successful) without knowing the algorithms listed below. To guide you better, the most important topics are in bold. • Sorting1 • Binary Search • Data Structures Stack1 Queue1 List: Linked List, Doubly Linked List1 Tree Sets1 and Tree Maps1 (Binary Search Trees) Priority Queue1 Double ended queue1 Binary Heap Data Structure Interval Tree Segment Tree Disjoint{set Data Structure (Union{Find) Rational Numbers Bignum (Addition, Subtraction, Multiplication, Division) Quad Tree optional: Binary Indexed Tree (BIT) (Fenwick Tree) • Graph Algorithms DFS (Depth{First Search) BFS (Breadth{First Search) Connected Components Topological Sorting (toposort) Shortest Path · Dijkstra's Algorithm · Bellman{Ford Algorithm · Floyd{Warshall's Algorithm (all{pairs shortest path) MST (Minimum Spanning Tree) · Kruskal's Algorithm · Prim's Algorithm · Find Articulation Points (articfind) · Hierholzer's Algorithm (for finding Euler cycles) • Dynamic Programming (DP) Prefix Sum Edit Distance LCS (Longest Common Subsequence) LIS (Longest Increasing Subsequence) MCM (Matrix Chain Multiplication) MER (Maximum Empty Rectangle)
    [Show full text]
  • CAIS Author Template
    Indonesian Journal of Informatics Education Research Paper ISSN: 2549-0389 The Use of Robomind Application in Problem Based Learning Model to Enhance Student’s Understanding in the Conceptual Programming Algorithm Anggun Nofitasari Informatics Education Department, Faculty of Teacher Training and Education, Sebelas Maret University [email protected] Rosihan Ari Yuana Dwi Maryono Informatics Education Department,Faculty of Teacher Informatics Education Department, Faculty of Teacher Training and Education,Sebelas Maret University Training and Education,Sebelas Maret University Abstract: The purpose of this research was to improve understanding of basic programming algorithms concept of class X TKJ 1 SMK N 1 Banyudono on Basic Programming lesson using robomind application through Problem Based Learning model. This research was a Classroom Action Research, with research subjects were 33 students of class X TKJ 1 SMK N 1 Banyudono. This research was started by identifying the problems occured in the classroom. Then, we designed actions to solve the problem in a cycle of actions. In this research, the actions were done in two cycles. Each cycle consists of planning, implementation, observation and reflection. Data was collected by observation of the learning activities in the classroom and comprehension tests after each cycle. Analysis of the data was performed using quantitative and qualitative analysis interactive technique. The results showed that the implementation of the Problem Based Learning model using media assistance robomind applications could enhance students' understanding of the program algorithm. It is shown by the completeness of comprehension tests on pre-cycle 37.5%, 44.8% in the first cycle, and 93.3% in the second cycle.
    [Show full text]
  • Teaching Saudi Children How to Code
    INTERNATIONAL JOURNAL OF EDUCATIONAL TECHNOLOGY Meccawy, M. (2017). Raising a programmer: Teaching Saudi children how to Code. International Journal of Educational Technology, 4(2), 56-65. OPEN IJET Original Paper ACCESS Journal homepage: http://educationaltechnology.net/ijet/ Raising a programmer: Teaching Saudi children how to code Maram Meccawy* Faculty of Computer Science & Information Technology, King Abdulaziz University, Saudi Arabia KEYWORDS A B S T R A C T Programming Teaching computer coding to children from a young age provides with them a Arab children competitive advantage for the future in a continually changing workplace. Programming IT strengthens logical and critical thinking as well as problem solving skills, which lead to Software creative solutions for today’s problems. The Little Programmer is an application for E-learning mobile devices that introduces the basic programming concepts to Arab children aged Mobile learning (8-12) years. It aims to develop a sense of coding and its importance among those Visualization children. User trials results showed that the application was helpful and allowed its users Interactive interface to identify the concepts of computer programming with immense curiosity. Moreover, it showed that linking difficult or newer concepts to familiar entities and objects through visualization can facilitate the learner to grasp innovative knowledge. Introduction Technology has enforced a great influence on the daily practices. Many individuals utilize various technologies to improve their lifestyle. IT specialists employ functional tools for performing differential activities efficiently. The basic aim of this study is to identify the awareness level of computer programming among youngsters in Saudi Arabia. Individuals, who are sanctified with creative ideas and possess the necessary technical skills to transform their ideas into reality, have made a great fortune over the last two decades in the IT industry.
    [Show full text]
  • On Updating and Querying Submatrices
    On Updating and Querying Submatrices Jason Yang Mentor: Jun Wan MIT PRIMES Computer Science October 19, 2020 Jason YangMentor: Jun Wan On Updating and Querying Submatrices Range update-query problem A is an array of N numbers A range R = [l; r] is the set of indices fijl ≤ i ≤ rg update(R; v): for all i 2 R, set A[i] to A[i] + v query(R): return mini2R A[i] Segment tree + lazy propagation: O(log N) time updates and queries Jason YangMentor: Jun Wan On Updating and Querying Submatrices Generalizations Using different operators update(R; v): 8i 2 R; A[i] A[i] 5 v query(R; v) : return 4i2R A[i] If 5 and 4 are associative, segment tree + lazy propagation usually works (but not always) Ex. (5; 4) = (+; +) (∗; +) ( ; min) This problem and variants have applications in LCA in a tree image retrieval Jason YangMentor: Jun Wan On Updating and Querying Submatrices Generalizations 2 dimensions: the array becomes a matrix ranges fijl ≤ i ≤ rg becomes submatrices [l0; r0][l1; r1] = fijl0 ≤ i ≤ r0g × fjjl1 ≤ j ≤ r1g We call this the submatrix update-query problem. Jason YangMentor: Jun Wan On Updating and Querying Submatrices Previous Work Generalizing segment tree seems to be very difficult update query d = 1 Segment Tree O(log N) O(log N) d = 2 2D Segment Tree O(N log N) O(log2 N) Quadtree O(N) O(N) d = 2, special operator pairs (5; 4) 2D Fenwick Tree (Mishra) O(16 log2 N) O(16 log2 N) 2D Segment Tree (Ibtehaz) O(log2 N) O(log2 N) 2D Segment Tree (ours) O(log2 N) O(log2 N) Jason YangMentor: Jun Wan On Updating and Querying Submatrices Intuition Why is
    [Show full text]
  • WRITTEN RESPONSE TEST Question and Answer Booklet
    14th International Geography Olympiad Belgrade, Serbia 2–8 August 2017 WRITTEN RESPONSE TEST Question and Answer Booklet Name: ........................................ Team: ............................... Student number 1 4 Do NOT open the Booklet before instructed to do so by a supervisor. Instructions for Students 1. Fill in your name, team and iGeo student number on the front page of this Question and Answer Booklet. 2. Fill in your iGeo student number in the boxes on top of the pages in this Booklet. 3. This test consists of 6 Sections. 4. The maximum total mark is 90. The mark for each question is given in the margin at the beginning of the question. There is a maximum of 15 marks for each Section. 5. Answer all questions in the spaces provided in this Booklet in English. Keep the left margin free for markers. Please write clearly. Please use blue (or black) pen, not pencil. 6. Check the backs of pages as questions are printed on both sides of a page. 7. There are blank pages which you can use as additional space for your notes. Please cross through any notes so that we know they are not part of your answers. If you use these pages for answers, please label them clearly with the Section and question number (e.g. A1). 8. Where appropriate, please write sentences or phrases not single words. 9. Give only the required number of answers (reasons, examples, etc.). For instance, if the question asks for 2 reasons and you give more than 2, only the first 2 reasons will be marked.
    [Show full text]
  • Theoretical and Practical Aspects of Programming Contest Ratings
    Department of Informatics Faculty of Mathematics, Physics and Informatics Comenius University, Bratislava, Slovakia Theoretical and Practical Aspects of Programming Contest Ratings Dizertaèná práca v odbore doktorandského ¹túdia: 11-80-9 teoretická informatika RNDr. Michal Fori¹ek ©koliteľ: prof. RNDr. Branislav Rovan, Ph.D. Bratislava, 2009 iii Acknowledgements First and foremost, I would like to thank my advisor prof. Branislav Rovan for being an exceptional and inspirational teacher and advisor. I'm also grateful to other faculty members { and students { at our university. Thanks to many of them, both studying and teaching here has been a pleasure, and that is one of the factors that significantly influenced my career choices so far. But without any doubt my biggest thanks must go to my fiancée Jana. Without her constant love, support and understanding I would not be able to finish this Thesis. iv Contents Abstract (English) 1 Abstrakt (Slovensky) 3 1 Introduction 5 1.1 Goals of the Thesis . .5 1.2 Outline of this Thesis . .6 1.3 Motivation . .7 2 Background 11 2.1 Programming contests landscape . 11 2.1.1 Important programming contests . 11 2.1.2 Programming contests terminology . 14 2.1.3 Overview of the existing research on competitions . 16 2.2 Rating Systems and Rating Algorithms . 20 2.2.1 Introduction . 21 2.2.2 Overview of the Elo rating system . 22 2.2.3 TopCoder's event format . 23 2.2.4 TrueSkill(TM) rating algorithm . 25 2.2.5 eGenesis rating algorithm . 25 2.3 Item Response Theory . 26 2.3.1 Introduction and motivation .
    [Show full text]
  • PROGRAMMING EXERCISES EVALUATION SYSTEMS an Interoperability Survey
    PROGRAMMING EXERCISES EVALUATION SYSTEMS An Interoperability Survey Ricardo Queirós1 and José Paulo Leal2 1CRACS & INESC-Porto LA & DI-ESEIG/IPP, Porto, Portugal 2CRACS & INESC-Porto LA, Faculty of Sciences, University of Porto, Porto, Portugal Keywords: Learning Objects, Standards, Interoperability, Programming Exercises Evaluation. Abstract: Learning computer programming requires solving programming exercises. In computer programming courses teachers need to assess and give feedback to a large number of exercises. These tasks are time consuming and error-prone since there are many aspects relating to good programming that should be considered. In this context automatic assessment tools can play an important role helping teachers in grading tasks as well to assist students with automatic feedback. In spite of its usefulness, these tools lack integration mechanisms with other eLearning systems such as Learning Management Systems, Learning Objects Repositories or Integrated Development Environments. In this paper we provide a survey on programming evaluation systems. The survey gathers information on interoperability features of these systems, categorizing and comparing them regarding content and communication standardization. This work may prove useful to instructors and computer science educators when they have to choose an assessment system to be integrated in their e-Learning environment. 1 INTRODUCTION These surveys seldom address the PES interoperability features, although they generally One of the main goals in computer programming agree on the importance of the subject, due to the courses is to develop students’ understanding of the comparatively small number of systems that programming principles. The understanding of implement them. This lack of interoperability is felt programming concepts is closely related with the at content and communication levels.
    [Show full text]