bluuebunny/crossref_metadata_2025 huggingface dataset:
Computer modelling and natural phenomena
Authors: Longo Giuseppe
Published: July 2004

This provocative synthetic introduction to several research themes aims at stimulating a reflection on our mature science, Informatics, beyond the myths that originated it and that, today, may affect its progress. The awareness of the expressiveness and of the internal limitations of digital computing is a necessary step, within the Computer Science community, to improve the relations to other sciences, where computers are increasingly used as tools. We will briefly hint to simulations problems in Physics and discuss the still prevailing projection of our fantastic machine onto Biological and Cognitive phenomena. The conference lecture will mostly focus on §.3.
Towards the compositional verification of real-time UML designs
Authors: Giese Holger , Tichy Matthias , Burmester Sven , Schäfer Wilhelm , Flake Stephan
Published: July 2004

Current techniques for the verification of software as e.g. model checking are limited when it comes to the verification of complex distributed embedded real-time systems. Our approach addresses this problem and in particular the state explosion problem for the software controlling mechatronic systems, as we provide a domain specific formal semantic definition for a subset of the UML 2.0 component model and an integrated sequence of design steps. These steps prescribe how to compose complex software systems from domain-specific patterns which model a particular part of the system behavior in a well-defined context. The correctness of these patterns can be verified individually because they have only simple communication behavior and have only a fixed number of participating roles. The composition of these patterns to describe the complete component behavior and the overall system behavior is prescribed by a rigorous syntactic definition which guarantees that the verification of component and system behavior can exploit the results of the verification of individual patterns.
Validating UML models against architectural profiles
Authors: Selonen Petri , Xu Jianli
Published: July 2004

The Unified Modeling Language (UML) has become a widely adopted standard in the software industry. While UML has established itself in detailed software design, its usage as an architecture description language is still taking its shape. In particular, there is a growing need for techniques to define domain specific architectural constraints and conventions in UML. We address this issue by adopting the concept of UML profiles for architectural design. Architectural profiles are specialized for describing and constraining software architecture descriptions for a given domain. We argue that these profiles represent an appropriate abstraction level to elaborate architectural constraints and conventions. We present a general schema for arranging architectural profiles and a set of conformance rules that define how these profiles are interpreted, constituting a profile definition language for validating architectural design. We introduce a tool for performing architectural validation and discuss the results of our initial case studies.
Modeling and validation of service-oriented architectures
Authors: Baresi Luciano , Heckel Reiko , Thöne Sebastian , Varró Dániel
Published: July 2004

Most applications developed today rely on a given
middleware platform
which governs the interaction between components, the access to resources, etc. To decide, which platform is suitable for a given application (or more generally, to understand the interaction between application and platform), we propose UML models of both the
architectural style of the platform
and the application scenario. Based on a formal interpretation of these as graphs and
graph transformation systems
, we are able to validate the
consistency between platform and application
.
Evaluating and improving the automatic analysis of implicit invocation systems
Authors: Bradbury Jeremy S. , Dingel Juergen
Published: July 2004

Model checking and other finite-state analysis techniques have been very successful when used with hardware systems and less successful with software systems. It is especially difficult to analyze software systems developed with the implicit invocation architectural style because the loose coupling of their components increases the size of the finite state model. In this paper we provide insight into the larger problem of how to make model checking a better analysis and verification tool for software systems. Specifically, we will extend an existing approach to model checking implicit invocation to allow for the modeling of larger and more realistic systems. Our focus will be on improving the representation of events, event delivery policies and event-method bindings. We also evaluate our technique on two non-trivial examples. In one of our examples, we will show how with iterative analysis a system parameter can be chosen to meet the appropriate system requirements.
Formulation and preliminary test of an empirical theory of coordination in software engineering
Authors: Herbsleb James D. , Mockus Audris
Published: July 2004

Motivated by evidence that coordination and dependencies among engineering decisions in a software project are key to better understanding and better methods of software creation, we set out to create empirically testable theory to characterize and make predictions about coordination of engineering decisions. We demonstrate that our theory is capable of expressing some of the main ideas about coordination in software engineering, such as Conway's law and the effects of information hiding in modular design. We then used software project data to create measures and test two hypotheses derived from our theory. Our results provide preliminary support for our formulations.
Monitoring the software test process using statistical process control
Authors: Cangussu João W. , DeCarlo Raymond A. , Mathur Aditya P.
Published: July 2004

Statistical Process Control (SPC) is a powerful tool to control the quality of processes. It assists management personnel in the identification of problems and actions to be taken to bring a process into a stable state. SPC has been applied in various fields, including the Software Development Process. However, some processes are better characterized by factors that exhibit an exponential behavior. The use of such factors for process control limits the application of traditional SPC techniques. The Software Test Process (STP) characterized by the decay in the number of remaining errors, failure intensity, and an increase in code coverage, is one such process.A variant of the traditional SPC technique is proposed. This variant uses logarithmic transformation to allow the statistical control of processes whose dominant behavior is best described by an exponential. An evaluation of the proposed transformation carried out using simulation and a case study from an industrial project, encourages the application of the proposed variant to the STP.
On the economic evaluation of XP projects
Authors: Müller Matthias M. , Padberg Frank
Published: July 2004

From a project economics point of view, the most important practices of Extreme Programming (XP) are Pair Programming and Test-Driven Development. Pair Programming leads to a large increase in the personnel cost, and Test-Driven Development adds to the development effort. On the other hand, pp can speed the project up, both pp and Tdd can reduce the defect density of the code. Can the increased cost of XP be balanced by its shorter time to market and higher code quality? To answer this question, we construct a new model for the business value of software projects. We then analyze the cost and benefit of XP by applying our model to a realistic sample project. We systematically vary important model parameters to provide a sensitivity analysis. Our analysis shows that the economic value of, XP strongly depends on how large the XP speed and defect advantage really are. We also find that the market pressure is an important factor when assessing the business value of XP., Our study provides clear guidelines for managers when to consider using XP -- or better not.
Adapting side effects analysis for modular program model checking
Authors: Tkachuk Oksana , Dwyer Matthew B.
Published: July 2004

There is a widely held belief that whole program analysis is intractable for large complex software systems, and there can be little doubt that this is true for program analyses based on model checking. Model checking selected program components that comprise a cohesive unit, however, can be an effective way of uncovering subtle coding errors, especially for components of multi-threaded programs. In this setting, one of the chief problems is how to safely approximate the behavior of the rest of the application as it relates to the unit being analyzed.Non-unit application components are collectively referred to as the environment. In this paper, we describe how
points-to
and
side-effects
analyses can be adapted to support generation of summaries of environment behavior that can be reified into Java code using special modeling primitives. The resulting abstract models of the environment can be combined with the code of the unit and then model checked against unit properties. We present our analysis framework, illustrate its flexibility in generating several types of models, and present experience that provides evidence of the scalability of the approach.
Predicting problems caused by component upgrades
Authors: McCamant Stephen , Ernst Michael D.
Published: July 2004

We present a new, automatic technique to assess whether replacing a component of a software system by a purportedly compatible component may change the behavior of the system. The technique operates before integrating the new component into the system or running system tests, permitting quicker and cheaper identification of problems. It takes into account the system's use of the component, because a particular component upgrade may be desirable in one context but undesirable in another. No formal specifications are required, permitting detection of problems due either to errors in the component or to errors in the system. Both external and internal behaviors can be compared, enabling detection of problems that are not immediately reflected in the output.The technique generates an operational abstraction for the old component in the context of the system and generates an operational abstraction for the new component in the context of its test suite; an operational abstraction is a set of program properties that generalizes over observed run-time behavior. If automated logical comparison indicates that the new component does not make all the guarantees that the old one did, then the upgrade may affect system behavior and should not be performed without further scrutiny. In case studies, the technique identified several incompatibilities among software components.
Eos
Authors: Rajan Hridesh , Sullivan Kevin
Published: July 2004

This paper makes two contributions: a generalization of
AspectJ
-like languages with first-class aspect instances and instance-level advising, and a mapping of the mediator style for integrated system design into this space. We present
Eos
as a prototype language design and implementation. It extends
C#
with
AspectJ
-like constructs, first-class aspect instances and instance-level advising. These features enable a direct mapping of mediators to aspect instances, with modularity improved, insofar as components need not declare, announce, or register for events.
A fault-tolerant software architecture for COTS-based software systems
Authors: Asterio de C. Guerra Paulo , Rubira Cecília Mary F. , Romanovsky Alexander , de Lemos Rogério
Published: July 2004

This paper considers the problem of integrating Commercial off-the-shelf (COTS) components into systems with high dependability requirements. Such components are built to be reused as black boxes that cannot be modified. The system architect has to rely on techniques that are external to the component for resolving mismatches between the services required and provided that might arise in the interaction of the component and its environment. The paper puts forward an approach that employs the layer-based C2 architectural style for structuring error detection and recovery mechanisms to be added to the component during system integration.
A proposal for a measure of program understanding
Authors: Haas Mark , Hassell Johnette
Published: July 2004

This paper investigates the needs of computer science educators and experimental researchers for a measure of programmer performance. Operational and comprehensional problem solving is differentiated and their manifestations in computer science are presented. Measures that have been used by experimental researchers to evaluate programmer performance are described. The lack of adequate measures of comprehensional problem solving leads to the definition of the concept of
Program Understanding.
A measure of Program Understanding is discussed and its uses in education, experimental research, and industry are explored.
Logic versus mathematics in computer science education
Authors: Culik K. , Rizki M. M.
Published: July 2004

Informal mathematical proofs admit and require interpretation while formal logic proofs suppress (abstract from) meanings. The former is closely related to problem solving and computer programming. The latter, which is commonly used for proving program correctness, complicates this procedure because it separates problem solving from programming. A constructive mathematical proof in finite discrete mathematics of an existential theorem is a computer program if the pertinent data structures and functions are expressed in a programming language. Several detailed examples of graph theoretical problems and theorems are presented along with their constructive proofs and corresponding programs.
A structured approach to teaching operating systems principles using a high level concurrent programming language
Authors: Fornaro R. J. , Garrard K. P. , Uzzle E. M.
Published: July 2004

The educational objectives of two upper level operating systems courses are discussed. The instructional environment in which these courses are taught is also described. The primary goal is to expose students to all of the important issues involved in designing and implementing operating systems. Students should start with the architecture of the target machine and proceed through to an implementation of some functioning operating system. This is a difficult task to achieve in the confines of a single semester. However, a careful choice of software exercises that start very simply and build on each other to illustrate important points, and a high level language facility for writing operating system programs have combined to produce a successful experiment. This technique is applied in a senior level Computer Science course on Operating Systems Principles and a graduate level course on Real Time Systems. The program development system described is not only a good educational tool, but also provides a vehicle for research in comparing concurrency constructs in languages and the performance and architectural implications of concurrent programs.
Data processing and computer science theory
Authors: Berztiss A. T.
Published: July 2004

Theoretical results have had much greater impact on computing practice than we are normally aware of, and the practical significance of theoretical results can be expected to become more prominent in the future. We discuss the past and present significance for data processing specialists of some results in analysis of algorithms, languages, and program proofs, and argue for a greater emphasis on computer science theory in data processing curricula.
What does business and industry expect from computer science graduates today?
Authors: Archer Clark B.
Published: July 2004

In developing a curriculum that produces graduates that are readily accepted in today's business and industry the question arises, “What courses in a student's background are most vital?” To address this question a questionnaire was constructed and sent to 500 businesses and industries in South Carolina, North Carolina, Tennessee, Georgia, Virginia, and Florida. This short paper reports the rather startling findings of this survey.
Visualizing algorithms and processes with the aid of a computer
Authors: Mincy Jeffrey W. , Tharp Alan L. , Tai Kuo-Chung
Published: July 2004

Communicating algorithms and processes is an integral part of computer science education yet in many instances is difficult to carry out effectively using traditional techniques. Using the computer as an aid in visualizing and understanding an algorithm is one way to improve this communication process. With the computer technology available to us today, it would be unfortunate if we did not make effective use of it in computer science education. (We don't want to be like the shoemaker's children.)

The prototype systems described in this paper exemplify how a computer might be used as an instructional aid; the observations resulting from their application suggest further experimentation and use.
A lab approach for introductory programming courses
Authors: Olson Lynn J.
Published: July 2004

The lab portion of the introductory computer science course at Wartburg College is described. These two-hour time blocks are designed to facilitate a high degree of student involvement through intensive practice in the development of algorithms and the application of key programming concepts. Several positive outcomes of the laboratory approach are delineated and examples of specific lab sessions are provided.
Progress report on the study of program reading
Authors: Koltun Philip , Deimel Lionel E. , Perry Jo
Published: July 2004

We present some ideas here about prose reading comprehension tests, with analogies to program reading exercises, and suggest the potential usefulness of a standardized, nationwide program reading comprehension test as a means to assess on a comparative basis individual and department-wide progress through the computer science curriculum. We conclude with a research agenda on program reading and encourage contributions to the work from interested colleagues.
Pascal procedures and functions for teaching linear data structures
Authors: Fontana Joseph M.
Published: July 2004

Textbook subprogram packages for abstract data structures are often inadequate, inconsistent in design, or are listed as exercises. This paper presents three packages of coordinated Pascal procedures and functions that overcome these deficiencies for a selection of linear data structures. The packages are for array- and link-based stacks and link-based queues. Design guidelines for developing the packages are discussed, and examples of exercises using them are included.
Advanced problem solving and algorithm development
Authors: Cook Robert N.
Published: July 2004

A course in advanced problem solving and algorithm development is described in this paper. This course differs from the approach taken in many algorithm texts in that it emphasizes the problem solving process involved in developing the algorithms rather than proofs of correctness. Algorithms are studied in the areas of number theory, array processing, sorting and searching, text processing, and data structures. The course concludes with a discussion of linear, binary, and non-linear recursive algorithms.

While some of the algorithms may have been seen previously in other courses, often the problem solving process involved in developing the algorithms is not treated. Thus, the course greatly enhances the students' understanding of the art of problem solving. In addition, it exposes the students to many important algorithms which they will find useful both in later computer science courses and in their professional careers.
Invitation to artificial intelligence
Authors: D'heedene Robert N.
Published: July 2004

Artificial Intelligence (AI) is intelligence displayed by non-living objects, that is, machines. The possibility of creating intelligent machines has been a motivating force behind a great deal of computing machine development. The methods of AI are not only of historical interest, but are powerful in themselves. Artificial Intelligence therefore deserves a prominent place in the undergraduate Computer Science curriculum. This paper discusses the pedagogical advantages of emphasizing AI in upper level courses, reasons for its present neglect, and the importance of introducing AI study.
EDP auditors' role in evaluating computerized accounting information systems efficiency by queuing, simulation and statistical models
Authors: Rushinek Sara F. , Rushinek Avi
Published: July 2004

This study is a summary of the various relevant aspects related to evaluating system efficiency in computerized accounting information systems. During recent years a vast body of knowledge central to the problem of
computer performance evaluation
has accumulated. Unfortunately, however, the work on the subject demonstrates enormous disparity. On the one hand, one finds numerous reports and documents that present masses of empirical data obtained from measurement or simulation. On the other hand, theoretical papers are, more often than not, couched in advanced mathematics, not easily accessible to engineers and/or Electronic Data Processing (EDP) Auditors.

Among a number of mathematical disciplines related to system modeling,“queuing model,”“simulation method,” and “statistical analysis” are the most important quantitative techniques. This paper provides a cohesive introduction to the modeling and analysis techniques for evaluating system efficiency. These techniques will certainly be applicable to modeling activities of complex systems in general, and not merely computer systems.
Computer-1—a modern simple computer to introduce computer organization and assembler language programming
Authors: Miller Donald S.
Published: July 2004

COMPUTER-1 is an interactive editor/assembler simulator-debugger and program evaluator to be used as an instructional tool for an introductory course in computer organization and assembler language programming. COMPUTER-1's organization, assembler language and interactive facilities are designed to introduce basic concepts of computer architecture and assembly language programming while minimizing the amount of computer system dependent details present during this learning period. COMPUTER-1 is a decimal machine with a small modern single address instruction repertoire. A run-time view into COMPUTER-1's memory and registers is provided to help in program understanding and debugging. COMPUTER-1 provides a flexible instructor-oriented method for specifying and evaluating programming assignments and a way for students to determine whether and how well their programs have worked. COMPUTER-1 runs under UNIX and presumes the availability of a CRT with full-screen cursor addressability. COMPUTER-1 is a modern descendent of BASIC1 [1] in that it simulates a more contemporary architecture and possesses interactive features which are not tied to the capabilities of hard copy terminals or card readers.
Numerical methods and the micro
Authors: McBride William E.
Published: July 2004

Most of us that teach in the numerical analysis/numerical methods area have been relying on large mainframes for years as a valuable tool in solving our problems of any size. Thus when the micros came along a few years back our natural inclination was to avoid them since they appeared to have nothing new to offer us. We perhaps thought “How could such a small machine compete with the real number crunchers we had become enamored with?” However, we only have to read the popular press to see the impact they are having all around us. Hence, it became imperative that we do look into the possibility that maybe they can make some valuable contributions. As Kelch and Hansen [1] implied in their article, there are many small colleges that can ill-afford the cost of a mainframe or even a mini but still they wish to teach meaningful courses. Aside from this perhaps there are concepts that can be illustrated in a more meaningful fashion even if a super-mini or mainframe is available. It was in this later vein that this project was undertaken.

After viewing the rather amazing graphics that one could realize on an Apple II in a game-playing environment, the author decided that there must be some way that they could be used in a meaningful way in a classroom or course. The purpose of this report is to discuss the way that the Apple II graphics were used to display several popular numerical algorithms. It should be pointed out here that there is nothing special about the Apple II and the graphics did not have to be done in color to illustrate most of the important points. It was simply the case that the author used the type of machine that was most readily available to him.

It was the author's feeling that beginning numerical methods students could more readily relate to many of the techniques if they had a visual image to relate to. The old adage “a picture is worth a thousand words” comes to mind. Although it is possible to give graphical illustrations in a textbook and in class, typically this is such a time-consuming task that one can only look at a few special cases. It was the plan of the author to allow the programs to accept a variety of functions for actual implementation by the user. The student will be able to alter various parameters as he runs an algorithm which will allow him to answer questions like “What if I do the following?”
A central Ohio consortium for retraining in computer science
Authors: Karian Zaven , Zweben Stuart H.
Published: July 2004

A Consortium of eight Central Ohio colleges and universities is described. The purpose of the Consortium is to provide opportunities for faculty at the participating institutions to be retrained in the field of computer science. These faculty will then be able to return to their home institutions to develop and teach computer science curricula. The program provides flexibility of scheduling the retraining, in terms of the time of year and nature of the retraining undertaken by the individual participants.
Managing and evaluating students in a directed project course
Authors: Sanders Dean
Published: July 2004

Evaluating individual students is especially difficult in a Directed Project course because the content is dictated by the projects rather than by a fixed syllabus. By merging the evaluation process with the project management tasks, and by using prepared checklists for peer, task, and meeting evaluations, students working in a group may be evaluated as individuals and the same grading criteria may be applied to all students even though they are working on different projects.
A microprogramming simulator for instructional use
Authors: Parker J. R. , Becker K.
Published: July 2004

The teaching of computer architecture at a low level is made difficult by the complexity of the real systems which are used as examples and tools. This paper describes a processor simulation system which is intended for use at the second and third year undergraduate level for teaching techniques and concepts in the implementation of instruction sets and microprogramming. The important features of this system are in the user interface, and not necessarily in the actual processor which is simulated.
Should everyone learn anything?
Authors: Baron Naomi S.
Published: July 2004

In developing a new area of knowledge, one of the most difficult problems is working out a framework in terms of which to define the area. The emerging subject of “computer literacy” is a case in point. What should colleges and universities teach about computers? And to whom? Rather than beginning with such “computer literacy” issues themselves, we start with the more basic question of how educators make
any
decisions about the appropriate content and audience of higher education. The question of teleology in higher education is examined in terms of four conceptual categories: acculturation economic considerations, social mechanisms, and mental discipline. These four categories offer one plausible framework for crafting rational procedures for deciding what to teach college students about computers.
A proposed computer education curriculum for secondary school teachers
Authors: Taylor Harriet G. , Poirot James L.
Published: July 2004

A 1983 study investigated the certification of high school computer science teachers. A major portion of the study was devoted to the identification of those computer science courses most appropriate for such teachers and, therefore, for certification programs. This paper presents the results of the study and proposes a computer education core curriculum based on those results.
Advanced placement in computer science
Authors: Comer James R. , Schember Kurt A.
Published: July 2004

A discussion of an in-service course designed to give high school teachers the background needed to teach an Advanced Placement course in Computer Science is presented. The discussion outlines the decisions made regarding equipment and other facilities, support personnel, and textbooks. Course outlines are presented, along with an evaluation of the course.
Computer science learning at pre-college ages
Authors: Rosso Mark A. , Bowyer Kevin W.
Published: July 2004

This paper has been accepted for publication in the proceedings, but the photo-ready form was not received in time. Copies of the paper should be available upon request at the presentation. It may appear in a later issue of the SIGCSE Bulletin.
Women in science and academe
Authors: Wieckert Karen , Dale Nell
Published: July 2004

Karan Wieckert will outline the process, conclusions and recommendations of a report published in February of 1983 by the female graduate students and technical staff in computer science and artificial intelligence at the Massachusetts Institute of Technology. Incidents of subtle discrimination from the laboratory work environment will be described as well as general assumptions which give rise to these problems. Also, the effects these incidents have upon women and recommendations for alleviating the problems will be presented.

Nell Dale will present the results of a project of the Women in Science Career Facilitation Program of the National Science Foundation. Re-entry projects for women with undergraduate degrees in the sciences were funded over a seven year period. As a part of the final survey questionnaire sent to over 140 participants, a section on discrimination was included. The results of this section will be presented.
Some thoughts on teaching first year programming
Authors: Dupras Marcel , LeMay Fernand , Mili Ali
Published: July 2004

Teaching programming to first year classes is most often considered a matter of minor importance. We think otherwise. This paper expresses our viewpoint on the matter and reports on an experiment supporting our viewpoint.
“Do I press return?”
Authors: Levine Liz , Woolf Beverly , Filoramo Rich
Published: July 2004

The introductory programming course at this university attempts to serve some 1500 students each semester. The attrition rate, due in part to the overload on the system and in part to the students' difficulties in “keeping up”, has, at times, approached 25%. In response to this situation we have revised and reordered the curriculum for use in an experimental course designed for the novice user. The course is directed toward discovering and addressing the confusions of new programming students. It facilitates our ongoing study of the novice programmers' response to graphics, friendly interface packages and the revised curriculum which includes the teaching of procedures and control structures at the beginning of the course. In studying these responses we have learned some techniques in aiding the novice user to unravel some of the mysteries surrounding the acquisition of programming skills. The course is constantly undergoing development in addition to being in its second semester as a departmental offering. It is detailed in this paper.
Computer-based management systems
Authors: Mein Bill
Published: July 2004

Much has been written regarding the need for students majoring in information systems to take a sequence of courses in communications, both oral and written. Most curricula relegate this important area to electives. This curriculum in Computer-based Management Systems (CMS) addresses this issue in a straightforward manner by incorporating courses in humanities and technical communications as part of the major requirements. The curriculum and facilities supporting the curriculum are discussed.
An implementation-independent approach to teaching recursion
Authors: Ford Gary
Published: July 2004

The principle of abstraction, of separating a concept from a particular implementation of that concept, is gaining increasingly widespread use in programming and problem solving, and in teaching these subjects. A method of teaching the abstract concept of recursion, independent of its implementation, is presented.
Introductory programming reconsidered - a user-oriented approach
Authors: Cherniak Bob
Published: July 2004

A comprehensive plan for an introductory Computer Science Course is presented, a plan where experience with a computer from the user point of view is a major component, not only for its own sake but as a stimulant for the development of clean programming habits.
Recommendations on computer science curriculum for undergraduate degree programs
Authors: Austing Richard , Barnes Bruce , Engel Gerald , Stokes Gordon , Hammer Preston
Published: July 2004

This panel will discuss two recently completed reports of ACM's Curriculum Committee on Computer Science (C
3
S) and two reports currently in progress. One of the completed reports presents recommendations for topics appropriate for the freshman and sophomore years of an undergraduate degree program in computer science; the other one contains a post “Curriculum '68” bibliography of literature on computer science education. The reports still in progress address service courses and identify topics appropriate at the intermediate level of a computer science undergraduate degree program. These reports are part of a projected series of reports intended to update “Curriculum '68”.
Secondary school model automatic test generation
Authors: Muscat Eugene J.
Published: July 2004

A review of the literature dealing with automatic test generation yields a wide variety of subject matter applications. Most decriptives, however, deal with college level projects. This paper out lines secondary school requirements that may encourage the development of appropriate test generation models. Our discussion will center on a common need for remediation at the secondary level, namely, mathematics skill building (addition, subtraction, multiplication and division). The subject matter selection is only to assure that the suggestions made are as concrete as possible. The paper will concentrate on the structural and procedural aspects of school site test generation and will not deal with the computer programming requirements.

The basic model assumes remedial curriculum that will be directed as a student population of 500 students. This supposes that the entire student population is not utilizing a single test generation package. The recommendations allow for adding additional curriculum services and increasing student use. A test generating laboratory should emerge that would operate as a service bureau. This center will be detailed below.

The discussion will be organized under the following headings:

The discussion will be organized under the following headings:

Hardware Requirements

Turnaround

Personnel

Cost
Realism, style, and design
Authors: Freeman Peter
Published: July 2004

Although the importance of providing realistic educational experiences involving the design of software systems has been recognized in many undergraduate curricula, it is difficult to consistently do so. With the constraints of an existing curricula and a small amount of class time a course has been developed that provides a rich experience in software design, including the critical aspects of group work and programming and documentation style. The course, its goals, and main features are described and analyzed. Experience with the course is reported and the problem of evaluating such a course is discussed.
On-line large screen display system for computer instruction
Authors: Cheng Richard
Published: July 2004

This paper is concerned with a new instructional method to teach computer programming techniques to students in Computer Science as well as other scientific and non-scientific disciplines. Several courses in the Computer Science curriculum could be substantially enhanced if the instructional gap between the classroom lecture and the computer programming excercises could be eliminated. Rochester Institute of Technology has experimented to achieve this objective by means of an on-line large screen display system which will permit the instructors to perform classroom demonstrations to emphasize the key point of concepts or example of applications to a class of students through a keyboard with a computer. This new instructional method will eliminate deficiencies in conventional chalkboard approaches which result in material being covered too fast to be digested by the students or the course content to be diluted to match the pace of the class.
Speech synthesis for computer assisted instruction
Authors: Sanders William R. , Benbassat Gerard V. , Smith Robert L.
Published: July 2004

The Institute for Mathematical Studies in the Social Sciences at Stanford (IMSSS) has developed a synthesis system, MISS (Microprogrammed Intoned Speech Synthesizer), designed to test the effectiveness of computer-generated speech in the context of complex CAI programs. No one method of computer controlled speech production is completely satisfactory for all the uses of computer-assisted instruction (CAI). The choice of synthesis method is strongly related to the kinds of curriculums and instructional designs that will use speech. We chose to use acoustic modelling by linear predictive coding as the method of synthesis for MISS.(1)

In Section 2 we describe criteria appropriate for organizing the comparison of voice response systems for use with instructional computers. Then we describe the particular requirements imposed by curriculums at IMSSS, review general voice synthesis techniques, and finally discuss our actual choice. In Sections 3 and 4 we outline the hardware and software that have been created to support MISS in operational CAI at Stanford.

In Section 5 we discuss the applications of audio to CAI.
Another look at the discrete structures course
Authors: Prather Ronald E.
Published: July 2004

Over the last several years since the introduction of B3 (Discrete Structures) into the undergraduate computer science curriculum, the course has been the subject of continuing controversy. The major difficulties later found in implementing the course were easy to foresee from the most casual reading of its original description in Curriculum '68 [1]. The necessary placement of the course in the sophomore year, the relative sophistication of the intended subject matter, and the lack of sufficient preparation of most beginning students in these areas and in appropriate computer science areas of application, all have contributed to problems in the implementation of the ACM Curriculum Committee recommendations.

We will discuss each of these problems in turn, and hope to provide new insights toward achieving a satisfactory solution.
How much cai is hidden in commercial software?
Authors: Sobel Helen L.
Published: July 2004

It is somewhat astonishing to find that a well-developed software package designed for business uses provides an extremely interesting teaching instrument with an as yet unrealized potential

For many years report generating systems such as REPORTER have been extensively used as work horses in business and industry. Administrators in these areas require up-to-date information presented in an understandable, well-organized form. The business executive may need a daily, weekly, or monthly report of the sales records of the company's employees, listing for each sales representative the number of items sold in each category, the amount of income produced, the number of items returned in each category, etc.

The Burroughs
REPORT
writ
ER
is based upon an entirely different premise which not only permits but encourages user involvement and understanding. The programs which create each REPORT are accessible, small, modular in structure, and limited to the specific options requested by the user. While it can be easily used in a non-technical manner, and need not be explored in any depth, there are no formidable barriers to a more intelligent mastery of this tool.

The unique characteristic of the Burroughs REPORTER is its production of an independent COBOL program for each set of specifications entered. It
A proposed course on data processing economics
Authors: Phister M.
Published: July 2004

Universities are often criticized for being too academic—too far removed from society's real problems. One reason for this remoteness is the academic preoccupation with analysis, despite the fact that the solution to many practical problems requires synthesis or invention. Another reason—and this is the one I want to discuss—is that faculties in science and engineering by and large are interested in the science of technology, and devote little or no time to teaching the economics of technology.

The problem is a general one and I believe it deserves attention by all scientific and engineering faculties of the university (?). It is particularly important in the computer field, where growth and change are the norm, and where we all must be careful, in making decisions, to take into account trends and directions in the economics of data processing. I propose a course entitled “Data Processing Technology and Economics” as a solution to the problems described above, and in this paper I will describe the course, which is based on a textbook I have been preparing for the past several years. The course has been taught twice: at Harvard University in the Fall Semester 1974-1975; and at the University of Sydney, in Australia, in the Michaelmas Term, ]975. However, before describing the course in detail, I would like to explain, with the help of some examples, why I believe this subject is important to the student of Computer Science.
Report on acm's activity on community and junior college curriculum career program in computer programming
Authors: Little Joyce Currie , Seeds Harice , Lenhardt Ronald , Dineen John , Maniotes John
Published: July 2004

A Workshop in Two Year College Programs in Computer Science was held August 11-13, 1975 in Gloucester Point, Virginia. Sponsored by the ACM's Special Interest Group in Computer Science Education (SIGCSE), it brought thirteen community and junior college participants together at the Virginia Institute for Marine Science (VIMS) to work toward recommendations for a two year program.

Representing ACM were Dr. Richard Austing, Chairman, SIGCSE, Associate Professor in the Computer Science Department of the University of Maryland, and Dr. Gerald L. Engel, Executive Secretary of the ACM Curriculum Committee on Computer Science (C S), Director of Computing and Statistical Services at VIMS, Dr. Bruce Barnes of the National Science Foundation also attended.

Joyce C. Little, Chairman of the ACM's Two Year College Subcommittee of C S and Professor and Chairman of the Data Processing and Computing Sciences Department at the Community College of Baltimore, served as Chairman of the Workshop.

This panel presentation, given by participants in the workshop, is the first public discussion of the material under development by this group, being chaired by Joyce Currie Little, Chairman of the Ad Hoc Subcommittee for 3 Community and Junior College Curriculum, serving under the Curriculum Committee in Computer Science (C S). Reaction to, and discussion of, the preliminary findings of this group, will been couraged from the audience.
A generalized system for university mathematics instruction
Authors: Smith Robert L. , Blaine Lee H.
Published: July 2004

EXCHECK is a system for developing mathematically-based CAI courses. It is currently being used at Stanford University to teach a college-credit course in axiomatic set theory

The design of this system had several goals. First, we wanted an instructional system that would provide a semantic base for our work on processing natural language and computer-generated audio. Axiomatic mathematics fits this description in that the underlying semantics is relatively well understood, but many of the interesting problems of natural language are also involved in the informal language of mathematics and the informal expression of mathematical proofs.

Second, we recognized that traditional proof checkers were inadequate for teaching mathematics, or for that matter, introductory logic. People understand mathematical concepts and arguments at a level much higher than the traditional formal systems of mathematical logic.

Finally, we designed the EXCHECK system to be an extensible system in which other curricula could be implemented with incrementally less work.
Learning theory and political socialization
Authors: Swigger Kathleen M.
Published: July 2004

The purpose of this C.A.I. module is to introduce students enrolled in undergraduate courses in political science, sociology, and education to aspects of learning theory that have direct application to a study of political socialization. The interactive module demonstrates how various models representing learning theories can be used to describe the process by which individuals acquire their political behavior. The purpose of this C.A.I. module is to describe learning theory in such a way as to guide students in critically constructing and evaluating their own assumptions concerning the nature of the process of political socialization. Thus, it is felt that these lessons can contribute to a better understanding of the prominent literature that deals with questions considered relevant to a discussion of political socialization.

The lessons in the module were written in the Instructional Dialogue Facility (IDF) on a Hewlett-Packard 2000 at the University of Iowa. These lessons call over a dozen BASIC programs specifically written for the module. The lessons allow for self-pacing and freedom of choice concerning the number and type of learning subtasks that the student undertakes at any particular time. The module not only enhances the courses for which they were designed but also adds to the inventory of interactive lessons available to all users of computer assisted instruction.
Computing science courses - training or education?
Authors: Willis Neil
Published: July 2004

The debate about the usefulness or otherwise of Computing Science degrees has raged for some time.

Critics of these degree courses have stated that the courses do not satisfy the needs of commercial and industrial users; that they do not train the graduate to be of immediate use or that the subject is developing too rapidly for degrees to impart any lasting knowledge and so on.

It may be (and is) argued by some, that an Institute of Higher Education (be it College, Polytechnic* or University) should not aim to train students to be of immediate use to industry. However there is obviously a demand for trained personnel in the computing field, as demonstrated by the proliferation of courses run by manufacturers, various professional bodies and commercial organizations, and it is to satisfy this demand that a number of Polytechnics in England, and Sheffield Polytechnic in particular, have designed courses aimed at
educating
students in the field of computing.