3 research outputs found

    Visual Support for Incremental Abstraction and Refinement in Ada 95 - by

    No full text
    GRASP is a software engineering tool which uniquely combines a source code diagramming technique, the control structure diagram (CSD), with other comprehension aids such as complexity visualization, syntax coloring and source code folding. The synergistic combination of these features in GRASP has the potential to be a powerful aid in any activity where source code is expected to be read. The primary focus of GRASP is to improve the comprehension efficiency of software and, as a result, improve reliability and reduce costs during design, implementation, testing, maintenance and reengineering. 1.1 Keywords Software visualization, folding, program understandin

    A comparison of programming notations for a tertiary level introductory programming course

    Get PDF
    Increasing pressure from national government to improve throughput at South African tertiary education institutions presents challenges to educators of introductory programming courses. In response, educators must adopt effective methods and strategies that encourage novice programmers to be successful in such courses. An approach that seeks to increase and maintain satisfactory throughput is the modification of the teaching model in these courses by adjusting presentation techniques. This thesis investigates the effect of integrating an experimental iconic programming notation and associated development environment with existing conventional textual technological support in the teaching model of a tertiary level introductory programming course. The investigation compares the performance achievement of novice programmers using only conventional textual technological support with that of novice programmers using the integrated iconic and conventional textual technological support. In preparation for the investigation, interpretation of existing knowledge on the behaviour of novice programmers while learning to program results in a novel framework of eight novice programmer requirements for technological support in an introductory programming course. This framework is applied in the examination of existing categories of technological support as well as in the design of new technological support for novice programmers learning to program. It thus provides information for the selection of existing and the design of new introductory programming technological support. The findings of the investigation suggest strong evidence that performance achievement of novice programmers in a tertiary level introductory programming course improves significantly with the inclusion of iconic technological support in the teaching model. The benefits are particularly evident in the portion of the novice programmer population who have been identified as being at risk of being successful in the course. Novice programmers identified as being at risk perform substantially better when using iconic technological support concurrently with conventional textual technological support than their equals who use only the latter form. Considerably more at risk novice programmers using the integrated form of technological support are in fact successful in the introductory programming course when compared with their counterparts who use conventional textual technological support only. The contributions of this thesis address deficiencies existing in current documented research. These contributions are primarily apparent in a number of distinct areas, namely: • formalisation of a novel framework of novice programmer requirements for technological support in an introductory programming course; • application of the framework as a formal evaluation technique; • application of the framework in the design of a visual iconic programming notation and development environment; • enhancement of existing empirical evidence and experimental research methodology typically applied to studies in programming; as well as • a proposal for a modified introductory programming course teaching model. The thesis has effectively applied substantial existing research on the cognitive model of the novice programmer as well as that on experimental technological support. The increase of throughput to a recommended rate of 75 percent in the tertiary level introductory programming course at the University of Port Elizabeth is attributed solely to the incorporation of iconic technological support in the teaching model of the course
    corecore