ppxscal/embedding_network huggingface dataset:
A software engineering approach to introductory programming courses
Authors: M. Alford, P. Hsia, F. Petry
Venue: Proceedings of the seventh SIGCSE technical symposium on Computer science education (1977)

This paper describes an approach that can introduce some of the concepts of software engineering to general business, engineering, and science students in an introductory FORTRAN programming course. The approach integrates the notions of top-down design, stepwise refinement, structured flowcharting, test case description, and analysis in the context of a methodology for systematically developing and documenting programs. Qualitative results from teaching these concepts are presented.
The use of personal computers in teaching English composition
Authors: Jef Raskin
Venue: Proceedings of the 3rd ACM SIGSMALL symposium and the first SIGPC symposium on Small systems (1980)

It is clear that computers are essential to a course in programming, are easily used for practice in arithmetic, and are useful for simulations in an economics or sociology course, but it is not clear how, if at all, they can be used to teach the writing of English. To be sure, you could use a computer to administer a spelling drill, or a multiple choice test in punctuation&mdash;but none of this is composition. While most proposed applications in the teaching of English run to such computer assisted instruction, my experiences over the last four years have shown me that a personal computer can be a powerful aid in learning to write.
Expressions as processes
Authors: J. R. Kennaway, M. R. Sleep
Venue: Proceedings of the 1982 ACM symposium on LISP and functional programming (1982)

We argue that the 'equal civil rights' principle inherent in the lambda calculus base of applicative languages may be extended to encompass parallelism. In our model, all applicative expressions are viewed as processes, whether they represent primitives such as integers, or complex higher order functions. We present an early CCS-based notation which supports an active interpretation of applicative expressions, and illustrate its generality by presenting translations of the Schonfinkel combinators to processes. In general, we may combine applicative expressions using function application. A variety of process interpretations of application are possible, reflecting a range of evaluation strategies.
Simulation programming using spreadsheet software
Authors: Richard M. Reese
Venue: Proceedings of the 16th conference on Winter simulation (1984)

This paper will examine the use of Spreadsheet software for sophisticated simulation projects. The advantages and disadvantages of using spreadsheet software, specifically Lotus*, for simulation programs will be illustrated through two simulation examples. Future directions for simulation languages are proposed. These include the need for simulation language to provide an easy method to observe the dynamics of the simulation, an integrated database and graphic Facilities, and a more non-algorithmic approach to simulation languages.
Improved algorithms for integer programming and related lattice problems
Authors: Ravi Kannan
Venue: Proceedings of the fifteenth annual ACM symposium on Theory of computing (1983)

The integer programming problem is: Given m&times;n and m&times;l matrices A and b respectively of integers, find whether, there exists an all integer n&times;l vector x satisfying the m inequalities A&times;&le;b. In settling an important open problem, Lenstra (1981) showed in an elegant way that when n, the number of dimensions is fixed, there is a polynomial-time algorithm to solve this problem. His algorithm achieves a running-time of 0(cn3&bull;p(length of data)) where p is some polynomial and c a constant independent of n. Since such an algorithm has several important applications - cryptography (Shamir (1982)), diophantine approximations (Lagarias (1982)), coding theory (Conway and Sloane (1982), etc. it is important to improve the running time. We present an algorithm here that has a running time of 0(n9nL log L) where L is the length of the input. Whereas Lenstra's algorithm in the worst case reduces an n-dimensional problem to cn2&minus;(n&minus;) dimensional problems, our algorithm effectively reduces an n-dimensional problem to at most polynomially many (n&minus;1) dimensional problems, thus achieving our time bound. The algorithm we propose, first finds a &ldquo;more orthogonal&rdquo; basis for a lattice (see the next section for the definition of a lattice) than those of Lenstra (1981) and Lenstra, Lenstra and Lovasz (1982), but in time 0(ndn poly (length of input)). It then uses an enumeration technique to solve integer programming and related problems. While this paper presents mainly the theoretical improvements that can be made in the algorithms, we discuss in section 6 why in practice our estimates of running time may be overly pessimistic. The last part of the paper discusses some complexity issues. It is an interesting open problem as to whether finding the Euclidean shortest non-zero vector of a given lattice is NP-hard. (See Lenstra (1981), Van Emde Boas (1981) and Lagarias (1982)).
A two-semester course sequence in introductory programming using PL/1&mdash;a rationale and overview
Authors: Donald Epley, Ted Sjoerdsma
Venue: Proceedings of the ninth SIGCSE technical symposium on Computer science education (1978)

In 1975 a major curriculum revision which converted an introductory first course using FORTRAN and a second course using PL/1 into a two-semester PL/1 sequence was made. The initial rationale and motivation, including an analysis of the potential audience and alternatives, is discussed. An overview of the individual courses, the distribution of topics, and our experience with the two courses is given. A review of this three-year old decision and another analysis of alternatives, especially in the light of the trend towards PASCAL and increasing emphasis on program verification, is made. Our conclusion is based on language-independent factors arising from our attitude towards programming and certain larger curriculum issues and is that our PL/1 sequence should be retained.
The variety of TICCIT systems&mdash;an overview
Authors: Richard P. Morton
Venue: Proceedings of the ACM SIGCSE-SIGCUE technical symposium on Computer science and education (1976)

MITRE's TICCIT program began in 1968 with the hypothesis that coupling television displays to a time-sharing computer system would result in a computer-based instruction system low enough in cost to permit schools to provide a significant quantity of individualized instruction to a large number of students. The subsequent TICCIT effort has demonstrated this hypothesis to be correct, and has led to the development of a model for this technology (See Figure I ) that has been shown by the ten TICCIT systems in operation and under construction to have a wide range of options which match a wide range of instructional and general purpose environments.
An investigation of the effect of product quality on rework manpower during production via simulation
Authors: M. Jeya Chandra, Robert G. Sargent
Venue: Proceedings of the 10th conference on Winter simulation - Volume 2 (1978)

This paper describes a simulation study made of a production system to determine the percentages certain types of defects must be reduced during production in order to reduce the manpower needed in reworking defective produced units.
Distributed computation for design aids
Authors: S. Y. Levy
Venue: Proceedings of the 19th Design Automation Conference (1982)

This paper is directed at users who are contemplating a move to distributed computing or are already there. It is a compendium of data and analytic models which has been assembled from experience on computers at Bell Laboratories and at Rutgers and Stanford Universities. It will be presented as a series of observations followed by either data or analysis to support them. The object of this paper is to help the reader to avoid some of the obvious pitfalls in moving to such a facility, and to provide some rational guidelines for planning. We will quantify the key parameters that characterize a distributed computing environment, and suggest how those parameters can best be used to take advantage of an existing environment, or to design an improved environment. Finally, we will relate these observations to the introduction of 'personal computing' into the computing milieu.
Serial/parallel event scheduling for the simulation of large systems
Authors: Ernst G. Ulrich
Venue: Proceedings of the 1968 23rd ACM national conference (1968)

A major problem in the area of discrete time-step simulation is the precise, rapid, and fully automatic scheduling and simulation of hundreds or thousands of serial and parallel events. A partial solution to this problem has been found in the &ldquo;next event&rdquo; simulation technique 1 which, based upon inter-related concepts of list processing and dynamic storage allocation, has replaced &ldquo;fixed time step&rdquo; methods 1 of the past. However, this solution is not satisfactory for large systems because the next event technique, particularly useful for handling a moderate number of serial events, decreases rapidly in scheduling efficiency for large numbers of events and in simulation efficiency for parallel events. This paper extends and generalizes work reported previously and describes a technique originally developed for digital simulation 2 of digital systems which is applicable to general-purpose simulation. The technique was specifically developed for simulating large numbers of parallel events. It is based on &ldquo;time mapping,&rdquo i.e., a simple, time-to-address mapping method, and falls in the category of fixed time step simulation. On a second level, the advantages of next-event simulation are exploited by using this technique in auxiliary roles. The result of combining these techniques leads to an optimization of simulation speed, which becomes significant when the average event queue exceeds 20 events. Also, the simulation of any number of parallel events is possible without the usual amount of additional complexity and bookkeeping.
Chebyshev polynomials in the solution of large-scale linear systems
Authors: Cornelius Lanczos
Venue: Proceedings of the 1952 ACM national meeting (Toronto) (1952)

An easily coded iterative routine is described which approximates the solution of a wide class of simultaneous linear algebraic equations by a succession of simple matrix multiplications. The problem of finding the solution of the matrix equation
Numerical algorithms based on the theory of complex variable
Authors: J. N. Lyness
Venue: Proceedings of the 1967 22nd national conference (1967)

Since its introduction in the early part of the nineteenth century, the theory of complex variables has played a steadily increasing role in mathematics, and in scientific research. In some fields complex algebra is used to simplify the description of a physical system. The use of a complex impedance Z in network theory is an example of this. In other fields complex algebra seems to be a basic ingredient of the physical laws. In Wave Mechanics for example a probability density P(x,t) is related to the square modulus of a wave function &psgr;(x,t) which is itself complex, being obtained from a wave equation whose coefficients may be complex. In mathematical research itself, it is rare to find a topic which is naturally restricted to real variables, and in many topics the extension to complex variables results in a simpler theory. For example a polynomial of degree n has exactly n zeros in the field of complex numbers.
A modular continuous system modeling program
Authors: J. D. Bagley
Venue: Proceedings of the 1969 24th national conference (1969)

This paper describes a proposal for a continuous system modeling program (CSMP) which is structured in such a manner that its range of applicability may be extended at the option of the user. Any CSMP may be characterized by three properties: (1) the control mode which may be either batch or interactive, (2) the problem description language which may be either block or equation based, and (3) the execution mode which may be either direct or interpretive. Although historically various property options have been linked together, in the modular CSMP they are designed to be not only independent, but also not mutually exclusive. Thus, at execution time, the user may select the option which is best suited to the particular phase of the particular problem he is solving. Although a description of a complete system is given, the primary emphasis is placed upon the overall system organization and the interactive problem description languages.
Issues for Ease of Use in personal computing (abstract only)
Authors: Harry Tennant
Venue: ACM SIGSOC Bulletin (1982)

It has been demonstrated that interactive natural language dialog is remarkably unruly, with many misspellings and grammatical errors. Although progress has been made in getting computers to process pristine English text, the day when computers will be able to process unlimited interactive natural language dialog is still very far off.The vast majority of the effort that has gone into designing interactive natural language systems has concentrated on the computer half of the human-computer dyad. Our approach concentrates on the human half. Specifically, the goal of our research is to define a human engineered subset of natural language that retains all of the user-oriented benefits of unrestricted natural language dialog, while greatly reducing the processing burden that true natural language interaction places on the computer. This paper is a preliminary examination of the possibility that these criteria may be satisfied by simply asking usres to be concise.
A characterization of Hoare's logic for programs with Pascal-like procedures
Authors: Ernst-Rüdiger Olderog
Venue: Proceedings of the fifteenth annual ACM symposium on Theory of computing (1983)

This paper presents a new characterization of applicability and limitations of Hoare's logic. We consider a programming language LPas consisting of nondeterministic programs with a Pascal-like procedure concept and prove as our main theorem: Admissible sublanguages L of LPas have a sound and relatively complete Hoare logic if and only if all programs in L have regular formal call trees. Moreover, we present an explicit Hoare calculus for L whenever such a Hoare logic exists. Our theorem generalizes Clarke's results on completeness and incompleteness for languages with procedures [Cl 79] and improves Lipton's characterization of Hoare's logic which cannot deal with nondeterminism and does not provide explicit calculi [Li 77].
Test procedures: A new approach to software verification
Authors: David J. Panzl
Venue: Proceedings of the 2nd international conference on Software engineering (1976)

A test procedure is a formal specification of test cases to be applied to one or more target program modules. Test procedures are executable. A process called the VERIFIER applies a test procedure to its target modules and produces an exception report indicating which test cases, if any, failed. Test procedures facilitate thorough software testing by allowing individual modules or arbitrary groups of modules to be thoroughly tested outside the environment in which they will eventually reside. Test procedures are complete, self-contained, self-validating and execute automatically. Test procedures are a deliverable product of the software development process and are used for both initial checkout and subsequent regression testing of target program modifications. Test procedures are coded in a new language called TPL (Test Procedure Language). The paper analyzes current testing practices, describes the structure and design of test procedures and introduces the Fortran Test Procedure Language.
Analyzing medium-scale software development
Authors: Victor R. Basili, Marvin V. Zelkowitz
Venue: Proceedings of the 3rd international conference on Software engineering (1978)

The collection and analysis of data from programming projects is necessary for the appropriate evaluation of software engineering methodologies. Towards this end, the Software Engineering Laboratory was organized between the University of Maryland and NASA Goddard Space Flight Center. This paper describes the structure of the Laboratory and provides some data on project evaluation from some of the early projects that have been monitored. The analysis relates to resource forecasting using a model of the project life cycle based upon the Rayleigh equation and to error rates applying ideas developed by Belady and Lehman.
Social relations as algebraic relations
Authors: James M. Cargal
Venue: Proceedings of the 12th conference on Winter simulation (1980)

It is convenient to analyze social systems by applying techniques of abstract algebra to the social relations within the system. Two complementary techniques of analysis are given: one heuristic; the other computational. The former is a dynamic use of graphs and their algebraic properties. This can result in the uncovering of new social relations. Examples given include the study of couple relationships, and management structures.
Communication protocols and error recovery procedures
Authors: Gregor V. Bochmann
Venue: Proceedings of the 1975 ACM SIGCOMM/SIGOPS workshop on Interprocess communications (1975)

The design of multiple computer systems and computer networks poses some interesting new problems and shows some older problems in the light of a new context. We are interested in the problems which are related to the design of communication protocols and error recovery procedures. In the design of computer systems, error recovery procedures have often not received very much attention, although they are essential for the reliable operation of most systems. In the case of multiple computer systems, appropriate error recovery procedures can be used to obtain a very much increased availability of the system services. This is also an advantage of computer networks. Whereas single computer systems can sometimes function to a certain extent without elaborate error recovery procedures, data communication protocols, on the other hand, normally have to contain explicit error recovery procedures, since the underlying communication line is normally not very reliable. Therefore, approaches that have been used for the design of protocols in computer networks could also be useful in the design of local multiple computer systems for obtaining higher reliability and availability.
APL as implementation language for financial data bases
Authors: George R. Mayforth
Venue: Proceedings of the eighth international conference on APL (1976)

APL is a proven performer in small, one-time applications. This paper describes the use of APL in a production environment for manipulation of financial data bases and generation of reports. The topics discussed are a hierarchy of operations over data, maintenance of data security and integrity in the APL environment, and data structure and storage techniques.
A fail-safe redundant architecture for fault-tolerant computing
Authors: Richard J. Spillman
Venue: Proceedings of the 1977 annual conference (1977)

With the increasing use of computing systems in such crucial areas as medicine and space, there has come a great need for computers that remain operational in spite of hardware failures. This paper introduces a new architecture for fault-tolerant computing using fail-safe modules in a redundant scheme. The voting circuit for this redundant scheme highly reliable since it consists of only one gate. Yet, this new architecture will tolerate up to n-@ failures in an n module system. The advantages and disadvantages of this architecture are outlined.
Local networking and internetworking in the V-system
Authors: David R. Cheriton
Venue: Proceedings of the eighth symposium on Data communications (1983)

Local networking can be treated as a subset of internetworking for remote terminal access and file transfer. However, a distributed operating system, such as the V-System uses a local network more as an extended backplane than a fast, minature long-haul network. This paper describes the use of server-based &ldquo;intelligent gateways&rdquo; to provide internetworking using standard protocols in conjunction with an efficient light-weight protocol for V IPC on a local network. Besides providing good local network performance, this design allows a gateway to act as an access control mechanism, addressing some reliability and security issues that arise with local networks.
Managing storage for extendible arrays (Extended Abstract)
Authors: Arnold L. Rosenberg
Venue: Proceedings of the sixth annual ACM symposium on Theory of computing (1974)

Efficient storage utilization by schemes which allocate storage for extendible arrays is studied. A minimax lower bound on efficiency of storage use by such schemes is derived; and a scheme which achieves this bound is exhibited. When arrays are constrained to expand according to a preassigned finite set of shapes, the general lower bound can be lowered dramatically; in fact, if a single shape for expansion is chosen, one can devise a scheme which utilizes storage perfectly for arrays of that shape.
On fundamentals of computer-aided design of firmware
Authors: Igor Hansen, Jacek Leszczylowski
Venue: ACM SIGMICRO Newsletter (1980)

A real-time model of microprogrammed hardware is described. It is used for firmware classification and for stating the conditions under which an equivalent discrete-time model can be introduced. We also give a brief description of a computer-aided firmware design system, which was based on these models.
Ray tracing parametric patches
Authors: James T. Kajiya
Venue: Proceedings of the 9th annual conference on Computer graphics and interactive techniques (1982)

This paper describes an algorithm that uses ray tracing techniques to display bivariate polynomial surface patches. A new intersection algorithm is developed which uses ideas from algebraic geometry to obtain a numerical procedure for finding the intersection of a ray and a patch without subdivision. The algorithm may use complex coordinates for the (u, v)-parameters of the patches. The choice of these coordinates makes the computations more uniform, so that there are fewer special cases to be considered. In particular, the appearance and disappearance of silhouette edges can be handled quite naturally. The uniformity of these techniques may be suitable for implementation on either a general purpose pipelined machine, or on special purpose hardware.