bluuebunny/crossref_metadata_2025 huggingface dataset:
The structure and use of a test generating system designed to facilitate individually paced instruction
Authors: Palay Roger M.
Published: July 2004

The structure and use of a test-generating system having the following parameters is described.

1. Each test is a ten item multiple choice instrument where each item has five (5) alternatives.

2. Each test is generated from a relatively small file (most often less than 150 card images).

3. Although the file contains only five (5) disjoint tests, over nine million different tests (each with its own set of correct answers) can be generated from it.

4. The correct answers to each test are stored directly on the test (in coded form).

5. Test responses are machine correctable and such correcting need not be done on the system that generated the test.

6. The reliability of different forms of tests generated from one file is theoretically high (no statistical evidence is available to support a claim of high reliability).

7. The grading program produces a total score as well as giving the correct answers for all items on that test.
Learning mathematics with recursive computer programs
Authors: Peelle Howard A.
Published: July 2004

Recursion is a powerful idea*—with correspondingly powerful implications for learning and teaching mathematics. Computer scientists have previously pointed out that the use of recursion often permits more lucid and concise descriptions of algorithms [1]; mathematicians know that recursion is a fundamental concept upon which entire systems of mathematics can be built [11]; and, the theory of recursive functions is now developing into an area of mathematics whose importance has been compared with that of geometry and algebra [3].

The purposes of this paper are to illuminate the fundamentals of recursion; to illustrate several recursive computer programs which provide perspicuous representations of certain mathematical procedures; and to invite students and teachers of mathematics to reach greater understandings by trying them.
Teaching a computer-based college level statistics course in a secondary school
Authors: Wolkov David
Published: July 2004

This paper discusses experiences in utilizing an HP-2000 system as the framework for teaching computer programming and statistics. The statistical approach relies upon the binary model; this model is developed by each student using the random function generator. Although empirically heuristic, such an approach provides a useful intellectual base for developing all other statistical notions more formally. Student experiences in researching the role of computer science and/or statistics in their career choices led three students to select Computer Science as a major at California State University, Northridge.
Computer graphics as an aid to teaching geometric transformations
Authors: McAdams Joseph K. , DeKock Arlan R.
Published: July 2004

During the past several years, there has been much discussion and controversy over what should be taught in high school mathematics, in general, and in high school geometry, in particular. Numerous mathematicians have encouraged the teaching of transformations as part of the standard high school mathematics curriculum[l-4,6-9]. The results of a recent survey of high school teachers of mathematics indicate that 19% have taught geometric transformations, 26% feel adequately prepared to teach such a topic, and 50% would like to teach the topic if materials were available for the average college prep student[5].

The topic of transformations is important because transformations are a unifying factor in algebra and geometry. Algebra and geometry are essentially the same material taught from different approaches. In particular, the abstract algebraic concept of a group can be conveyed in purely geometric terms by groups of transformations.
A new approach to teaching a first course in compiler construction
Authors: Shapiro Henry D. , Mickunas M. Dennis
Published: July 2004

A new approach to teaching a first course in compiler construction is presented, in which the traditional term project is replaced by several smaller, independent, programming assignments. Each assignment is a compiler for a simple language using a different parsing technique. A means is described to augment the programming assignments, so that a greater variety of experiences is provided students. A short review of the literature is included.
ASSIST-V
Authors: Hughes Charles E. , Pfleeger Charles P.
Published: July 2004

This paper describes a program called ASSIST-V which is designed to provide students and other researchers with an environment in which they may write and analyze operating systems for the IBM 360/370 series of machines. ASSIST-V is an extended version of a student-oriented assembler/interpreter called ASSIST. A user of ASSIST-V is presented with a machine which simulates the full set of S/360 machine instructions (including privileged instructions): the standard 360/370 interrupt structure, I/0 channels, and I/0 devices. Since the machine environment is simulated, ASSIST-V can provide debugging and statistics-gathering features not available on an actual “bare” machine.
Using GPSS to teach operating systems concepts
Authors: Lamie Edward L.
Published: July 2004

Operating systems concepts are taught in many undergraduate curricula. Assignment of a student project involving the development of an operating system creates a difficult situation due to time and financial considerations. Using GPSS to simulate the behavior of the student-created operating system can diminish these problems and serve as an effective learning device. Many features and concepts can be simulated that might otherwise be ignored in a student project.
Becun the educational computer user's network at battelle
Authors: Beerman Thomas H. , Jonesku Gregory S.
Published: July 2004

The Educational Computer User's Network at Battelle represents a unique application of the joint-computer-center concept. The program is unique in two respects. First, it is a cooperative effort between a group of Ohio colleges, secondary schools, and a large research-oriented organization. Second, the entire program has proceeded without any federal or other outside financial support. Both Battelle and the schools have participated by utilizing funds available within their own operating budgets.

The purpose of this paper is to describe the program and some of its results from the viewpoint of Battelle's Computer Center.
Instructional uses of the olin experimental classroom
Authors: Kumar V. K. , Rogers James L.
Published: July 2004

The Olin Experimental Classroom at Case Western Reserve University provides a laboratory-like environment in which instructors can assess the results of trying out different teaching methods, techniques, etc. From a hasty look at three of the essential hardware components of this facility as shown in Figure 1 - keyset response units for each student, a process-control computer which scans the response units, and a display for the instructor - one could easily conclude that the Olin Experimental Classroom is simply another “student response system” or “wired classroom”. In fact, the differences between the traditional student response systems and the Olin Experimental Classroom begin with the very purposes for which these facilities are intended, and the differences extend to every aspect of t h e i r respective operation.
Computer-controlled display demonstrations of dynamic concepts in computer science
Authors: Levine David R.
Published: July 2004

Computer Science contains a large number of new concepts well outside most students' prior experience. An important characteristic of many of these concepts is their dynamic nature: the execution of a program, assignment of a value to a variable, change of machine state following an interrupt, convergence on a root. By using the computer itself as my demonstration apparatus, I propose to give the students personal exposure to the concepts in action. With a low-cost interactive CRT terminal and video projector, I can show various aspects of a program executing, for instance, at comparatively low investment in machine and people time.
Modeling the student and the discipline in CAI drill and practice
Authors: Lorton Paul , Killam Rosemary N.
Published: July 2004

Models built into computer assisted instructional courses have several advantages. They make the underlying theoretical assumptions more explicit and, at the same time, give a clearer direction to the actual development of the CAI program. The purpose of this discussion is to present some of the areas in which models have had an implicit or explicit impact and to indicate how our current work is focused by these efforts.

The main purpose of the modeling discussed here is to provide better, more effective instruction (models of the learner) with substantially generated curriculum (models of the discipline). The drill and practice context is emphasized because that is one with a history of models in both areas and one which has demonstrated potential.
Software engineering education
Authors: Freeman Peter
Published: July 2004

A report will be made on the results of a one day invitational workshop held at the University of California at Irvine on 9 February 1976. The workshop will have brought together 50 leading educators and practitioners to discuss software engineering education and training: goals, constraints, and methods as seen from different perspectives.

Workshop Goals

Increased awareness by all of the specific needs for software engineering education and training; a better understanding of the present and future role of software engineers; feedback on current trends in software engineering education; a published record of the workshop including contributed position papers and an abbreviated report of the discussions in order to make the proceedings available to a wider audience.
QUICK
Authors: Fletcher Sharon , Luce Thomas
Published: July 2004

Traditionally, CAI has been characterized by (1) individualized instruction based on performance, and (2) real-time interaction. Efforts to provide CAI on general purpose equipment have not been successful, and as a result many have turned to dedicated equipment (TICCIT, PLATO). An alternate approach to CAI, on general purpose equipment, is proposed in this paper. A typical interaction between a student and a CAI system can be viewed as a stimulus from the system, followed by a response from the student, followed by feedback plus another stimulus from the system. In many applications, the student response interval can be relatively long. The approach used by QUICK is to purposely extend this student response time by means of the type of stimulus issued; then it is no longer necessary to have an interactive program waiting for the student to respond. Instead, the interaction can be accomplished via a batch job triggered by student input. In the QUICK system, the unit of courseware is a task, consisting of information, instructions, and a number of questions to be answered, which may take the student from a few minutes to several hours or days to complete. In a science course, for example, a task might contain instructions for performing an experiment. Such a system has a wide range of applications, from CMI type uses which primarily direct the student to existing materials for study, to CAI type uses which provide tutorials and drill excercises for the student. The QUICK system has been implemented and used in a first year Biology course and an introductory FORTRAN programming course at PURDUE. Student input can be accomplished via several devices - teletype terminal, punched card reader, or marked sense card reader. This paper presents some details of the currently implemented QUICK system, as well as some goals and future directions.
An interactive program advising system
Authors: Gillett Will
Published: July 2004

This paper describes components of an Interactive Program Advising System (IPAS) for beginning programming students. The system, being unaware of the algorithm being implemented by the student, is unable to direct the student toward writing a correct program. It instead comments on the programming constructs the student has used in the specific implementing language—in this case FORTRAN.

Beginning programming students often write poorly structured programs (especially in a non-block-structured language like FORTRAN) with constructs which, while legal, indicate that the student doesn't really understand the operation being performed. Data is currently being collected on “conceptual errors” commonly made by beginning students. This paper describes some of these “errors” and what comments can be presented to the student to help him understand and correct his own “errors.” A subsequent paper will present statistics on frequency of errors and plausible student logic which would produce the errors.
Panel discussion
Authors: Bar Avron , Brown John Seely , Gentner Donald , Goldstein Ira , Miller Mark , Fletcher J. D.
Published: July 2004

An important area of computer-assisted instruction is the development of intelligent instructional systems. These systems can be distinguished from more conventional approaches by the automation of instructional interaction and choice of strategy. They promise both to reduce the costs of instructional materials preparation and to increase the adaptability and individualization of the instruction delivered. An appropriately intelligent instructional system should create a reactive environment in which a student can test his own hypotheses concerning the subject matter, probe for information at different levels of difficulty and abstraction, acquire wide experience in minimum time, obtain instructional material generated for his unique abilities and needs, receive instructional aids for partially completed solutions, and receive critiques for completed problem solutions.

The panel is composed of investigators who are actively engaged in the design, development, and evaluation of intelligent instructional systems. Each member of the panel will briefly outline an aspect of his current work that illustrates a problem or issue appropriate for general discussion. An attempt will be made to assess the state-of-the-art of intelligent instructional systems and to indicate reasonable next steps for their development. Attendees are encouraged to arrive bearing questions, comments, and information.
Computer science and minority colleges & universities
Authors: Lewis Jesse
Published: July 2004

Jackson State University is the lead institution in a Cooperative Regional Educational Computing Network. The network is funded by the National Science Foundation. When it began operating in January, 1974, it involved eleven (11) other participating institutions. Now there are seventeen (17).

The purpose of the network is to provide appropriate equipment, with an accompanying massive educational effort, so as to allow each of the participating institutions to become more aware of the academic implications of computers. The ultimate goal is to profoundly affect basic curricula.

The results have been positive. Some faculty at participating institutions have reconstructed course content so as to include the use of the computer at appropriate points in their courses. More positive is the fact that a large number of students from disadvantaged educational and cultural backgrounds now have access to interactive computing.
Self-assessment for the computing professional
Authors: Frederick Terry J.
Published: July 2004

Self-assessment is a procedure based on questions and answers covering knowledge in technical areas which allows an individual to determine his own activities for the purpose of keeping up with progress in his field. It is assumed that the individual wishes to continue active learning and that he wants to identify his deficiencies (usually in a manner where no one else knows of them).

A major premise regarding self-assessment is that it should primarily be an educational experience for the participant.

An alternative to using the professional testing agency approach for developing and administering self-assessment procedures for the computing field is proposed.
An alternative to curriculum 68
Authors: Dumas Robert J. , Nieberding Anne E.
Published: July 2004

The authors of this paper have had the opportunity to view computer science (CPS) curricula from three different perspectives - as students themselves, as professional applications programmers, and as employers of current computer science majors. We are concerned that the typical course of study is no longer adequate to prepare students for the real world of computer applications. The purpose of this paper is to point out some problem areas and to suggest an alternative.
The why and how of discrete structures
Authors: Berztiss A. T.
Published: July 2004

Eight years after Curriculum 68 there is still much uncertainty regarding the place of discrete mathematics in a computer science curriculum. This paper explores the purposes of discrete mathematics courses in a very broad context. It is suggested that discrete mathematics be distributed over two courses, and that the attitudes established in the courses are more important than the contents of the courses.
On the use of pointers and the teaching of disciplined programming
Authors: Carvalho Sergio E. R. , A. Nóvoa Miguel Angelo
Published: July 2004

In the past few years there has been considerable debate over the question of pointers in programming languages. Some maintain that pointers should not be allowed, while others try to restrict their use in a number of ways. In this paper we try to justify our view that pointers are a natural and useful way to teach beginners in Computer Science to manipulate list structures, provided a group of strong limitations is placed upon them. We define pointers in SPL, a language to teach beginners disciplined programming.
A graphical technique for describing recursion
Authors: Jackson Glenn A.
Published: July 2004

One concept in computer science that is very difficult for the beginner to grasp, and equally difficult for the instructor to present in a straight-forward understandable manner, is the concept of recursion. Since this is a fundamental concept through which the amount of computer code required for some algorithms can be drastically reduced, an instructor must discuss this area early in a student's career, even though he runs the risk of confusing a few students for a lecture or two. This paper presents a method of describing recursive procedure calls that utilizes a form of self-generating state diagram. This approach enables the student to visually keep track of where program control is located at each moment during execution.
Selecting languages for pedagogical tools in the computer science curriculum
Authors: Smith Carol , Rickman Jon
Published: July 2004

The selection of languages for use as pedagogical aids in the teaching of computer science is still a big issue at most universities. The rebellion against FORTRAN has given rise to numerous heirs to the throne, eg, PL/1, ALGOL, PASCAL, etc. In deciding how to resolve this issue small departments have to consider the effect the decision might have on the productivity of their faculty. The analysis of this problem as viewed at SIU-Carbondale is described within. The analysis is performed by applying a set of criteria to a list of potential languages.
Computer science by TV
Authors: Eccles William J. , Gordon Brian G.
Published: July 2004

Our use of television to teach the first computer science course for computer science majors is an attempt to make sure that the students get the right education. In our case it is not an attempt to enable one instructor to handle a large number of students but rather to handle small groups of students spread throughout the state.

As a result of some shortage of computer science faculty, teaching beginners is often considered of lesser importance than other duties. For example, at one college in our state, an instructor with a little programming experience was hired to teach the beginners in computer science. This instructor felt he was well-enough equipped to handle the course. He covered the entire text and taught two languages, Fortran and PL/I. Our experience shows we can't cover two-thirds of that text, and then only in one language.

Ours is the first computer science course which our majors take. It presumes no programming experience. It has two goals, to introduce the student to the fundamentals of computer science through a study of algorithms and programming, and to start the student well into PL/I. The course is taught as a one-semester four-credit course which meets five times per week.

We made half-hour video tapes under excellent production conditions to cover the material of the course.
COMPUTER-TUTOR
Authors: Linder William H.
Published: July 2004

COMPUTER-TUTOR is a software package that presents interactively a self-paced, competency-based course in elementary FORTRAN programming. It developed from a project in a course where students design and implement a large-scale programming application. A COMPUTER-TUTOR course, presented on a PDP11/45, consists of nine modules-each module having a lesson, quiz, and programming assignment. A student must pass the quiz in a course-module before going on to the next module. The course grade depends on the number of modules completed. The student-commands LESSON, QUIZ, PROGRAM, OUTLINE, REVIEW, and INFORMATION bring the instructional material (CAI). The instructor uses eight support commands to monitor student progress and course material. COMPUTER-TUTOR will next be expanded to include courses in BASIC and COBOL.
Topological sorting as a tool in curriculum planning
Authors: Meinke John G. , Bauer Charles R.
Published: July 2004

Topological sorting provides a partial ordering for a group of data items for which a partial linear ordering exists.

Our use of the topological sorting algorithm has been in the logical organization of curriculum content. Curriculum content can vary from organizing a forty minute lecture to planning a four year sequence of courses. Application of topological sorting to the curriculum content results in a logical organization of the concepts, which may or may not be unique. Users of TOPSORT claim a major time savings in the long run. Backtracking to cover prerequisite concepts in teaching is reduced.
Use of structured flowcharts in the undergraduate Computer Science curriculum
Authors: Haskell R. E. , Boddy D. E. , Jackson G. A.
Published: July 2004

Over the last four years a new Computer Science major program has been introduced into the curriculum of the School of Engineering at Oakland University. During this period computer science educators throughout the country have debated the best way to introduce structured programming into the curriculum. There is now a widespread belief that beginning FORTRAN courses cannot be taught using structured programming in a form that is palatable to freshmen students without the aid of a structured FORTRAN preprocessor. Our experience in teaching structured programming using FORTRAN to large numbers of freshmen students has indicated that this widespread belief is false.

We will illustrate the use of structured flowcharts with FORTRAN in Section 2 by showing one of the actual programming assignments that was given to our freshman introductory computer course this term. The same structured flowcharting techniques are used throughout the curriculum. An example that uses ALGOL and is taken from our junior level data structures class is given in Section 3. The use of the structured flowcharts forces all programs to be well-structured and encourages a top-down approach to programming. It is a very useful vehicle for describing any language-independent structured algorithm. An example of using structured flowcharts to describe a simple precedence parser in a senior course on compilers is given in Section 4.
An internship in information systems
Authors: Buck John , Shneiderman Ben
Published: July 2004

Computer science graduates who become professional programmers will have a direct and substantial influence on the impact of applications, but little in traditional computer science training curriculum prepares them for this serious responsibility. Recognizing this situation, we designed a two term sequence for advanced undergraduates and masters students which would not only provide them with the required academic knowledge. The educational atmosphere that we tried to create resembles the internship phase followed in teacher training, medical schools, law schools, clinical psychology and other disciplines.
A training program in computer applications in the health sciences
Authors: Lake Robin B.
Published: July 2004

Case Western Reserve University has developed an intensive 12-month post-graduate Training Program to educate health professionals in the application of computer technology. A Master of Science degree is awarded upon completion of a set of formal courses and implementation of a computer-based project. The program emphasizes computer applications for the structuring, manipulation, and display of medical information.
A report on the curriculum recommendations of the ACM sub-committee for community and junior college curriculum
Authors: Smith Bobby , Whiteside Eric , Leidlich Charles , Little Joyce Currie , Austing Richard
Published: July 2004

Final recommendations for the two-year college curriculum to educate computer programmers for applications programming in a general setting of commerce, industry, and government service will be presented. The attached draft of the report was that used by the group prior to the May 27-28 Workshop, during which reactions from industry and professional society representatives were obtained.

After a summary of the content of the report is given by the chairman of the ad hoc sub-committee, comments will be heard from panel participants. Afterwards, a brief critique will be given by a discussion leader, followed by discussion with the audience.

Copies of the completed report should be available during the panel session.
A computers and society course
Authors: Dalphin John F.
Published: July 2004

The experience of developing and presenting a television series in the area of computers and society is related. An existing seminar course with upper division students is used to provide recordable topic discussions and additional materials are developed around that nucleus.
Computer science
Authors: Nanney T. Ray
Published: July 2004

There is a wide divergence of opinion as to the appropriate content for an introductory computer science course. Approaches to teaching the subject range from “computer appreciation” presentations to rigorous courses for computer science majors. This paper presents the thesis that computer science has reached a level of maturity which allows it to be presented in a stimulating and intellectually honest manner to liberal arts students regardless of their majors, and that such a course is an important, almost essential, part of the curriculum for such students. A rationale for this view will be presented, and a course conforming to the rationale will be described.

In many liberal arts institutions, including mine, any subject which may be related to technology is regarded with suspicion; and zealous efforts are made to avoid contamination of the curriculum with unsuitable courses having a technological base. Because the rationale for the course seems to satisfy my colleagues in the more humanistic subjects, it is presented in some detail here for its possible value in other institutions.
Teaching both PL/I and Fortran to beginners
Authors: Newton Glen E. , Starkey J. Denbigh
Published: July 2004

The overall approach to programming languages taken in the course is to use PL/I (with the PL/C compiler) during the first part of the semester to introduce programming concepts and techniques, then teach Fortran (with the WATFIV compiler) during the last part of the semester [2,3]. Except for a brief discussion of conventional flowcharts to help students read the examples in the texts, Nassi-Shneiderman structured flowcharts are used throughout the lectures and labs [4]. Algorithms are written in PL/I using DO-WHILE as the primary control structure, and GOTOs are not introduced except in Fortran.
Classroom use of replaceable parts in a multiprogramming system
Authors: Bauer Henry R.
Published: July 2004

A multiprogramming operating system for the TI980A permits replacement of system primitives by a programmer familiar with the system's design and data structures. This paper describes the hardware features available; the method of use of the replaceable parts facility; typical student assignments for an operating systems course (e.g. ACM Curriculum '68 I4); and student reaction to the projects.
A course and project description for an undergraduate course in evaluation and measurement techniques for computer systems
Authors: Claybrook Billy G.
Published: July 2004

The course and project description for a one quarter (or semester) senior level course in evaluation and measurement techniques for computer systems is described. The primary purpose of the course is to introduce the students to evaluation and measurement techniques and to use some of these techniques in evaluating and measuring the performance of a multiprogramming operating system designed for a simple machine. The project is based on the availability of a simple multiprogramming operating system that can be modified by students to perform evaluation and measurement experiments. Five experiments are described in the paper. If a simple multiprogramming operating system is not available then the project may be omitted.
An improved hands-on approach to teaching systems programming and the impact of structured programming
Authors: Cooper Roger T. , Lane Malcolm G.
Published: July 2004

The use of the hands-on approach for teaching systems programming presented at the 1974 SIGCSE Conference has proved to be even more successful in the past two years. The reasons for the increased success are given. An approach of using structured assembler language concepts as an integral part of the systems programming course is introduced and discussed. Specific examples of the use of several structured programming macros are presented.
Some proposals for distributing central computing power at a University
Authors: Eckberg Carl F.
Published: July 2004

The object of this paper is to present a number of ideas for distributing computer time and power at a University with overtaxed centralized computing. Topics discussed include how to determine who gets computer resources and how much; how to share a centralized facility among administrators, researchers, and students; how to secure a flexible system for the user; and how to devise a system which encourages good user habits.

The computing history of San Diego State University (SDSU) is very briefly presented as background for the computer allocation proposals to be presented. The proposals themselves arose from an appointed sub-committee
1
and are presented in a rather top-down manner much as they were introduced on the SDSU campus. It is hoped that a number of other institutions will find some of the ideas or specific strategies proposed to be worthy of careful consideration.
Structured programming concepts in an introductory COBOL course
Authors: Mize Jan L.
Published: July 2004

This paper concerns an effort to implement structured programming concepts in an introductory COBOL programming course in order to improve student program design and techniques. Since COBOL's native habitat is a business environment with recurring processing cycles and evolving systems requirements, COBOL, perhaps more than other languages, exhibits a glaring need for orderly structure and rigid standards to provide for readability, maintainability and modifiability. It is difficult for a student in a one-quarter course to fully appreciate the significance of having these characteristics in his own program when they are reviewed months (or years) later or in programs acquired from someone else.
Quasi-Behavioral Objectives for curriculum specification
Authors: Baldwin Lynne J.
Published: July 2004

Quasi-Behavioral Objectives supersede the usual course descriptions, as are found in Curriculum 68 and college curriculum syllabi, by also describing the required behavior of the student and the learning level in the specified content area. The specification of an entire curriculum based on these objectives facilitates a smooth interfacing of courses, both in the hierarchy of course materials and in the progressive skill levels of the students. The development process for the creation of a curriculum specification based on Quasi-Behavioral Objectives is described and uses of these objectives beyond curriculum specification alone are suggested.
Computer literacy
Authors: Aikin John O.
Published: July 2004

The Evergreen State College is a fully accredited four year undergraduate liberal arts college of the State of Washington. Evergreen was founded in the late sixties as an alternative to the prevailing pedagogical model of undergraduate specialization. Evergreen instead favors integrated, thematic academic programs which typically involve faculty from several disciplines. From its inception the College has had a strong commitment to familiarizing its students with the computer as a tool. This paper outlines some of the methods used at Evergreen and indicates some of the lessons we have learned which may be useful to other liberal arts colleges.
Computer science education and the ideal of liberal arts
Authors: Brackett Gail B. , Nestman Chadwick H. , Spees Emil R.
Published: July 2004

With the watchword, slogan, and panacea of today being “Back to Basics”, it is especially appropriate that the ACM conference should look at the relationship of computers, computer science education, and the liberal arts. In keeping with realistic, pragmatic program learning, it is necessary that we define the terms to be used and the nature of the problem; that we review the budding efforts toward the solution; and finally, that we offer our own suggestions for the future. In order to avoid the inevitable conflict involved in defining what comprises liberal arts, we shall deal with the more global issue of describing the concept of liberal arts education.
Microcomputer utilization in basic programming courses
Authors: Cook Robert N.
Published: July 2004

Traditionally, classroom demonstrations of computer programs have been done on time sharing terminals connected via modems, phones, and phone lines to the university “central” computer. As anyone who has ever conducted such a demonstration knows, this approach is, to say the least, unreliable. It is not uncommon for professors standing in front of their classes to find that one of the elements in the electronic path from the keyboard to the computer and back to the monitors has failed or that the response time of the central computer is now measured in minutes instead of seconds. The result is that the students, while they may be entertained, certainly lose the value of the “on-line” demonstration. This paper discusses an alternative approach to classroom demonstrations—namely the use of the microcomputers.
An integrated small computer laboratory using a central disk storage facility
Authors: Moshell J. M. , Hughes C. E. , Aiken R. M.
Published: July 2004

One of the most important developments in the 70's has been the introduction of microcomputers. The impact of these systems presents a major challenge for computer educators today and in the foreseeable future.

Though educators have tried to adapt to this rapid change in technology, only recently have articles appeared describing experiences in integrating micro-systems in Computer Science curricula (5,6). Though each paper covers different topics in varying degrees of depth, almost all the authors agree that having a micro-lab facility provides students with exposure to concepts and problems such as:

- actual hardware

- computer operation

- operating systems

- backup procedures

- time dependent coding

- program size problems

- inter-computer communications

- scheduling

- maintenance

- computer management.

These are the types of problems students will encounter after graduation and this laboratory provides them with actual experience that previously was not available.
A workable interpreter project for a “Structured Programming” course
Authors: Levine David R.
Published: July 2004

Construction of a programming language interpreter has many beneficial aspects as a project for an intermediate level course. It provides a taste of the compilation process and an understanding of many issues involved in the structure and analysis of programming languages, all in a framework of an interesting, moderately large programming project. Over the past several years I have developed a workable interpreter, demanding a month or less, which successfully exhibits many important concepts. I hope that the presentation of this specific formulation, in detail, will prove of value to others.

This project provides an interpreter for a simple, statement-oriented language.
A project approach to structure and correctness in Pitt's second computer science course
Authors: Yelowitz Lawrence
Published: July 2004

The introduction of software methodological issues, including correctness and structure, into the undergraduate curriculum is aided by the availability of software projects which are not overwhelming, but nonetheless, are sufficiently complex to warrant a disciplined approach.

A project covering a “commercial” application is described here. The use and instantiation of abstract program schemas to a variety of contexts is illustrated, as is a sequence of incremental additions which preserve correctness at each stage.

Fuller details and a more formal description of this project, as well as of a project implementing a propositional logic theorem prover, are found in [1]. As a first step in appreciating the general applicability of these software methodological issues, students should realize that these methodologies were used in fundamental ways in developing both projects.
Introducing "theory" in the second programming course
Authors: Hilfinger Paul N. , Shaw Mary , Wulf Wm. A.
Published: July 2004

Traditionally, the first two programming courses have emphasized basic techniques and skills—the details of a programming language, basic problem solving and program development, “structured programming”, the manipulation of simple data structures and files, basic sorting and searching algorithms, etc.

Our principle motivation is the conviction that programming should be an engineering discipline, and that engineering disciplines must be grounded in engineering
science
. Further, to be effectively taught, this science must be introduced as early as possible. In contrast to the measure-theoretic under pinnings of the calculus, the theory we introduce is
immediately useful
to working programmers. In addition, the topics we cover are fundamental to later courses. By introducing the topics early in the curriculum, we provide a common vocabulary for these later courses, eliminate redundant treatment of topics, and give students greater exposure to the material and a better chance to absorb it.

We feel we have been successful with the course, although our evidence is necessarily subjective. Because its philosophy flies in the face of current practice, we shall attempt to explain that philosophy in this paper. The course itself, “Fundamental Structures of Computer Science” (FS here after) is described in somewhat greater detail in [2] and we are preparing a supporting text [3]. We are not so much interested in pressing our own particular treatment of the topics, however, as we are the
choice
of material and its place in the curriculum.
Simulation as a vehicle for project experience
Authors: Powell J. D. , Lee M. J.
Published: July 2004

One of the criticisms directed at many computer science programs is the lack of involvement of the students in “large scale, real-life problems”. Panel discussions between computer science educators and computing practitioners frequently devote a great deal of time to this topic. The practitioners charge that students are frequently presented with well-defined problems that illustrate specific computing concepts. While these problems are important, they do not prepare students for the ill-defined problems they will typically face in a usual job situation. Since a large portion of the graduates from our degree programs move directly into the business and industrial environments, we should seriously consider this criticism.

Separate project courses have been described by Khailand and Saxon [2] and by Crenshaw [1]. In these courses, a series of projects are presented to the students. Depending on the size of the class, one or more of the projects are chosen and the class is divided into teams to work on the projects. Classroom time is devoted to organizational structure, skills, and techniques that are important to successful completion of a project satisfying the standards and requirements of the project assignment. Most of the work is performed within the individual teams. The instructor meets periodically with the students to review and monitor their progress. At the end of the course, each team is required to make a formal presentation of its results.
A survey of how practicing programmers keep up-to-date first results including their implications for computer science education
Authors: Fisher James , Alvarez John , Taylor Robert
Published: July 2004

As the field of data processing grows, it becomes increasingly important for the computer professional to keep abreast of new developments. Because one of the most significant of these new developments is structured programming, we decided to use knowledge of structured programming concepts as a measure of how up-to-date a programmer is. Thus, we undertook to answer the following questions:

1. How up-to-date are today's programmers, i.e. how aware are they of some of these new concepts?

2. From what sources did they learn about these concepts? How much did these sources influence their work?

3. What are some of the other factors which influence up-to-dateness?

To find the answers, we prepared a survey of sixteen questions. The first fifteen questions were designed to provide us with a background profile of our polled population. The last question dealt specifically with structured programming, presenting a list of programming concepts and potential sources for learning about these concepts. The respondent was questioned about his familiarity with a particular concept, his source of learning about the concept, and the degree to which his work was influenced by this source. The responses were input to a program written in CROSSTABS, a commercially available utility package, to produce tables of cross-tabulations and frequency percentages. We analyzed these tables and our conclusions drawn from this analysis follow.
Toward Model Curricula in Software Engineering
Authors: Fairley Richard E.
Published: July 2004

This paper is a progress report from the IEEE Computer Society's Subcommittee on Model Curricula in Software Engineering. Both undergraduate and graduate curricula are discussed, and the current status of the effort is summarized. Some of the problems that remain to be solved are mentioned. The paper describes work in progress and should not be considered a final document.
A survey of software engineering courses
Authors: Hoffman A. A.J.
Published: July 2004

Together with the recent, rapid growth in numbers of technical papers, survey articles, symposia, conferences, and books, there is also a corresponding increase in software engineering education activities. In order to obtain some insight into the number and nature of course offerings, Peter Freeman of the University of California, Irvine, published a survey form in early 1977 in both the ACM
Software Engineering Notes
and the IEEE TC/SE News-letter. Figure 1 replicates this survey form. Most responses were received by April, 1977. Recently, Peter Freeman forwarded these responses to A.A.J. Hoffman of Texas Christian University for analysis and reporting.

There were a total of 28 responses from 26 traditional educational institutions, offering regular and special courses, industrial organizations, and professional development companies. Table 1 is a list of the organizations represented by survey respondents. While most responses came from the United States, others originated in France, Canada, and the United Kingdom.
A study of the first course in computers
Authors: Gruener William B. , Graziano Steven M.
Published: July 2004

This paper describes the first course in computers as taught at community colleges, colleges, or universities. The paper is divided into two major parts. The first part describes four Approaches and three courses. The four Approaches refer to the mix of language constructs and computer concepts; the Approaches underlie the presentation used in teaching the three courses. The second part discusses the frequency of occurrence of these courses based on a survey performed by Addison-Wesley.
Direct connection between Compiling Techniques and Databases courses
Authors: Thalmann Nadia , Thalmann Daniel
Published: July 2004

Two of the most demanding subjects in a Computer Science Curriculum are Compiling Techniques and Databases. In both courses, a major problem is: what should be the main project in the laboratory?. Since 1974, we have had students at various universities write compilers (2) in such a course. In each case, a complete compiler has been implemented. We have tried to establish a direct connection between the Compiling Techniques Course and the Databases Course because both can be selectively chosen by the same students.

This paper is divided into three parts: first, we outline the content of each course and the relationship existing between them; secondly, we analyze the criteria for language selection with regards to both courses (also with respect to methodology and to structured programming); third, we discuss the language and illustrate it using some examples.
Two year curricula in computer studies-implementing the guidelines
Authors: Dillman Richard W. , Anderson William H. , Choper Dorothea L. , Lloyd John M. , Simms Katherine B. , Williams James F.
Published: July 2004

The intent of this paper is to describe an implementation of a curriculum computable with the recently established ACM Community and Junior College Career in Computer Programming Guidelines (the “Little” Report). The proposed curriculum consists of a two-year associate degree program in Computer and Information Studies containing four options, one of which is a career option for computer programmers. The programs are supported by a set of twenty-five one, two, and three credit courses. Those courses will be discussed in this report.
Computer currency
Authors: Coulter Neal S. , Harold Fred G.
Published: July 2004

The notion of continuing education is nowhere more relevant than in the computer context. The fact that many top managers completed their formal education before computer topics were a part of most university curricula, coupled with the elemental changes that have transformed our industry for even those computer specialists who completed their education a few years ago, make continuing education for “computer currency” a very real need.

A continual passing from hand to hand of computer knowledge is essential if we are to deal with technology in a timely way. Understanding of computer concepts can be a medium of exchange with real financial value in our technologically oriented society; in other words, a money type of currency.
Career oriented graduate program in management systems
Authors: Benjamin James E. , Campbell Wilbur L. , Schrage John F.
Published: July 2004

The Master of Science in Management Systems within the School of Business at Southern Illinois University at Edwardsville is an advanced degree designed to combine the professional qualifications and interests of students with study in the field of managerial information systems design and administration. The existing baccalaureate program entailed a specialization in information systems from the Management Science Department and numerous related positions were found in area businesses, but no advanced program was being offered in systems.