Search
Search Results
-
Programming Theorems and Their Applications
213-241Views:117One 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
-
Force of summation
185-199Views:25Programming 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. -
Programming theorems on enumerator
89-108Views:36This 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#. -
How to teach testing?
215-232Views:22Testing 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. -
Analogous programming with a template class library
135-152Views:43In 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. -
Methods of teaching programming
247-257Views:47Programming 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. -
A case study of the integration of Algorithm Visualizations in Hungarian programming education
51-66Views:127In this study, I will introduce how Algorithm Visualizations (AV) can help programming education or, in this case, the acquisition of basic programming theorems. I used two di erent methods to test this: in the first round, I examined in a larger group how much the students' ability to solve specific tasks changes after being introduced to a visualization tool, and then, what was their motivation and experience during this process. In the second round, I looked for the components that could be important when choosing a tool with the help of an in-depth interview with a smaller number of individuals. In both cases, I describe the research, experience, and results of the study, and then summarize them at the end.
Subject Classification: 97P10