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

  • Decision based examination of object-oriented programming and Design Patterns
    83-109
    Views:
    28
    On the basis of our examination experience of Design Patterns the existing interpretations and descriptions of Design Patterns do not realise a clear and understandable answer for their aims. The reason for this is that the existing interpretation of the object-oriented paradigms is used for their description and formulation. In order that clear answers could be found for the aims of using Design Patterns, a new conception of their interpretation has to be established. In order to create a new conception, we have to analyze object-oriented paradigms.
    According to our new conception the object-oriented methodology is based on the elimination of decision repetition, thus sorting the decisions to class hierarchy, with the help of which the data structure and methodology of decision options can be determined by the subclasses of the given class. Sorting the decisions and decision options to a class and its subclasses only the first decision case will be executed, which will be archived and enclosed by instantiation of one of the subclasses. For the following decision cases the archived decision result can be used without knowledge of which decision option was used, so to say which subclass was instantiated, because it is enclosed by using the type of the parent class.
    The aim of the object-oriented technology is the elimination of decision repetition, which can be realized by sorting the decisions. The derivations are the abstract definitions of decisions, so the derivations can be interpreted as decision abstractions. The Design Patterns offer recipes for sorting the decisions. With the help of the decision concept the aim of Design Patterns can be cleared and a more natural classification of Design Patterns can be realized.