January 1977 - Vol. 20 No. 1

January 1977 issue cover image

Features

Research and Advances

Structured programming in Cobol: an approach for application programmers

Techniques for designing and writing Cobol programs are presented. Previous work in structured programming is drawn upon and adapted. The presentation is informal: the terminology is nonmathematical as far as possible, no theorems are proved, and examples are used frequently. Top-down program design is implemented through the use of structured flowcharts, disciplined specifications, and step by step verification. A well-formed Cobol program is defined. The proper use of the GO TO and other Cobol coding practices are discussed.
Research and Advances

A survey of the literature in computer science education since curriculum ’68

A bibliography of approximately two hundred references in computer science education appearing in the literature since the publication of “Curriculum '68” is presented. The bibliography itself is preceded by brief descriptive materials organizing the references into the categories of survey reports, activities of professional organizations, philosophy of programs, description of programs, description of courses and other materials.
Research and Advances

A record and file partitioning model

One of the main objectives in the design of a file system is the reduction of storage and data transfer costs. This paper presents a model in which several requests access the file system, and each request requires information from one or more variable length data-items. The probabilities of access and the distribution of each data-item's length are assumed to be known, and to be mutually independent. The file system uses one or more storage devices, and each record may be partitioned into subrecords that are stored on different devices. One of the subrecords is designated as the primary record; when a request for a record is made, the primary record is first accessed, and other sub-records are accessed only if the pertinent information is not stored in the primary record. The model that is presented in this paper, both as a nonlinear programming model and a mixed integer programming model, is a very general one; several types of file systems may be derived from it by an appropriate selection of its parameters. This model has already been used in the optimization of library routines' storage at a large scale operating system.
Research and Advances

Detection of combined occurrences

In this paper it is supposed that the variables x1, … , xn each have finite range with the variable xi taking on pi possible values and that the values of the variables are changing with time. It is supposed further that it is desired to detect occurrences in which some subset of the variables achieve particular values. Finally, it is supposed that the problem involves the detection of a large number of combined occurrences for a large number of changes of values of variables. Two efficient solutions for this problem are described. Both methods have the unusual property of being faster for systems where the sum p1 + … + pn is larger. The first solution is error-free and suitable for most cases. The second solution is slightly more elegant and allows negation as well as conjunction, but is subject to the possibility of errors. An error analysis is given for the second method and an empirical study is reported.
Research and Advances

Segment sizes and liftetimes in Algol 60 programs

The characteristics of the virtual memory requirements of a sample of Algol 60 programs have been measured. Distributions are presented for the sizes of memory requests and for their holding times (lifetimes). The results are presented in terms of Johnston's contour model and a simple abstract machine. They provide new empirical evidence of certain aspects of the construction and behavior of real programs, and some of their implications for the design of virtual memory systems are presented and discussed.

Recent Issues

  1. January 2025 cover
    January 2025 Vol. 68 No. 1
  2. December 2024 CACM cover
    December 2024 Vol. 67 No. 12
  3. November 2024 CACM cover
    November 2024 Vol. 67 No. 11
  4. October 2024 CACM cover
    October 2024 Vol. 67 No. 10