TL;DR: The notion of inheritance and object-oriented programming first appeared in Simula 67 (Dahl, 1966), where objects are grouped into classes and classes can be organized into a subclass hierarchy as discussed by the authors.
Abstract: There are two major ways of structuring data in programming languages. The first and common one, used for example in Pascal, can be said to derive from standard branches of mathematics. Data are organized as Cartesian products (i.e., record types), disjoint sums (i.e., unions or variant types), and function spaces (i.e., functions and procedures). The second method can be said to derive from biology and taxonomy. Data are organized in a hierarchy of classes and subclasses, and data at any level of the hierarchy inherit all the attributes of data higher up in the hierarchy. The top level of this hierarchy is usually called the class of all objects; every datum is an object and every datum inherits the basic properties of objects, e.g., the ability to tell whether two objects are the same or not. Functions and procedures are considered as local actions of objects, as opposed to global operations acting over objects. These different ways of structuring data have generated distinct classes of programming languages, and induced different programming styles. Programming with taxonomically organized data is often called objectoriented programming, and has been advocated as an effective way of structuring programming environments, data bases, and large systems in general. The notions of inheritance and object-oriented programming first appeared in Simula 67 (Dahl, 1966). In Simula, objects are grouped into classes and classes can be organized into a subclass hierarchy. Objects are similar to records with functions as components, and elements of a class can appear wherever elements of the respective superclasses are expected. Subclasses inherit all the attributes of their superclasses. In Simula, the issues are somewhat complicated by the use of objects as coroutines, so that communication between objects can be implemented as message passing between processes. Smalltalk (Goldberg, 1983) adopts and exploits the idea of inheritance, with some changes. While stressing the message-passing paradigm, a
TL;DR: This new edition of the Encyclopedia of Computer Science has 2,000 pages containing over 600 fully-updated articles by internationally-known computing experts, and over 100 new articles covering emerging, cutting-edge subjects.
Abstract: From the Publisher:
The Encyclopedia of Computer Science is the definitive reference work on computers, computing, and computer science. This new edition has 2,000 pages containing over 600 fully-updated articles by internationally-known computing experts. With its blending of historical perspective and practical reference information, the Encyclopedia of Computer Science is a must-have for every collection.
Alphabetically arranged and classified into subject areas, the Encyclopedia will cover the fields of:
Hardware Computer systems Information and data Software Mathematics of Computing Theory of computation Methodologies Applications Computing Milieux
Features
Over 100 entirely new entries Thorough revisions and updates reflecting the latest developments in the field 900 illustrations in black and white, plus full color inserts A list of the 450 contributing international experts, complete with affiliation Thorough cross-references, abbreviations, and acronyms An extensive list of computer science and engineering research journals A timeline of significant computing milestones Ph.D-granting departments of computer science and engineering Glossary of major terms in five languages Key high level languages Numerical tables and constants Articles deleted from the first three editions Over 100 new articles covering emerging, cutting-edge subjects. Examples include:
Automated Planning Byte Ordering Cache Coherency Computer Industry: US, Britain, Europe, Japan Computer Ethics Data Mining Database Concurrency Control E-commerce Fuzzy Logic Geographic Information System (GIS) Integer Sequences Legal Issues of the Internet Lyons Electronic Office (LEO) Markup Languages Molecular Computing Multi-agent Systems Partial Evaluation Redundant Array Inexpensive Dish (RAID) Register Allocation Scientific Visualization Simula Telerobotics
TL;DR: This work describes an envi ronment which realizes the DEVS formalism developed in Zeigler (1984) for hierarchical, modular models, implemented in PC-Scheme, a powerful Lisp dialect for microcomputers contain ing an object-oriented programming subsystem.
Abstract: Hierarchical, modular specification of discrete-event models of fers a basis for reusable model bases and hence for enhanced simulation of truly varied design alternatives. We describe an envi ronment which realizes the DEVS formalism developed in Zeigler 1984 for hierarchical, modular models. It is implemented in PC-Scheme, a powerful Lisp dialect for microcomputers contain ing an object-oriented programming subsystem. Since both the implementation and the underlying language are accessible to the user, the result is a capable medium for combining simula tion modelling and artificial intelligence techniques. The envi ronment is developed in an object-oriented manner which lends itself to model base organization using the entity structure knowl edge representation. It also serves as a medium for developing hierarchical distributed simulation models and architectures.
TL;DR: Cognitive load theory is found to be highly relevant to teaching in the simulation laboratory and a useful conceptual framework to reference when designing or researching simulation-based education.
Abstract: Summary StatementSimulation-based education (SBE) has emerged as an effective and important tool for medical educators, but research about how to optimize training with simulators is in its infancy. It is often difficult to generalize results from experiments on instructional design issues in simula