Search

Published After
Published Before

Search Results

  • Programming Theorems and Their Applications
    213-241
    Views:
    117

    One of the effective methodological approaches in programming that supports the design and development of reliable software is analogy-based programming. Within this framework, the method of problem reduction plays a key role. Reducing a given problem to another one whose solving algorithm is already known can be made more efficient by the application of programming theorems. These represent proven, abstract solutions – in a general form – to some of the most common problems in programming. In this article, we present six fundamental programming theorems as well as pose five sample problems. In solving these problems, all six programming theorems will be applied. In the process of reduction, we will employ a concise specification language. Programming theorems and solutions to the problems will be given using the structogram form. However, we will use pseudocodes as descriptions of algorithms resembling their actual implementation in Python. A functional style solution to one of the problems will also be presented, which is to illustrate that for the implementation in Python, it is sufficient to give the specification of the problem for the design of the solution. The content of the article essentially corresponds to that of the introductory lectures of a course we offered to students enrolled in the Applied Mathematics specialization.

    Subject Classification: D40

  • Programming theorems on enumerator
    89-108
    Views:
    36
    This paper deals with the examination of the programming patterns best known by programmers: the programming theorems. It is a significant issue that in what way these patterns can be formulated in order to solve a relatively broad spectrum of problems using a small number of patterns. In this paper, the well known programming theorems are applied to the processing of enumerators. To this end, the robustness of patterns gained this way will be presented, and it will be also pointed out how the programs thus constructed can be implemented in the modern object-oriented programming environments: in language C++, Java and C#.
  • Live & Learn: When a wrong program works
    195-208
    Views:
    26
    In this paper an interesting and surprising case study of my programming education practice is presented. This case underlines the importance of methods, standards and rules of thumb of the programming process. These elements of the programming technology can be taught well in education and they can guarantee the quality of the implemented programs. However the case described in this paper brings an anomaly when a programming standard is violated during the programming process and, although it should imply that the implemented program code works badly, the program works perfectly. This anomaly is caused by a typical implementation problem: the boundary and rules of the machine representation of numbers. This anomaly is going to be analyzed and the appropriate conclusions of our case study will be deducted.
  • Force of summation
    185-199
    Views:
    25
    Programming theorems are important tools of programming methodology. By using analogous programming techniques, the solutions of different tasks can be created easily and fast based on programming theorems. Perhaps the summation is the simplest programming theorem that is widely-known among the programmers but once and for all the most various tasks can be solved by this theorem. The aim of the present paper is to investigate the summation programming theorem. Several different abstract levels of this theorem will be defined and the problem types that can be solved based on summation are going to be described. We will underline those points of a programming theorem that make a theorem general and that are not defined in advance, just later during its application, when the solution of a problem is derived from the theorem.
  • Analogous programming with a template class library
    135-152
    Views:
    43
    In this paper, a template class library and its usage can be read. The classes of the library contain the C++ code of the algorithm of programming theorems. This library supports the implementation of the programs that are planned by analogous programming but the primary aim of its usage is to introduce the object-oriented programming style to show how a reusable code can be written with inheritances, overriding virtual methods, composition of objectcs and template parameters.
  • How to teach testing?
    215-232
    Views:
    22
    Testing methodology is an important part of IT education. It is desired to show the beginner programmer students the advantage of testing by having them do only a small amount of work. In this paper, we will show how to make testing as a part of programming in simple exercises. These exercises are solved with the analogous programming technique, which is based on programming theorems over enumerators. We have elaborated grey-box test cases for the programs which have been developed based on programming theorems. These test cases can be taught together with the programming theorems, and they can serve as a standard testing procedure for programmers. We also suggest a test tool to automatize test runs, and we will discuss its usage in a short case study.