Advertisement

Research and Advances

A diagnosis of beginning programmers’ misconceptions of BASIC programming statements

In the process of learning a computer language, beginning programmers may develop mental models for the language. A mental model refers to the user's conception of the “invisible” information processing that occurs inside the computer between input and output. In this study, 30 undergraduate students learned BASIC through a self-paced, mastery manual and simultaneously had hands-on access to an Apple II computer. After instruction, the students were tested on their mental models for the execution of each of nine BASIC statements. The results show that beginning programmers—although able to perform adequately on mastery tests in program generation—possessed a wide range of misconceptions concerning the statements they had learned. This paper catalogs beginning programmers' conceptions of “what goes on inside the computer” for each of nine BASIC statements.
Research and Advances

The fifth generation project — a trip report

As part of Japan's effort to become a leader in the computer industry, the Institute for New Generation Computer Technology has launched a revolutionary ten-year plan for the development of large computer systems which will be applicable to knowledge information processing systems. These Fifth Generation computers will be built around the concepts of logic programming. In order to refute the accusation that Japan exploits knowledge from abroad without contributing any of its own, this project will stimulate original research and will make its results available to the international research community.
Research and Advances

An empirical study of insertion and deletion in binary search trees

This paper describes an experiment on the effect of insertions and deletions on the path length of unbalanced binary search trees. Repeatedly inserting and deleting nodes in a random binary tree yields a tree that is no longer random. The expected internal path length differs when different deletion algorithms are used. Previous empirical studies indicated that expected internal path length tends to decrease after repeated insertions and asymmetric deletions. This study shows that performing a larger number of insertions and asymmetric deletions actually increases the expected internal path length, and that for sufficiently large trees, the expected internal path length becomes worse than that of a random tree. With a symmetric deletion algorithm, however, the experiments indicate that performing a large number of insertions and deletions decreases the expected internal path length, and that the expected internal path length remains better than that of a random tree.
Research and Advances

A generalized control structure and its formal definition

A new programming language control structure as well as an improved approach to a formal definition of programming languages are presented. The control structure can replace both iteration and conditional structures. Because it is a semantic generalization of those structures, a single statement using the new control structure can implement the functions of loops, conditionals, and also programs that would require several conventional constructs. As a consequence of this increased capability, it is possible to write algorithms that are simpler, more efficient, and more clearly correct than those that can be written with earlier structured-programming control structures. In order to provide a precise definition of the new constructs, a new version of relational semantics, called LD-relations is presented. An algebra of these relations is developed and used to define the meaning of the new constructs. A short discussion of program development and the history of control structures is included.
Research and Advances

An overview of the proposed american national standard for local distributed data interfaces

The Local Distributed Data Interface (LDDI) Project of X3 Technical Committee X3T9 has resulted in three draft proposed American National Standards for a high performance local area network. The proposed standards are organized in accordance with the ISO Reference Model for Open Systems Interconnection and encompass the lowest two protocol layers (data link and physical) of the model, plus a serial broadband coaxial bus interface. The intended application of the LDDI is as a backend network for the interconnection of high performance CPUs and block transfer peripherals such as magnetic disk and tapes. A carrier-sense multiple access with collision prevention (CSMA-CP) distributed bus arbitration protocol is employed. The cable interface supports the attachment of up to 28 ports over a cable distance of 0.5 km (8 ports may be attached to a 1 km cable) at a transfer rate of 50 Mbit/s.
Research and Advances

The economics of designing generalized software

The choice of the attributes to be incorporated in a generalized software package is a complex design task, much like the choice of the characteristics of the basic model and the options to be offered when a new automobile is being designed. Some empirical evidence available suggests that the choices made by generalized software designers are not always well founded; for example, some functions included in the software are hardly, if ever, used, while functions that would be used extensively are not available. To assist the designer, we formulate a market model showing the interactions between the producers (designers) of generalized software and the consumers (users) of generalized software. The model provides insight into those factors that affect the demand for a package and the variables to be considered in a profit-maximizing decision.
Research and Advances

Audit considerations in distributed processing systems

Applications of distributed processing networks are proliferating rapidly. It is expected that by the year 2000, distributed networks will be one of the most significant developments to evolve from the computer revolution. Distributed networks are unique in that they bring together concepts of communication, engineering, and computing. From an audit standpoint, the complexities involved in control design and testing are challenging. The auditor needs to be knowledgeable concerning these complexities in order to apply the proper audit tools, particularly since some of these tools are in need of improvement or development. This paper provides a summary of important areas of audit concern in distributed processing systems.
Research and Advances

A second look at bloom filters

This note deals with a paper by Gremillion demonstrating the simulation approach to the design of a Bloom filter. It is shown that an analytical approach can yield insights into competing filter design and give expected values for the goodness-of-hash transformations not available with simulation. On the other hand, simulation gives insight into what can be expected with available hash transformation not available from an analytic approach.
Research and Advances

Precision averaging for real-time analysis

An analysis of the computation of the arithmetic mean using only single-precision fixed-point arithmetic is presented. This is done to ease the timing constraints common to many on-line applications. Others have introduced several averaging algorithms in floating-point arithmetic for use in inferential statistics. In this paper, these algorithms are evaluated with respect to their feasibility as fixed-point methods in the context of real-time analysis. Modifications of these algorithms are presented, and previously unpublished ones are introduced in the interest of avoiding overflow (necessary) and minimizing truncation errors (highly desirable). All algorithms presented are tested for speed and accuracy on several sets of data, including their own “worst case.” The applicability of each algorithm is discussed with respect to some of the basic functions that real-time programs must perform.
Research and Advances

Natural command names and initial learning: a study of text-editing terms

In the first of two studies of “naturalness” in command names, computer-naive typists composed instructions to “someone else” for correcting a sample text. There was great variety in their task-descriptive lexicon and a lack of correspondence between both their vocabulary and their underlying conceptions of the editing operations and those of some computerized text editors. In the second study, computer-naive typists spent two hours learning minimal text-editing systems that varied in several ways. Lexical naturalness (frequency of use in Study 1) made little difference in their performance. By contrast, having different, rather than the same names for operations requiring different syntax greatly reduced difficulty. It is concluded that the design of user-compatible commands involves deeper issues than are captured by the slogan “naturalness.” However, there are limitations to our observations. Only initial learning of a small set of commands was at issue and generalizations to other situations will require further testing.
Research and Advances

A hierarchical data structure for multidimensional digital images

A tree data structure for representing multidimensional digital binary images is described. The method is based on recursive subdivision of the d-dimensional space into 2d hyperoctants. An algorithm for constructing the tree of a d-dimensional binary image from the trees of its (d - 1 )-dimensional cross sections is given. The computational advantages of the data structure and the algorithm are demonstrated both theoretically and in application to a three-dimensional reconstruction of a human brain.
Research and Advances

Human factors guidelines for terminal interface design

This paper provides a set of guidelines for the design of software interfaces for video terminals. It describes how to optimize screen layouts, interactive data entry, and error handling, as well as many practical techniques for improving man-machine interaction. Emphasis is placed on factors relating to perceptual and cognitive psychology rather than on gross physiological concerns. Ways in which interfaces can be evaluated to improve their user friendliness are also suggested. The author summarizes many ideas that can be found in other, more comprehensive texts on the subject. These guidelines will provide practicing software designers with useful insights into some of today's principal terminal interface design considerations.
Research and Advances

Flowcharts versus program design languages: an experimental comparison

An experiment was performed to assess the relative merits of program design languages (PDLs) and flowcharts as techniques for the development and documentation of detailed designs for computer programs. The use of a PDL by a software designer, for the development and description of a detailed program design, produced better results than did the use of flowcharts. Specifically, the designs appeared to be of significantly better quality, involving more algorithmic or procedural detail, than those produced using flowcharts. In addition, flowchart designs exhibited considerably more abbreviation and other space-saving practices than did PDL designs, with a possible adverse effect on their readability. When equivalent, highly readable designs were presented to subjects in both PDL and flowchart form, no pattern of short-term or long-term differences in comprehension of the design was observed. No significant differences were detected in the quality or other properties of programs written as implementations of the designs. Subjective ratings indicated a mild preference for PDLs. Overall, the results suggest that software design performance and designer-programmer communication might be significantly improved by the adoption of informal PDLs rather than flowcharts as a standard documentation method for detailed computer program designs.
Research and Advances

Power, politics, and MIS implementation

Theories of resistance to management information systems (MIS) are important because they guide the implementation strategies and tactics chosen by implementors. Three basic theories of the causes of resistance underlie many prescriptions and rules for MIS implementation. Simply stated, people resist MIS because of their own internal factors, because of poor system design, and because of the interaction of specific system design features with aspects of the organizational context of system use. These theories differ in their basic assumptions about systems, organizations, and resistance; they also differ in predictions that can be derived from them and in their implications for the implementation process. These differences are described and the task of evaluating the theories on the bases of the differences is begun. Data from a case study are used to illustrate the theories and to demonstrate the superiority, for implementors, of the interaction theory.
Research and Advances

A general purpose data entry program

Simulations constitute an important family of computer applications in science and engineering. To perform each simulation run, it is usually necessary to provide extensive data specifying the parameters of the simulation as well as data which support the calculation models involved. We have designed a program and a file structure that provides a method for convenient data entry, and creates and edits data files according to specifications contained in a separate file that serves as a template. By providing different templates, the same program can be made to serve numerous applications. The structure of the data files allows a degree of flexibility difficult to achieve using conventional database systems.
Research and Advances

A real-time garbage collector based on the lifetimes of objects

In previous heap storage systems, the cost of creating objects and garbage collection is independent of the lifetime of the object. Since objects with short lifetimes account for a large portion of storage use, it is worth optimizing a garbage collector to reclaim storage for these objects more quickly. The garbage collector should spend proportionately less effort reclaiming objects with longer lifetimes. We present a garbage collection algorithm that (1) makes storage for short-lived objects cheaper than storage for long-lived objects, (2) that operates in real time—object creation and access times are bounded, (3) increases locality of reference, for better virtual memory performance, (4) works well with multiple processors and a large address space.
Research and Advances

Prototyping interactive information systems

Applying prototype-oriented development processes to computerized application systems significantly improves the likelihood that useful systems will be developed and that the overall development cycle will be shortened. The prototype development methodology and development tool presented here have been widely applied to the development of interactive information systems in the commercial data processing setting. The effectiveness and relationship to other applications is discussed.
Research and Advances

DOCUMENTS: an interactive online solution to four documentation problems

An adequate delivery system for user documentation addresses the problems of easy access, versatile publication, convenient administration, and good document quality. At the National Magnetic Fusion Energy Computer Center the DOCUMENT program helps solve these problems by providing a high level of service through strategies that can readily be exported to other contexts. Dividing machine-readable documents into keyword windows permits fully online, subject-oriented access to all passages. An adaptive, three-tier user interface extends flexible viewing control to novices and experts alike. DOCUMENT also supports online subject, title, and date catalogs, and provides on-demand output of hardcopy and microfiche. Several other document delivery systems are compared with DOCUMENT, and all have more rigid human interfaces, more structural display units for text, or more cumbersome output options.
Research and Advances

Math proficiency: a key to success for computer science students

A computer science aptitude predictor was administered to students enrolled in a first technical course in computer science to determine potential for success. The study revealed significant differences in the scoring between students who withdrew from the course and those students who did not. The causes for the differences all related to the students' mathematical background: high school performance, previous computer science education, and the number of college mathematics courses taken.
Research and Advances

The dynamics of software project scheduling

Software project scheduling is one of the major problem areas faced by software project managers today. While several quantitative software project resource and schedule estimation methods have been developed, such techniques raise some important, but as yet unresolved, dynamic issues. A systems dynamics (SD) approach is used to analyze several key dynamic software project scheduling issues.
Research and Advances

ACL: a language specific for auditors

Audit software is essential for accountants. The software should be written to consolidate the audit support functions into a common language for management information systems (MIS). ACL (Audit Command Language) is a prototype language for designing a feasible interactive conversational language for auditing purposes.
Research and Advances

A general-purpose algorithm for analyzing concurrent programs

Developing and verifying concurrent programs presents several problems. A static analysis algorithm is presented here that addresses the following problems: how processes are synchronized, what determines when programs are run in parallel, and how errors are detected in the synchronization structure. Though the research focuses on Ada, the results can be applied to other concurrent programming languages such as CSP.

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More