Search

Published After
Published Before

Search Results

  • Expressiveness of programming languages and environments: a comparative study
    111-141
    Views:
    11
    In written and oral communication tools, the support of the understanding of our message have an important role: we can increase the expressiveness and the level of understanding of our topic by approaching it in several ways, i.e. in written methods by highlighting the important parts; in oral by changing tone and other elements of non-verbal communication. In this paper programming languages and developing environments are compared with each other in terms of their methods and their level of support to the solution of programming tasks.
    There is a need to have these tools in programming and, of course, in teaching programming. What are the factors that define the distinctness and the legibility of a program? What are the basic principles which give an instrument in programmers' and students' hands in order to create a properly working program from already existing algorithms in the most efficient way? We search for the answers to these questions in this paper.
  • Teaching multiparadigm programming based on object-oriented experiences
    171-182
    Views:
    18
    Multiparadigm programming is an emerging practice in computer technology. Co-existence of object-oriented, generic and functional techniques can better handle variability of projects. The present paper gives an overview of teaching multiparadigm programming approach through typical language concepts, tools in higher education. Students learning multiparadigm-oriented subjects would gain considerable expertise, which is highly needed by the industrial side in large-scale application development.
  • Methods of teaching programming
    247-257
    Views:
    28
    Programming methodology is one of the oldest fields of IS education, and thus various methods have evolved for its teaching. While some of them could be used effectively in primary or secondary education, others are more suited for students in higher education. The methods themselves determine the structure and curricula of courses such as Programming methodology, Data types and algorithms, Programming technology.
  • How to use our own program evaluation system to streamline teaching computer programming
    73-80
    Views:
    11
    During computer programming contests the use of automatic evaluation systems is becoming more and more frequent. In said systems the contestants are allowed to submit their source code that will be evaluated with the results reported back to them. According to this report the contestant can realise for what test cases his program works properly and for what cases does it fail. This kind of on-line evaluation system is used for example in the International Olympiad in Informatics (IOI), in the final round of the Nemes Tihamér National Programming Competition, and in the Selection Competition for IOI in Hungary. A contest management system can be used for other purposes apart from this singular example. A well-developed evaluation system can foster not only the teaching of computer programming and the preparation of students for programming contests but the teacher's work as well.
  • 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.
  • 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.
  • New style in teaching word processing
    417-426
    Views:
    15
    Teaching word processing is confined to looking through some menus and showing some functions of a word processor program, although technology presents just a small part of forming layouts. This fact causes that people who are writing documents spend a lot of time by trying to form, e.g., title pages or inner pages.
    The present paper deals with a design of an online course on word processing that fits better the needs of many users. The online course is designed for teaching (LA)TEX by leading the students to the technical issues of the typesetting system through layout and grammar rules: demonstrates the most important basic recommendations of typography and grammar rules through samples, and shows how to program the currently displayed layout in the (LA)TEX programming languages. This methodology suits better the common working habit, and can be a useful help in word processing documents.
  • Integrating elements of data science into high-school teaching: Naïve Bayes-classification algorithm and programming in Python
    307-316
    Views:
    85

    Probability theory and mathematical statistics are traditionally one of the most difficult chapters of mathematics to teach. One of the authors, Péter Princz has experience in teaching various topics via computer programming of the problem at hand as a class activity. The proposed method is to involve programming as a didactic tool in hard-to-teach topics. The intended goal in this case is to implement a naïve Bayes-classifier algorithm in Python and demonstrate the machine-learning capabilities of it by applying it to a real-world dataset of edible or poisonous mushrooms. The students would implement the algorithm in a playful and interactive way. The proposed incremental development process aligns well with the spirit of Tamás Varga who considered computers as modern tools of experimental problem solving as early as in the 1960s.

    Subject Classification: 97D40, 97D50, 97K50, 97K99, 97M60, 97P40, 97P50, 97U50

  • Analysing the effects of OOP helper application
    65-75
    Views:
    6
    Nowadays students of secondary schools are familiar with the usage of computer very soon, lot of them are even capable of handling user applications very cleverly. This is satisfying for most of them. Those who imagine their future in programming or system developing, need to have deeper knowledge about object oriented programming, however, students do have it at very low level or not at all. We want to make sure whether this suppose is true, so different examinations have recently been made at Slovakian secondary schools with Hungarian teaching language. We have reached a conclusion that the students' knowledge of object oriented programming is deficient. We could achieve better results by using proper applications as a visual aid. In this paper we examine the efficiency of an application made by us.
  • Teaching graph algorithms with Visage
    35-50
    Views:
    10
    Combinatorial optimization is a substantial pool for teaching authentic mathematics. Studying topics in combinatorial optimization practice different mathematical skills, and because of this have been integrated into the new Berlin curriculum for secondary schools. In addition, teachers are encouraged to use adequate teaching software. The presented software package "Visage" is a visualization tool for graph algorithms. Using the intuitive user interface of an interactive geometry system (Cinderella), graphs and networks can be drawn very easily and different textbook algorithms can be visualized on the graphs. An authoring tool for interactive worksheets and the usage of the build-in programming interface offer new ways for teaching graphs and algorithms in a classroom.
  • "Frontier algorithms"
    139-152
    Views:
    6
    In this paper we present a new method to compare algorithm design strategies. As in case of frontier towns the cultures blend, the so called "frontier algorithms" are a mixture of different programming techniques like greedy, backtracking, divide and conquer, dynamic programming. In case of some of them the frontier character is hidden, so it has to be discovered. There are algorithms that combine different techniques purposively. Furthermore, determining the programming technique the algorithm is using can be a matter of point of view. The frontier algorithms represent special opportunities to highlight particular characteristics of the algorithm design strategies. According to our experience the frontier algorithms fit best to the revision classes.
  • The single-source shortest paths algorithms and the dynamic programming
    25-35
    Views:
    14
    In this paper we are going to present a teaching—learning method that help students look at three single-source shortest paths graph-algorithms from a so called "upperview": the algorithm based on the topological order of the nodes, the Dijkstra algorithm, the Bellman-Ford algorithm. The goal of the suggested method is, beyond the presentation of the algorithms, to offer the students a view that reveals them the basic and even the slight principal differences and similarities between the strategies. In order to succeed in this object, teachers should present the mentioned algorithms as cousin dynamic programming strategies.
  • Teaching Java programming using case studies
    245-256
    Views:
    2
    The paper deals with the technical background and the pedagogical issues of a specific implementation for the collection, assessment and archiving of the students' assignments written in Java. The implemented system automatically applies object-oriented metrics on the collected works in order to measure the characteristic features of the assignments. Tutors use these results for the detection of plagiarisms and for the selection of outstanding works. The paper interprets the measured values within a real Java course held in the 3rd term of the Informatics bachelor study programme at the technical university. Students have several case studies devoted to the simulation of the ATM (Automatic Teller Machine) at disposal. We conclude that the access to the analyzed pool of case studies, blended with the Sun Learning Connection license from the Sun Microsystems, Inc., is an effective way of teaching programming in Java.
  • "Upperview" algorithm design in teaching computer science in high schools
    221-240
    Views:
    11
    In this paper we are going to present a teaching/learning method and suggest a syllabus that help the high school students look at the algorithm design strategies from a so called "upperview": greedy, backtracking, divide and conquer, dynamic programming. The goal of the suggested syllabus is, beyond the presentation of the techniques, to offer the students a view that reveals them the basic and even the slight principal differences and similarities between the strategies. In consensus with the Comenius principle this is essential, if we want to master this field of programming ("To teach means scarcely anything more than to show how things differ from one another in their different purposes, forms, and origins. ... Therefore, he who differentiates well teaches well.").
  • Software engineering education in cooperation with industrial partners
    133-148
    Views:
    8
    This paper presents our experiences on teaching software engineering in teams which are organized around different R+D projects. These long-running, innovative projects are carried out in cooperation with industrial partners, and are supported by student exchange. While MSc and PhD students work together with faculty staff members on the projects in an industrial-like environment, the students develop skills that would be otherwise very hard for them to obtain. The methodological contributions of the paper are illustrated by, and substantiated with, the description of a concrete software engineering project.
  • Delusions in informatics education
    151-161
    Views:
    9
    In the following article our intention is to try to introduce the negative ideas that exist today in Hungary regarding informatics education within the secondary education system. [Zs] As far as we know, these delusions are characteristic of not only Hungary, but we believe that we should look for our own mistakes, that is why we refer to Hungarian examples.
    We have examined the informatic knowledge taught in the first 10 years of secondary education, the possible curriculum of the general informatics subject.
    To reach our aim, first we have to deviate a bit from our original topic, because without this, it would be more difficult to understand the core subject of the article. In the deviation we will explain what is called informatics, what is called informatics subject. Then we will deal with the main topic and in the summary we will explain what we believe is the aim of general informatics education.
  • Cultivating algorithmic thinking: an important issue for both technical and HUMAN sciences
    107-116
    Views:
    9
    Algorithmic thinking is a valuable skill that all people should master. In this paper we propose a one-semester, algorithm-oriented computer science course for human science students. According to our experience such an initiative could succeed only if the next recipe is followed: interesting and practical content + exciting didactical methods + minimal programming. More explicitly, we suggest: (1) A special, simple, minimal, pseudo-code like imperative programming language that integrates a graphic library. (2) Interesting, practical and problem-oriented content with philosophical implications. (3) Exciting, human science related didactical methods including art-based, inter-cultural elements.
  • Algorithmics of the knapsack type tasks
    37-71
    Views:
    5
    We propose a new kind of approach of the teaching of knapsack type problems in the classroom. We will remind you the context of the general knapsack-task and we will classify it, including the two most popular task variants: the discrete and the continuous one. Once we briefly present the solving algorithm of the continuous variant, we will focus on the solving of the discrete task, and we will determine the complexity of the algorithms, looking for different optimizing possibilities. All these issues are presented in a useful way for highschool teachers, who are preparing students in order to participate in different programming contests.
  • Shall we use one more representation? Suggestions about establishing the notion of recursion in teaching informatics in primary schools
    209-229
    Views:
    8
    Among the most prominent developmental tasks of primary school education one finds increasing pupils' cognitive capacity with especial regard to observing, interpreting, coding and proving skills, which form an integral part of information and communication culture.
    Info-technology (problem solving with the tools and methods of informatics), a subject matter within informatics, provides outstanding opportunities to reach the aims outlined above.
    This study presents methodological ideas related to the subfield Algorithmization and data modelling of Info-technology. More specifically, it presents teaching methods to be applied while establishing the notion of recursion in grades 3–8 of primary education, and at the same time it also focuses on various realization possibilities of the prominent developmental tasks mentioned above.
  • An interactive animation for learning sorting algorithms: How students reduced the number of comparisons in a sorting algorithm by playing a didactic game
    45-62
    Views:
    8
    Learning programming and understanding algorithms is one of the hardest tasks for novice computer science students. One of the basic algorithms they learn during the introductory programming and algorithms courses are the sorting algorithms. Students like learning these and other algorithms by animations and didactic games, however, these animations are not educationally useful in every case. In this article, we present our educational sorting game, which can be used to introduce the topic of sorting algorithms. The didactic game can be used later too, as a demonstrative tool for explaining the more efficient, quicksort algorithm. We conducted a pedagogical experiment, in which we examined the process of development of sorting algorithms by students while they used the mentioned didactic game. The results showed that students were able to create an algorithm to solve the sorting problem, and they improved its effectiveness by reducing the number of comparisons in the algorithm. They were also able to understand the importance of the efficiency of algorithms when we demonstrated them the quicksort algorithm using the same tool after the experiment.
  • A didactic analysis of merge sort
    195-210
    Views:
    4
    Due to technical difficulties, educators teaching merge sort often avoid the analysis of the cost in the general and average cases. Using basic discrete mathematics, elementary real analysis and mathematical induction, we propose a self-contained derivation of bounds αn log_2 n + βn + γ in all cases. Independent of any programming language or pseudo-code, supported by intuitive figures, it is suitable for informatics students interested in the analysis of algorithms. It is also a good exercise in showing that induction allows us to actually discover constants, instead of simply checking them a posteriori.
  • 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 integral transforms in secondary schools
    241-260
    Views:
    10
    Today, Hungarian students in the secondary schools do not know the idea of complex numbers, and they can not integrate except those ones who learn mathematics in advance level. Without this knowledge we can teach Fourier transform for students. Why should we teach Fourier transform (FT) or Wavelet transform (WT) for them? To teach image file formats like JPEG, (JPEG2000) we need to talk about integral transforms. For students who are good in computer programming, writing the program of 1D FT or 2D FT is a nice task. In this article we demonstrate how we can teach Fourier and Wavelet transform for students in secondary school.
  • Young women's barriers to choose IT and methods to overcome them - A case study from Hungary
    77-101
    Views:
    159

    Women's scarcity in the STEM, especially in the IT sector is pronouncedly evident. Young women are obstructed from entering and remaining in IT by a broad range of social, educational, and labor market factors. In our paper, we would like to analyze the main barriers girls face in choosing IT, while also proposing potential methods to help them overcome these obstacles. In the second part of the paper, we will present a case study to illustrate in detail how the combination of the above methods can be put into practice to address and tackle the complex set of barriers girls face. We will first introduce a Hungarian annual program, Girls' Day ("Lányok napja"), specifically aimed to promote STEM to girls, then we will present two specific events organized for the 2020 edition of the program and designed with the above principles in mind. The interactive presentation, exposing girls to female role models of the field in a gamified way, and a game development exercise, building Scratch programming skills, have attempted to provide young women both with positive perspectives and experiences in IT, which are instrumental in helping them to surmount entrenched obstacles and raise their interest in the field.

    Subject Classification: 97P10, 97U30