Advertisement

Research and Advances

Designing for usability: key principles and what designers think

This article is both theoretical and empirical. Theoretically, it describes three principles of system design which we believe must be followed to produce a useful and easy to use computer system. These principles are: early and continual focus on users; empirical measurement of usage; and iterative design whereby the system (simulated, prototype, and real) is modified, tested, modified again, tested again, and the cycle is repeated again and again. This approach is contrasted to other principled design approaches, for example, get it right the first time, reliance on design guidelines. Empirically, the article presents data which show that our design principles are not always intuitive to designers; identifies the arguments which designers often offer for not using these principles—and answers them; and provides an example in which our principles have been used successfully.
Research and Advances

Pricing computer services: queueing effects

This article studies the effects of queueing delays, and users' related costs, on the management and control of computing resources. It offers a methodology for setting price, utilization, and capacity, taking into account the value of users' time, and it examines the implications of alternative control structures, determined by the financial responsibility assigned to the data processing manager.
Research and Advances

Computer science in secondary schools: curriculum and teacher certification

Computer science in secondary schools is an area of increasing interest and concern to educators as well as to computer science professionals. Each of the next two reports addresses an issue of major importance regarding computer science in secondary schools. The first report recommends computer science courses for the secondary school curriculum, and the second report recommends requirements for teacher certification in computer science.In 1983 the ACM Education Board initiated efforts to formulate recommendations for secondary school computer science. Two task forces, one for curriculum recommendations and the other for teacher certification recommendations, were established under the Education Board's Elementary and Secondary Schools Subcommittee. The work of the two task forces was also supported by the IEEE Computer Society Educational Activities Board, and the final reports from the task forces were jointly approved by the ACM and IEEE-CS boards in July 1984. Thus the reports are significan't not only for the important issues that they address, but also because they represent a joint activity between ACM and the IEEE Computer Society.The work of the two task forces is summarized in the next two reports. The full reports are available as the publication Computer Science in Secondary Schools: Curriculum and Teacher Certification, Order Number 201850, from the ACM Order Department, P.O. Box 64145, Baltimore, MD 21264.
Research and Advances

A specification language to assist in analysis of discrete event simulation models

Effective development environments for discrete event simulation models should reduce development costs and improve model performance. A model specification language used in a model development environment is defined. This approach is intended to reduce modeling costs by interposing an intermediate form between a conceptual model (the model as it exists in the mind of the modeler) and an executable representation of that model. As a model specification is constructed, the incomplete specification can be analyzed to detect some types of errors and to provide some types of model documentation. The primitives used in this specification language, called a condition specification (CS), are carefully defined. A specification for the classical patrolling repairman model is used to illustrate this language. Some possible diagnostics and some untestable model specification properties, based on such a representation, are summarized.
Research and Advances

Amortized efficiency of list update and paging rules

In this article we study the amortized efficiency of the “move-to-front” and similar rules for dynamically maintaining a linear list. Under the assumption that accessing the ith element from the front of the list takes &thgr;(i) time, we show that move-to-front is within a constant factor of optimum among a wide class of list maintenance rules. Other natural heuristics, such as the transpose and frequency count rules, do not share this property. We generalize our results to show that move-to-front is within a constant factor of optimum as long as the access cost is a convex function. We also study paging, a setting in which the access cost is not convex. The paging rule corresponding to move-to-front is the “least recently used” (LRU) replacement rule. We analyze the amortized complexity of LRU, showing that its efficiency differs from that of the off-line paging rule (Belady's MIN algorithm) by a factor that depends on the size of fast memory. No on-line paging algorithm has better amortized performance.

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