Search

Published After
Published Before

Search Results

  • A proposal for an IOI Syllabus
    193-216
    Views:
    45
    The International Olympiad in Informatics (IOI) is the premier competition in computing science for secondary education. The competition problems are algorithmic in nature, but the IOI Regulations do not clearly define the scope of the competition. The international olympiads in physics, chemistry, and biology do have an official syllabus, whereas the International Mathematical Olympiad has made the deliberate decision not to have an official syllabus. We argue that the benefits of having an official IOI Syllabus outweigh the disadvantages. Guided by a set of general principles we present a proposal for an IOI Syllabus, divided into four main areas: mathematics, computing science, software engineering, and computer literacy.
  • A first course in computer science: languages and goals
    137-152
    Views:
    10
    The College Board Advanced Placement exam in computer science will use the language Java starting in fall 2003. The language chosen for this exam is based on the language commonly taught in introductory computer science courses at the university level. This article reviews the purpose of an introductory course and the various suggestions for the curriculum of introductory courses published by the Association for Computing Machinery. It then proposes that such a course stress foundational concepts over specific language syntax, and then provides a list of such foundational concepts and related topics. Based on this fundamental curriculum, the article recommends C++ as the most appropriate language. An appendix provides a sample syllabus.
  • A Nim like game and a machine that plays it: a learning situation at the interface of mathematics and computer science
    317-326
    Views:
    96

    The purpose of this work is to take a didactic look at a learning situation located at the interface between mathematics and computer science. This situation offers a first approach to the concept of artificial intelligence through the study of a reinforcement learning device. The learning situation, inspired by the Computer Science Unplugged approach, is based on a combinatorial game, along with a device that learns how to play this game. We studied the learning potential when the human players face the machine. After an a priori analysis using the Theory of Didactic Situations (TDS), we conducted a pre-experiment in order to strengthen our hypotheses. In this article, we will focus on the analysis of the didactic variables, the values we have chosen for these variables and their effects on students’ strategies.

    Subject Classification: 97D99, 97K99, 97P80

  • Mechanisms for teaching introductory programming using active learning
    407-421
    Views:
    12
    One of the requirements of teaching introductory programming to students whose branch of learning is engineering or science is bridging the gap between in-class lectures and real-world applications. Traditional passive approaches to lecturing often focus on the syntax of a language with little or no discussion of the process involved in using the language to design algorithms to solve real-world problems. One way of overcoming the limitations of traditional lecturing is by tailoring lectures towards becoming more student-oriented, a pedagogical methodology known as active learning. This paper explores mechanisms for implementing active learning in introductory programming courses in computer science.
  • Fibonacci beyond binary recursion
    173-185
    Views:
    8
    The Fibonacci series is a classical algorithm taught in computer science, usually implemented in some programming language. It is hard to find a programming textbook which doesn't touch on Fibonacci, and it's most common use is in the illustration of binary recursion. There are also many ways of tailoring the basic algorithm in order to implement it. This paper discusses some novel algorithms, which help address some of the limitations of binary recursion, but also illustrate how differing algorithms can be pedagogically beneficial. We introduce a simple algorithm for accurately calculating any Fibonacci number.
  • Difference lists in Prolog
    73-87
    Views:
    7
    Prolog is taught at Bradford University within the two-semester module Symbolic and Declarative Computing/Artificial Intelligence. Second year undergraduate students are taught here the basics of the functional and the logic programming paradigms, the latter by using the Linux implementation of SWI Prolog [6]. The topic 'Difference lists' is mentioned in traditional textbooks such as [2] and [5] but it was felt that the available texts do not quite serve our purposes. We present here a lecture handout and a laboratory sheet for the teaching sessions on Difference lists. It is believed that the lectures and lab sessions together with the handouts shown here are a gentle, self-contained and reasoned introduction into the topic. The figures here shown to illustrate the concepts are considered a special feature of the handouts which in this form do not seem to be well known.
  • Teaching XML
    317-335
    Views:
    9
    The author has been teaching XML at the Faculty of Informatics, University of Debrecen since the end of the nineties. This paper gives an overview of XML technology from an educators viewpoint that is based on the experience that the author has gained teaching XML over the years. A detailed description of the XML course is provided. Methodological issues are also discussed.