ppxscal/embedding_network huggingface dataset:
Query generation in an instructional database management system
Authors: Bogdan Czejdo, Marek Rusinkiewicz
Venue: Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (1987)

The objectives and the general structure of a database management system designed for instructional use are described in this paper. Two high level interfaces which can be used to assist a student in query formulation are discussed. First of these interfaces is graphical and uses Macintosh microcomputer as a user's workstation. The other interface guides a student through the process of query formulation using a menu-driven approach. Preliminary experiences with these interfaces have shown that they can facilitate teaching of query formulation and help students to understand better the syntax and semantics of non-procedural query languages.
Visual simulations of data structures during lecture
Authors: G. Michael Barnes, Gary A. Kind
Venue: Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (1987)

A microcomputer based software package for the graphic simulation of fundamental binary search tree algorithms is presented. This application was developed to augment instructional aids available to the instructor during classroom lecture. The system is mouse controlled and was designed to be used on an IBM PC compatible microcomputer connected to either a large screen video monitor or a projection display. Several screen dumps are presented to illustrate the multi-level graphical representation of trees, pseudocode algorithms, and window environment incorporated in the package. In addition, the literature on CAI oriented simulations for Computer Science topics, with a focus on data structures, is reviewed briefly.Computer Aided Instruction (CAI) is an educational application area with tremendous potential. The recent advent of reasonably priced personal computers with medium resolution color graphic capabilities will hopefully increase the generation of CAI materials in all fields. Ironically, there has been little CAI material developed to aid in the instruction of Computer Science. Furthermore, earlier efforts at courseware development for computer science was centered on programming languages not more advanced topics. In recent years, however, several researchers have been developing personal computer based courseware simulations of more advanced topics: program execution [2,6,21,16], computer architecture [15,17], and data structures algorithms.This work is part of a growing body of research being performed in the emerging area of Visual Programming [11,10]. In this paper we will first briefly review the area of graphic simulations of fundamental data structures and their algorithms. Second, we will describe the CABTO (Computer Animation of Binary Tree Operations) package. We developed CABTO to be used as a lecture aid in a lower division data structures course.
Highly structured internship and cooperative education program in computer science
Authors: William L. Ziegler
Venue: ACM SIGCSE Bulletin (1987)

Internships and Cooperative Education programs have existed in many fields for many years. One field that is yet to be dominated by programs of this type, is Computer Science. This paper will review the implementation of a very successful, competitively based, and highly structured Internship/Cooperative Education program. The advantages and disadvantages of such programs will be discussed, as well as the requirements that should be expected of students, industrial supervisors, and faculty supervisors. Results of research concerning the viability of such programs are also presented and analyzed.
Estimation of minimax values
Authors: C H Tzeng, P Purdom
Venue: Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems (1986)

In estimating minimax values, an important topic in the study of heuristic game tree searches, a pathological phenomenon sometimes results when the conventional minimax procedure is used as a back-up process. In this paper exact methods are derived for two different games, one using product-propagation rules as a back-up process and another not using any back-up process. The method of estimating minimax values in a heuristic game tree search should depend on both the static evaluation function and the structure of the game tree; it can be very different for different games.
Correspondence
Authors: Albert Hybl
Venue: ACM SIGPLAN Fortran Forum (1987)

The purpose of the Fortran X3.9 standard "is to promote portability of FORTRAN programs for use on a variety of data processing systems." Let me refer to this objective as horizontal portability. Unfortunately, each new implementation contains several performance differences; that is, there always seem to be different ways to interpret the language specifications. Without some mechanism to adjudicate interpretational differences horizontal portability will never be truly realized.
DSS design: a systemic view of decision support
Authors: Gad Ariav, Michael J. Ginzberg
Venue: Communications of the ACM (1985)

A systemic view of DSS can provide a concrete framework for effective design of DSS and can also serve as a basis for accumulating DSS research results.
The CLIP7A Image Processor
Authors: Terry J. Fountain, K. N. Matthews, Michael J. B. Duff
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1988)

A description is given of the CLIP7 image-processing chip. The device is implemented as a custom designed integrated circuit and contains a single processing element for use in arrays of processors. The chip uses 16-bit internal and 8-bit external data buses and divides crudely into two major sections: data processing and data input/output. The first structure to be assembled using these processors is a 256-element linear array, each element incorporating two of the CLIP7 processors. This system, known as CLIP7A, is used both to study the application of partial local autonomy techniques to image processing and also as a fast and convenient system for the emulation of other architectures. CLIP7A software and hardware are also described.
Intelligent interfaces: user models and planners
Authors: L. Quinn, D. M. Russell
Venue: ACM SIGCHI Bulletin (1986)

To meet the challenge of constructing interfaces for increasingly complex multifunctional products, designers will be attracted by the promise offered by &ldquo;intelligent&rdquo; systems. However, the value of such sophisticated systems must be measured in terms of the quality of their user's models. One such intelligent interface &mdash; an Expert Help System &mdash; has been designed, implemented, and evaluated. We argue that the operability problems noted in users' interactions with this system are attributable to lack of a strong user model in the system interface. Such a model plays a critical role in determining the effectiveness of the system's ability to monitor the user's planning activities. We discuss the requirements of a strong user model and provide an example of how such a model might be integrated into a planner-based intelligent interface.
A proposal for a set of level 3 basic linear algebra subprograms
Authors: Jack Dongarra, Jeremy Du Croz, Iain Duff, Sven Hammarling
Venue: ACM SIGNUM Newsletter (1987)

This paper describes a proposal for Level 3 Basic Linear Algebra Subprograms (Level 3 BLAS). The Level 3 BLAS are targeted at matrix-matrix operations with the aim of providing more efficient, but portable, implementations of algorithms on high-performance computers, especially those with hierarchical memory and parallel processing capability.
Direct execution lisp and cell memory
Authors: Y. P. Chiang, M. L. Manwaring
Venue: ACM SIGARCH Computer Architecture News (1987)

Lisp is the second oldest programming language in use today. It was treated as a special language for AI applications until the recent trend towards symbolic processing. The advantages of Lisp in processing symbols sometimes are outweighted by the inefficient implementations. This paper presents a direct execution approach in implementing Lisp. The concept of direct execution is explained. The Lisp execution environment is analyzed. The cell memory architecture is presented as the efficient solution for direct execution Lisp. This memory structure reduces the number of bits required for implementing garbage collection algorithm and the number of memory cycles for Lisp programs. Several examples are given to elaborate the direct execution concept and the advantages of cell memory. This direct execution Lisp machine has built-in functions such as interrupt and I/O which are major functions for real-time application.
Alternatives to construct-based programming misconceptions
Authors: J. C. Spohrer, E. Soloway
Venue: Proceedings of the SIGCHI conference on Human factors in computing systems (1986)

In this paper, we investigate whether or not most novice programming bugs arise because students have misconceptions about the semantics of particular language constructs. Three high frequency bugs are examined in detail &mdash; one that clearly arises from a construct-based misconception, one that does not, and one that is less cut and dry. Based on our empirical study of 101 bug types from three programming problems, we will argue that most bugs are not due to misconceptions about the semantics of language constructs.
Linear data structures for two types of range search
Authors: B Chazelle, H Edelsbrunner
Venue: Proceedings of the second annual symposium on Computational geometry (1986)

We present two algorithms for pictures of polyhedral scenes. These algorithms have been conjectured (and used for some time), but only now been verified. The combinatorial algorithm, proposed by Sugihara, uses counts on the incidence structure to characterize pictures which are generically the projection of sharp polyhedral scenes of planes and points. The geometric algorithm, described by Clerk Maxwell and rediscovered in the last decade, uses a reciprocal diagram in the plane to characterize pictures of strict oriented polyhedra in space.
A vector hardware accelerator with circuit simulation emphasis
Authors: A. Vladimirescu, D. Weiss, M. Katevenis, Z. Bronstein, A. Kifir, K. Danuwidjaja, K. C. Ng., N. Jain, S. Lass
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

A floating-point vector accelerator has been built which runs circuit simulation efficiently. The design considerations of the accelerator are based on the time-consuming parts of SPICE2, available off-the-shelf parts, advanced software tools experience and cost/performance. The three board accelerator can run the entire application program compiled from a high-level language. A personal workstation, such as the PC-AT, is used for the general I/O tasks such as file handling and network support. The processor has a Single-Instruction Multiple-Data 64-bit floating-point pipelined architecture. It can achieve a maximum speed of 8 Mips and 8 MFlops. A floating-point processor based on two functional units, a multiplier and an ALU, and an integer processor work in parallel to achieve the high performance. The accelerator attached to a PC-AT runs SPICE2 60 times faster than the personal workstation alone and achieves double the performance of a VAX 8650.
Deadlock detection in distributed databases
Authors: Edgar Knapp
Venue: ACM Computing Surveys (CSUR) (1987)

The problem of deadlock detection in distributed systems has undergone extensive study. An important application relates to distributed database systems. A uniform model in which published algorithms can be cast is given, and the fundamental principles on which distributed deadlock detection schemes are based are presented. These principles represent mechanisms for developing distributed algorithms in general and deadlock detection schemes in particular. In addition, a hierarchy of deadlock models is presented; each model is characterized by the restrictions that are imposed upon the form resource requests can assume. The hierarchy includes the well-known models of resource and communication deadlock. Algorithms are classified according to both the underlying principles and the generality of resource requests they permit. A number of algorithms are discussed in detail, and their complexity in terms of the number of messages employed is compared. The point is made that correctness proofs for such algorithms using operational arguments are cumbersome and error prone and, therefore, that only completely formal proofs are sufficient for demonstrating correctness.
Pancode and boxcharts: structured programming revisited
Authors: Dan Jonsson
Venue: ACM SIGPLAN Notices (1987)

Some new ideas regarding control structures, program charts, and the relationship between the two are presented. It is claimed that the 'pancode' primitives do, if, repeat, else, also, {, and } suffice to build control structures which are more powerful and more readable than those currently used. It is also demonstrated that an equivalent graphical representation of program structure can be obtained by means of 'boxcharts'.
Join processing in database systems with large main memories
Authors: Leonard D. Shapiro
Venue: ACM Transactions on Database Systems (TODS) (1986)

We study algorithms for computing the equijoin of two relations in a system with a standard architecture hut with large amounts of main memory. Our algorithms are especially efficient when the main memory available is a significant fraction of the size of one of the relations to he joined; but they can be applied whenever there is memory equal to approximately the square root of the size of one relation. We present a new algorithm which is a hybrid of two hash-based algorithms and which dominates the other algorithms we present, including sort-merge. Even in a virtual memory environment, the hybrid algorithm dominates all the others we study. Finally, we describe how three popular tools to increase the efficiency of joins, namely filters, Babb arrays, and semijoins, can he grafted onto any of our algorithms.
Database theory&mdash;past and future
Authors: J. D. Ullman
Venue: Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems (1987)

We briefly sketch the development of the various branches of database theory. One important branch is the theory of relational databases, including such areas as dependency theory, universal-relation theory, and hypergraph theory. A second important branch is the theory of concurrency control and distributed databases. Two other branches have not in the past been given the attention they deserve. One of these is &ldquo;logic and databases,&rdquo; and the second is &ldquo;object-oriented database systems,&rdquo; which to my thinking includes systems based on the network or hierarchical data models. Both these areas are going to be more influential in the future.
Augmenting thesauri for information systems
Authors: Roy Rada, Brian K. Martin
Venue: ACM Transactions on Information Systems (TOIS) (1987)

A thesaurus can be a critical component of an office information system. Access to various sets of documents can be facilitated by thesauri and by the connections that are made among thesauri. In the projects described in this paper, the thesauri are stored and manipulated through a relational database management system. The system detects inheritance properties in a thesaurus and uses them to guide a human expert in decisions about how to augment the thesaurus. New strategies will extend our ability to augment existing thesauri.
A rule-based circuit representation for automated CMOS design and verification
Authors: C.-F. E. Wu, A. S. Wojcik, L. M. Ni
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

A novel rule-based circuit representation is proposed to describe the connectivities of CMOS circuits at the transistor level. The unique feature of the rule-based representation is its ability to automate CMOS circuit design and verification. A precise symbolic description of the functionality of a transistor-level circuit can be derived based on a set of production rules in linear time. Automated synthesis and verification of CMOS logic circuits are demonstrated.
Ada tasking model and Prolog predication
Authors: Cathy C. Ncube
Venue: ACM SIGSOFT Software Engineering Notes (1988)

This paper is a comparative analysis of the semantics of the Ada tasking model and the Prolog predication. The features analyzed are communication and synchronization, matching and unification, error handling, procedure dependencies, shared variables, logical inferences and concurrency. Distinctions between the features of tasking and predication reveal complimentary qualities. It is observed that increased effectiveness and efficiency result when the capabilities of these features are combined.
On the role of an environment
Authors: V. Stenning
Venue: Proceedings of the 9th international conference on Software Engineering (1987)

It is suggested that the role of an environment is to support effective use of an effective process. Such a process is complex, varied, organisation-specific, and evolving. Consideration of these process characteristics raises a number of issues concerning the scope of an environment, its overall architecture, and its data structures.
Compiler construction: a course outline and project description
Authors: Elaine R Milito, Marsha L Traub
Venue: ACM SIGCSE Bulletin (1986)

A course in compiler construction will allow students to examine how a high-level language program is accepted as input and translated into assembly language or machine language so that the central processing unit receives instructions which it understands and can execute. This paper outlines the compiler construction course as it is taught at West Chester University, with emphasis on the compiler writing project assigned to the students.
The skills needed to teach computer-science courses HHHHHHHHHHHH
Authors: Gary M Abshire
Venue: ACM SIGCSE Bulletin (1986)

Certain skills are needed to teach computer-science course effectively. These skills range from the ability to write clear course objectives to the ability to present material well and to counsel students ably. Most of us need some assistance in sorting out these skills and creating from them a surefire, step-by-step teaching procedure. The suggestions that follow will help you do just that, enabling you to prepare and present your ideas in less time and with better results.Use this information as a checklist before, during, and after your course. During the course, you will probably want to obtain some feedback on your performance. You may want to either conduct a trial run with an audience of your colleagues or have someone sit in on your first few class meetings and check your performance. You could also read over the list before each class (always a good idea) and check your own performance right after each class.
Analogical reasoning in planning and decision making
Authors: J Carbonell
Venue: Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems (1986)

Analogical reasoning is a significant cognitive process that has heretofore not been modelled by artificial intelligence researchers in a computationally tractable manner. Recently, several new approaches have shown significant promise using analogical processes for problem solving and learning. Among the first and most comprehensive, the ARIES project demonstrated that analogical problem solving is a computationally tractable means of exploiting past experience to solve new problems of increasing complexity. Two methods were developed: transformational analogy, with solutions to related problems are incremently transformed into the solution of a new problem, and derivational analogy with the problem solving strategies, rather than the resultant solutions, are transferred across like problems. However, many interesting questions remain unanswered, including: How closely related should problems be prior to analogical transfer? How does one measure similarity? What is the relation of analogical transfer to human problem solving capabilities? What roles does analogy play in learning? Should analogical reasoning be part of a decision analysis engine to bring past experience to bear in evaluating likely consequences of candidate decisions? Should analogical reasoning be considered an integral aspect of any unified problem solving architecture striving to model human cognition? After a glimpse into the basic ARIES model, partial answers to these questions are discussed based on recent advances. Some of these new directions are rooted in concrete computational and psychological results; others are of a more speculative nature.
Automated theorem proving: mapping logic into AI
Authors: D W Loveland
Venue: Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems (1986)

Logic can be defined as the formal study of reasoning; if we replace &ldquo;formal&rdquo; by &ldquo;mechanical&rdquo; we can place almost the entire set of methodologies used in the field of automated theorem proving (ATP) within the scope of logic. Because of the goals of ATP, if not always the methodologies, ATP has been considered to be within the domain of AI. We explore the methodologies of ATP, including the logics that underlie the theorem provers, and discuss some of the mechanisms that utilize these logics. These include term rewriting systems, mathematical induction, inductionless induction and even mixed integer programming. The ATP field, via resolution, has even provided the foundation for an exciting AI and database programming language, PROLOG. We conclude with a new method for extending the PROLOG system to work with non-Horn clause sets within a positive logic format, particularly simple for &ldquo;slightly non-Horn&rdquo; clause sets.
Software complexity assessment: annotated bibliography
Authors: L. Waguespack,  Jr., S. Badiani
Venue: ACM SIGSOFT Software Engineering Notes (1987)

Software complexity is an area of software engineering concerned with the identification, classification and measurement of features of software that effect the cost of developing and sustaining computer programs. As a human endeavor, programming is subject to behavioral and psychological factors that eventually lead to the study of the human thought processes. The introduction and annotated bibliography presented are intended to relate a diversity of literature from computer science, cognitive psychology, and software engineering that are contributing to the current state of investigation in software complexity.
An experimental evaluation of computer graphics imagery
Authors: Gary W. Meyer, Holly E. Rushmeier, Michael F. Cohen, Donald P. Greenberg, Kenneth E. Torrance
Venue: ACM Transactions on Graphics (TOG) (1986)

Accurate simulation of light propagation within an environment and perceptually based imaging techniques are necessary for the creation of realistic images. A physical experiment that verifies the simulation of reflected light intensities for diffuse environments was conducted. Measurements of radiant energy flux densities are compared with predictions using the radiosity method for those physical environments. By using color science procedures the results of the light model simulation are then transformed to produce a color television image. The final image compares favorably with the original physical model. The experiment indicates that, when the physical model and the simulation were viewed through a view camera, subjects could not distinguish between them. The results and comparison of both test procedures are presented within this paper.