bluuebunny/crossref_metadata_2025 huggingface dataset:
Entity relationship models as a tool for data analysis and design
Authors: Chrisman Carol , Beccue Barbara
Published: July 2004

Many tools have been developed to aid in the systems analysis and design process. These same tools are used in teaching to help students better understand the process. This paper will discuss ways in which one tool, Entity Relationship (ER) models, can be used in teaching data analysis and design. The role of ER models in database design will be reviewed. ER models will be considered as a framework for also dealing with file design. An example of an ER model will be given with a description of how it might be used in discussing file design issues with students.
The future of computer languages: implications for education
Authors: Baron Naomi S.
Published: July 2004

Which computer languages should we be teaching our students — and why? This paper examines the multitude of languages now available from three perspectives: classificatory, predictive, and pedagogical. It offers a “linguistic” analysis of computer languages in terms of their structure, their function, and their genealogy. Using these classifications, the paper then analyzes current and future trends for each language type. The classifications and predictions suggest a fundamental distinction between two sorts of languages: those appropriate for public computing (i.e. programming done by most professional computer scientists) and those appropriate for private computing (computing by individuals for their own purposes). The paper suggests that while would-be computer scientists need to learn public computing languages, private computing languages may be especially appropriate for non-professional computer users.
An improved introduction to computing emphasizing the development of algorithms and using the Apple Macintosh Pascal
Authors: Bulgren William G. , Schweppe Earl J. , Thurman Tim
Published: July 2004

Many colleges and universities offer an introductory computer science course based on a specific programming language. The Department of Computer Science at the University of Kansas has recently created a new environment in order to better teach such topics as problem solving, algorithmic design, elementary programming techniques, and elementary computer techniques. This paper will discuss the transition from a time-sharing environment to a modern microcomputer laboratory. It will also discuss the pedagogic techniques used in the new environment. It is hoped that others will benefit from our experiences.
Converting from Pascal to Modula-2 in the undergraduate curriculum
Authors: Gabrini Philippe J. , Adams J. Mack , Kurtz Barry L.
Published: July 2004

Modula-2 has been adopted as the primary programming language at New Mexico State University. This paper discusses the reasons which led to this choice of a new primary programming language. It compares some of the features of Pascal, Modula-2 and Ada. It also gives the results of our implementation efforts.
Teaching operating systems with Modula-2
Authors: Brumfield Jeffrey A.
Published: July 2004

Programming projects in an operating systems course expose students to issues involved in the design and implementation of operating systems. The Modula-2 language provides features needed in such projects. This paper overviews the capabilities of Modula-2 and describes a programming project in which students implement a process manager for an operating system. The process manager supports concurrent processes and provides operations for their synchronization and communication.
Modula-2 projects for an operation-systems course: racing sorts and multiple windows
Authors: Feldman Michael B.
Published: July 2004

A Modula-2-based project series is presented. This three-project sequence is suitable for an undergraduate course in operating systems or systems programming, and embodies the three important principles of
concurrent programming, algorithm animation,
and
code modification
. Heavy use is made of the Modula-2
module;
much of the code in the projects is given away to the students, who must then adapt it for the purpose. The project series requires the animation of several sort algorithms, which are invoked as independent tasks under Modula-2 and display their state in different screen windows. These projects do not require special hardware and can be run using a “dumb terminal” 24 x 80 screen.
Structured Assembly language in VAX-11 MACRO
Authors: Leeper Robert R. , Rehmer Karl O.
Published: July 2004

For several years, the introductory assembly language course at Indiana-Purdue at Fort Wayne has used “structured” assembly language on an IBM System 370. A later course makes use of VAX-11 MACRO assembly language on a VAX 11/780. This paper shows how the major constructs for structured programming may be implemented in VAX-11 MACRO. The scheme involves assembly language templates for each of the constructs, a standard labeling scheme, and a commenting method which reflects the structure of the program.
Teaching of tree data structures using microcomputer graphics
Authors: Owen G. Scott
Published: July 2004

A set of procedures to graphically display ordered and unordered trees has been developed. The procedures have been used in several class demonstration programs to illustrate tree insertion, deletion, and balancing algorithms. The procedures are available for inclusion in student programs so that they can determine if their programs are working correctly. The procedures are written in Turbo Pascal for an IBM PC.
Programming for learning in mathematics and science
Authors: Shafto Sylvia A.
Published: July 2004

This paper presents a learning-research based argument for the integration of computer programming into the science and mathematics curricula in pre-college education as well as college. Students who generate solutions to science and mathematics problems develop a procedural understanding of the fundamental theories of these disciplines. Students should be taught to use programming languages for these solutions for the same reasons they are taught the universal tools of arithmetic and algebra, and because only a computer provides the means to describe solutions in explicit, correct, and executable form. Programming should be integrated into all mathematics and science teaching from the earliest years. In precollege education, programming should be taught over a period of eight to ten years, rather than as a 6-12 week separate topic, and should be matched to the level of complexity of the science and mathematics content.
Graphic displays of data structures on the IBM PC
Authors: Augenstein Moshe , Langsam Yedidyah
Published: July 2004

Immediately or soon after an introductory course in programming, traditional computer science education usually includes a course on data structures. Such courses, however, have suffered from a lack of non-textual materials for classroom and non-classroom use. Consequently, it is difficult for students to comprehend the abstractions involved in implementing and applying fundamental data structures without laboriously employing printed materials.

The work discussed herein addresses the problem by developing software for the IBM PC that will allow data structure users to view graphically the effects of primitive operations and application programs on basic data structures. Several such structures and applications are examined and plans for a program interface are discussed.
Teaching data abstraction in a beginning Pascal class
Authors: Rehmer Karl , Rising Linda
Published: July 2004

Modern programming practice advocates the use of abstract data types to aid in design, coding, and maintenance of programs [1]. Many students who are not computer majors will write programs as part of their jobs. Therefore, it is important to expose those students who will take only one or two programming courses to the idea of abstract data types. The paper below illustrates how this was done in one of our beginning Pascal classes.
Software engineering: the art of the user interview
Authors: Sigwart Charles D. , Van Meer Gretchen L.
Published: July 2004

The specification of a system is a major problem. One useful technique is to involve users in the design process. This requires considerable skill on the part of the software professionals. As one component of our software engineering course we are trying to develop this skill.

We ask our students to design a system, and as a part of developing the system specification we give them an opportunity to interview a “user.” Since real users are often not very helpful, we deliberately arrange that our “users” will be obtuse regarding technical details of the system. We then conduct follow-up classroom discussion which, we hope, will leave the students with a much more realistic idea of what to expect from a user. A skillful interviewer can often gain valuable insights from users into which aspects of the system are most important to the specifications.
Contemporary trends in computing
Authors: Plishka Richard M.
Published: July 2004

Many computer science curricula use Special Topics courses as a vehicle to introduce students to new concepts and technologies. Although the same policy is practiced at our institution, one course required of our Associate Degree students provides a forum for surveying contemporary trends in computing. Such a course is essential for providing “a foundation of knowledge and skills sufficient to serve as a base for continued learning.” [1] The purpose and content of this course is the topic that follows.
A senior design course for computer science
Authors: Ballew David
Published: July 2004

This paper describes a Senior Team Project Design course required of all Computer Science majors at our institution. The course is somewhat unique in that the students are divided into teams, all working on some aspect of the same problem. Thus, there is an emphasis on communication between teams, an emphasis on ensuring that the design of the various subteams interface, and an emphasis on learning to work as part of a group.

The team concept described is an attempt to simulate an actual industrial or commercial environment within the structure and safety of the college classroom. To the students' surprise, the goal is not to implement a program (although we do that) but to illustrate the need for clear design techniques, the need for proper testing procedures and, above all, the need for precise communication.
A data processing communication skills course
Authors: Harriger Alka Rani , Ho Thomas I.
Published: July 2004

To be a successful business data processing professional, one should possess effective written and oral communication skills; therefore, any program which prepares computing students for the business world should effectively train them in this area. Of the programs that attempt to handle this situation, most merely require their students to take several English/communication courses. From experience, this method is less effective than additionally reinforcing the students' communication skills within the entire range of the computing curriculum. This paper presents a methodology for accomplishing the task of implementing writing into an introductory data processing course.
Using the cloze procedure with computer programs: a deeper look
Authors: Entin Eileen B.
Published: July 2004

This paper extends research on the use of the cloze test in the domain of computer software. In this study the cloze blanks were divided for the purposes of analysis into five structural subcategories. The relationships of the total cloze score and the subcategory scores to two criterion test measures were found to be positive, with the strongest and most consistent relationships being found for the variable subcategory. Use of the cloze test for both instructional and assessment purposes was discussed.
A set of workshops for high school computer science teachers
Authors: Whitson George M.
Published: July 2004

This paper outlines a set of workshops to provide training for certified high school computer science teachers. Upon the completion of the four core workshops, a high school teacher would have an excellent background to teach high school computer science as detailed in the new proposed ACM Curriculum for high school certification. The workshops should also do a good job upgrading the background of high school computer science and computer math teachers to teach courses currently in the high school curriculum. One workshop, PASCAL with Applications to Data Structures, was specifically designed to prepare current high school teachers to teach a PASCAL course whose goal is to prepare students for the advanced placement test. Each of the six workshops is a three semester hour course and most carry graduate credit. Three of the six courses have already been offered and more should be taught next summer. The reception of the high school teachers to the workshops has been very enthusiastic.
Design and implementation of a programming contest for high school students
Authors: Myers Doug , Null Linda
Published: July 2004

The Computer Science Department at Northwest Missouri State University sponsors a computer programming contest each spring for area high school students. The contest draws about 250 people each year. The Olympiad has provided valuable student contact for the Computer Science faculty. The Computer Science Department views the Olympiad as a very powerful recruiting tool for the university. This paper will address the development of the Computer Science Olympiad at Northwest Missouri State University.
An experiment in the use of Ada in course in software engineering
Authors: Lapalme Guy , Lamy Jean-Francois
Published: July 2004

This paper describes our experience in using Ada as a vehicle for teaching Software Engineering concepts in a course for first year undergraduate students at the University of Montreal.

We first review the curriculum at our university and then give an idea of the hardware and software at our disposition. We describe the goals we had in mind in using Ada as a teaching language and then we detail the topics and the assignments chosen in our course. We conclude by describing a few lessons learned from that experience. All in all, we are very satisfied with this experiment and we intend to carry on next year.
Implementation of a university wide computer-augmented-curriculum
Authors: Garraway Hugh
Published: July 2004

This paper discusses the implementation of a project to provide microcomputing resource to all students and faculty in an effort to integrate computer-assisted-learning with traditional teaching/learning methods across the curriculum of a comprehensive university. Also discussed is the structure and staffing of the project, initial hardware and software selection and the project's impact on a Computer Science Department.
Finding minimal perfect hash functions
Authors: Haggard Gary , Karplus Kevin
Published: July 2004

A heuristic is given for finding minimal perfect hash functions without extensive searching. The procedure is to construct a set of graph (or hypergraph) models for the dictionary, then choose one of the models for use in constructing the minimal perfect hashing function. The construction of this function relies on a backtracking algorithm for numbering the vertices of the graph. Careful selection of the graph model limits the time spent searching. Good results have been obtained for dictionaries of up to 181 words. Using the same techniques, non-minimal perfect has functions have been found for sets of up to 667 words.
An introductory course in graphics
Authors: McGregor John D.
Published: July 2004

The purpose of this paper is to report on some experiences in the planning and implementation of an introductory course on computer graphics. The course focused on topics of concern to the computer science major interested in developing graphics system software.
A system to make visible the structure and execution of student programs
Authors: Kempton Willett
Published: July 2004

Visual models help to convey programming insights and computer science principles. This paper describes the design criteria for a software system which automatically constructs visual models as a program runs. Line-by-line execution and data structures are dynamically updated on a display screen. The system can be used either by an instructor in class demonstrations, or by the student in running his or her own programs.

Motivations for the design criteria are discussed, along with tradeoffs in implementation. A system has been developed for the Pascal programming language, running on a variety of popular microcomputers.
The role of computer science education in certification of computer professionals
Authors: Harris Fred H.
Published: July 2004

Certification of computer professionals has been in the limelight over the past year or so, particularly with respect to activities leading to the creation of the Institute for Certification of Computer Professionals (ICCP) [1]. Most of the effort of those involved to date has been on organizational matters, but our attention is now turned to planning for improvements in existing testing programs and to the establishment of new programs. If these are to be effective, computer science education must have a major role. In keeping with the interests of SIGCSE, I wish to comment on that role from the perspective of one involved with the Institute. First I will set the context for my remarks by discussing the professional status of computing personnel and then certification and critically related activities will be described.
Interactive visual simulators for beginning programming students
Authors: Shapiro Stuart C. , Witmer Douglas P.
Published: July 2004

This paper discusses two programs that have been written to be aids to introductory programming students. They both embody the belief that Computer Assisted Instruction can be a worthwhile aid to students when properly used and that one of the best uses is to present visually to the student a process that he has some control over and which he would not otherwise be able to observe. Section 2 of this paper discusses HYCOMP1, an interactive visual computer simulator. Section 3 discusses IVF, the Interactive Visual FORTRAN interpreter. They were both written in SNOBOL4
1
and run under the KRONOS Time Sharing System on a CDC 6600 using an Applied Digital Data Systems, Inc. ADDS Consul 880 terminal, which is an ASCII terminal with a CRT display and an addressable cursor.
The simon fraser one track universal curriculum for computing science
Authors: Sterlling T. D. , Weinkam J. J.
Published: July 2004

Almost every academic discipline has some potential applicability to any other field of endeavor we might consider. However, there are three disciplines that share the distinction that they are widely applied in virtually every field of human endeavor. In order of seniority, there are: Mathematics, Statistics and Computing Science
.

We wish to consider the problems that this situation creates with respect to how these subjects should be taught to a wide selection of students and how a curriculum can be constructed to appeal to a diversity of backgrounds and needs
.
A graduate curriculum in Business-Oriented Computing
Authors: Fairley Richard E.
Published: July 2004

The Department of Computer Science at the University of Colorado has recently developed a graduate curriculum in Business-Oriented Computing. The program was developed in recognition of the increasing demand for individuals who are trained in both business methodology and computer science. The 30 semester hour program is designed to produce masters level computer scientists capable of integrating the needs of the business community with the technology of computer science.

Prerequisites for the program include a Bachelor's degree in Business (or the equivalent), ten semester hours of computing, and nine semester hours of upper division mathematics. The prerequisite computing courses are: Introduction to Computer Science for Business Majors (CS 202), a four hour course in COBOL programming; Business Data Processing Methods (CS 312), a three hour course in FORTRAN emphasizing business applications; and Assembly Language and System Software (CS 400). The mathematics courses are typically in the areas of statistics, probability theory, mathematical programming, computability, and linear algebra. At the University of Colorado, the programming and mathematics courses can be taken in the undergraduate Computer Based Information Systems option of the Business School curriculum.
Computer scientists' responsibility to educational research
Authors: Kay Alan C.
Published: July 2004

A computing engine of sufficient power can both simulate existing media and provide new framewords for creative ideas. It must be personal, portable, and inexpensive. Movies of such a (hard) system/(soft) language designed and built for “children of all ages” will be shown.
Computer science seminars on pedagogical techniques and methods for evaluation
Authors: Fletcher Dexter
Published: July 2004

Interdisciplinary subject matter appropriate for computer professionals who will participate in the design of computer-based learning systems is discussed. Broad issues of computer-managed instruction are mentioned, but the potential contribution of computer techniques is assumed to be much greater in the direct use of computers in instruction and this type of use is emphasized. Primarily, computer Professionals should be prepared to suggest techniques that will permit more imaginative uses of computers than those appropriate for workbooks or memory drums. Promising pedagogical techniques derived from a variety of disciplines and used successfully in computer-based learning systems are discussed. These techniques are roughly classified as drill and practice, tutoring, and dialogue on one dimension and as simulation, gaming, optimization, and student control on another dimension. The interdependence of these pedagogical techniques with evaluations of instructional effectiveness and with computer techniques associated with timesharing, formal language processing, natural language processing, information structuring, and varieties of terminal devices is emphasized and explicated.
The state of undergraduate computer and data processing programs at public universities in Indiana
Authors: Maniotes John
Published: July 2004

The Commission for Higher Education of the State of Indiana has created a study committee on occupational education. This committee, called the “Presidents' Committee on Occupational Education Programs,” consists of the Presidents from Purdue University, Indiana University, Ball State University, Indiana State University, Vincennes University, and the Indiana Vocational Technical College.

This committee has identified six broad occupational categories, and subcommittees have been appointed to study each of these categories. This papers summarizes the work (reference 1) of one of the subcommittees, the “Task Force on Computer and Data Processing,” regarding undergraduate computer-related programs at public universities/colleges in the State of Indiana.
Teaching debugging
Authors: Mathis Robert F.
Published: July 2004

A course in debugging techniques is motivated and described. A course outline, reading list, and projects list are included. Certain debugging aids are described. Debugging techniques for elementary algorithms are illustrated. Particular attention is paid to ways to teach debugging and algorithm structure.
Industry reaction to computer science education
Authors: Dodd George , Gluckson Fred A.
Published: July 2004

Today, undergraduate Computer Science Education teaches mechanics without teaching problem solving. Typical curricula include courses in assembler languages, compiler theory, list processing, and automata theory. Every MS degree holder, and most BS degree holders, know Polish notation and have written parts of compilers. However, few of them have ever learned to write a program that can be easily enhanced or respond to changes as new management (instructor) requirements are set forth. Even fewer can read a program and describe what it does or debug a system consisting of ten or more modules.
What should we teach in an introductory programming course?
Authors: Gries David
Published: July 2004

An introductory course (and its successor) in programming should be concerned with three aspects of programming:

1. How to solve problems,

2. How to describe an algorithmic solution to a problem,

3. How to verify that an algorithm is correct.

I should like to discuss mainly the first two aspects. The third is just as important, but if the first two are carried out in a systematic fashion, the third is much easier than commonly supposed. (Note that the third step is not “debugging,” because the word “debugging” conveys the impression that errors are alright—that they are a natural phenomenon which, like flies in a house, must be found and swatted. If “debugging” was called “getting rid of one's mistakes,” I'm sure most programmers would change their attitude and work harder at producing a correct program initially.)
An analog/hybrid computer simulation of phase-locked-loops in motor speed control
Authors: Kuo M. H. , Perdikaris G. A. , Mueller T. E.
Published: July 2004

This paper describes the simulation of the precise control of speed in servo systems using the digital phase-locked-loop (PLL) method and analog/hybrid computer techniques.

The PLL for motor speed control is essentially a hybrid feedback control system in which a reference square-wave signal is used to command servo velocity and position. The system consists of a phase comparator, a low-pass filter, the motor under control, and a voltage-controlled-oscillator (VCO) in the feedback path. The mathematical model of the motor and the low-pass filter are simulated on the analog computer. The input reference is a frequency-modulated (FM) digital signal. An integrated circuit is used as the phase comparator which compares the perturbed VCO feedback frequency and the input signal.

The method introduced here is simple to learn and practical to implement in undergraduate control courses. It introduces the student to the basic concepts of PLL control, without overwhelming him with its complex problems.
Computer architecture in the computer science curriculum
Authors: Thomas Richard T.
Published: July 2004

Due to several complementary technological advances related to computer systems, there has lately been an increased interest in the architecture of computers. This increased interest has forced changes in and additions to the computer science curriculum. In this paper, an academic program is described which has been found to be highly successful in terms of student interest and learning. The role of computer architecture in this program is explored, and conclusions are drawn regarding this role.
A sequence of structured subsets of PL/I
Authors: Holt Richard C. , Wortman David B.
Published: July 2004

This paper gives a brief introduction to a sequence of subsets of the PL/I language that has been designed for the purpose of teaching introductory computer, programming. The six subsets, called SP/1, SP/2, ..., SP/6, restrict PL/I to language features which the authors feel encourage good programming habits. Each subset introduces new language features while retaining features introduced in earlier subsets.
Introducing practical experience into curriculum 68 through integration of courses
Authors: Menninga Larry D.
Published: July 2004

A course which will give students some practical experience with large programming problems is described, The course combines the material from five separate courses from Curriculum 68. The material is presented in conjunction with a major programming project which is the unifying ingredient of the course. The project provides the student with immediate and realistic applications of the ideas and topics presented in the course.
A first course in discrete structures with applications to computer science
Authors: Tremblay J. P. , Manohar R.
Published: July 2004

This paper describes an introductory course in discrete structures for the undergraduate computer science student that has evolved at the University of Saskatchewan, Saskatoon. The philosophy of such a course and certain problems encountered in preparing and teaching it are discussed.
Individualized instruction in computer science
Authors: Korfhage Robert R. , Smith Robert J.
Published: July 2004

The concept of individualized instruction centered around a rather extensive research project has been present in education for centuries. As recently as fifty years ago many colleges and universities required some form of thesis for bachelors and masters degrees, as well as for the doctorate. However, with the pressure of increasing numbers of students the emphasis on individual study has abated to such an extent that in many schools only the PhD students have a real opportunity to engage in extensive individual work.

Over the past two years we have been attempting a small reversal in this trend. During this period we have supervised nearly two dozen projects done by individual students or small student groups at both the undergraduate and the graduate level. After the first semester of this effort we established a set of guidelines which we have been following in subsequent project work. Our present guidelines form the Appendix to this paper.
Computers in pre-college education
Authors: Moursund David
Published: July 2004

The computers in education field is making rapid progress. We can see this progress in the quality and number of data processing programs at the associates degree and data processing school levels, and in the bachelor's, master's, and doctorate programs at colleges and universities. We can also see large numbers of secondary schools beginning to acquire computing facilities. But we have a long way to go! To put our current progress in perspective we need merely ask: “What percentage of students in the United States made direct instructional use of computers during the past week, how extensive was this usage, and how effectively did it contribute to the student's education?”
A survey of introductory and advanced programming courses
Authors: Dam Andries van , Strauss Charles M. , McGowan Clement , Morse Jean
Published: July 2004

In the process of establishing equitable and practical computer time allocations for our computer science courses this fall, we compared our seemingly high request with standards in other universities. Twenty-three private and state universities were chosen for the comparison and a questionnaire (appendix 1) was designed to elicit information about large introductory programming courses and more specialized systems programming/software engineering courses.

The scope of the 25 item questionnaire covers course organization (size of class, number of meetings a week), course content (proficiency expected, languages used, size of programs written), and course budget (computer dollar allocation/ student, equipment and operating system used).
The design of a TI980A operating system for classroom use
Authors: Bauer Henry R.
Published: July 2004

To enable students and researchers to concentrate on individual primitives, an operating system is designed with replaceable program parts. In particular, classroom and individual study projects may be assigned which give the students actual practice with a real multiprogramming system. Such projects would replace the simulation exercises usually found in operating systems courses. The minicomputer hardware and software features described here are within reach of most small computer science departments.
On the need for teaching problem-solving in a Computer Science Curriculum
Authors: Cashman W. F. , Mein W. J.
Published: July 2004

One issue which is not often stressed, or even addressed, in Computer Science Curriculums is that of problem solving. Since problem solving is an essential activity in the construction of programs as well as other computer science pursuits, the omission of any formal instruction in this area is a serious matter. An instructional methodology is proposed for enhancing the problem solving abilities of students enrolled in introductory computer science courses. In particular, a paradigm is proposed to guide the student in his problem solving endeavors. Several examples of problems that were used for the purpose of increasing the students' problem-solving abilities are given.
An automatic tutor for introductory programming students
Authors: Danielson Ronald L. , Nievergelt Jurg
Published: July 2004

This paper discusses an automatic tutor of programming, implemented on the PLATO IV CAI system [1] as a part of an automated instructional system for computer science being developed at the University of Illinois [8]. This tutor exposes the introductory student to structured programming concepts and top-down problem solution techniques by means of example. The student develops (on-line, using an approach based on stepwise refinement [11]) a solution to a single, relatively complex programming problem (symbolic differentiation of a polynomial). Student and tutor engage in an interactive dialogue during this problem-solving process, the tutor providing hints regarding solution steps, and comments about program structure and efficiency. A small sample of the types of responses the tutor might make is presented
Computer applications for prospective public school administrators
Authors: Goddard Alton R.
Published: July 2004

The purpose of this paper is to discuss and analyze the instructional programs needed to prepare prospective public school administrators for today's technological decisions. Most states require public school administrators to obtain an administrator's certificate earned by the satisfactory completion of a certain collection of course work considered necessary for their professional preparation. For example, an administrator's certificate in the state of Texas requires from forty-five to sixty hours of prescribed graduate level course work. The course work at East Texas State University was modified about two years ago to include a three-semester-hour course in computer science. It was believed that all prospective administrators could benefit by at least this amount of exposure to the procedures of automatic data processing. The course was designed to accommodate graduate students in education with very little or no background in computer science. This type of student tends to be initially petrified at the thought of having to take a course in computer science. However, after some exposure to computer science terminology, they are ready to pursue the primary educational objective of the course. This objective is to prepare a prospective superintendent or principal to assume his position in a public school system with some knowledge of how to intelligently use whatever automatic data processing capability is or might possibly become available for his district's use.
The problems facing computer science education in developing nations
Authors: Robertson Edward L.
Published: July 2004

Computer applications and computer science education for developing nations have received little attention in developed countries, largely because we are naturally interested in first putting our own house in order. This paper is first intended to call attention to the problems of developing nations. It surveys the ways in which developing nations need computing and computer science, and how computer science education can help satisfy these needs. The goals and problems of computer science education are then discussed.

One of the gravest problems of a computer science department in a developing nation is isolation—from technology and research, from professional contacts, from advice. Contacts with departments in developed nations will alleviate, if not solve, this problem at little expense to us. This is not a formal “twinning”, requiring funds which are presently hard to fund, but an informal assistance.
A discrete structures course for a small college
Authors: Dexter Margaret E. , Rhoden Margaret L. , Townsend Jerry Sue
Published: July 2004

It is generally accepted that a course in discrete structures such as Course B3 in Curriculum 68 recommendations [1] is an important part of a Computer Science program. In many institutions a Discrete Structures course is offered in the Computer Science Department although it overlaps courses in the Mathematics Department [2,3,4]. In smaller schools the size of the student body and staff limitations make such a solution impractical. At Augusta College we have met the objective of early exposure to discrete mathematics with applications in computer science by offering a two-hour computer science course as a co-requisite to a three-hour mathematics course. While this approach is a compromise it does appear to have some merit.
Data processing and Computer Science graduates
Authors: Abbey Duane C.
Published: July 2004

The following paper presents the views, observations and concerns of an educator working in the field of information and data processing. The primary comments and suggestions are directed toward the academic community although suggestions and goals are also made which are applicable to the information and data processing field.
A practicum - seminar in structured programming
Authors: Ellis Clarence A.
Published: July 2004

This paper describes a practicum-seminar course which the author taught at the University of Colorado during the spring and summer of 1974. This course contained a number of salient features which made it an interesting experiment and a unique learning experience for all involved. The broad goals of the seminar were:

a) to introduce participants to system design and software engineering techniques and to provide practical experience in the use of these techniques;

b) to design and implement a flexible, human oriented student registration and scheduling system.

This paper presents background and discussion of the project and the seminar. A class syllabus is given showing topics which were covered, and advantages and disadvantages of this type of educational experience are discussed.
Computer science, federal programs, and Nirvana
Authors: Curtis Kent K.
Published: July 2004

My text this morning comes from a highly regarded German algebraist of the nineteenth century, Leopold Kronecker. He was engaged in a vigorous debate with other mathematicians on exactly this question, what are the foundations of mathematics? What set of axioms can be used as a basis for deriving everything else? Most mathematicians were following directions of thought which invoked the concept of infinity, infinite sequences, infinite sets, infinite classes, and reciprocally, the notion of infinitesimal. By consistent application of logic, their premise inexorably led to further elaborations such as trans-finite numbers which are esoteric in the experience of most of us. Kronecker vigorously asserted that following this path was an error. He claimed that one must begin, and not only begin but remain content with the integers and those things which can be described algorithmically in terms of them. “God made the integers, and all the rest is the work of man.”
The challenge of human resources staffing and utilization in industrial computing - part 1
Authors: Kornbluh Marvin , McCartin William , Schneider Richard G. , Dyba Jerome
Published: July 2004

Marvin Kornbluh

Industry today is looking for creative systems analysts and programmers who can develop physical systems on the basis of sound business judgement rather than merely increasing the level of sophistication. They need “entrepeneurs” - those who know how to work effectively with hardware and software suppliers, know how to harness and direct the creative systems people, know how to be communications catalysts in giving advice and counsel to systems users, and know how to establish and maintain sensible budgets and project control systems.

How these types of EDP personnel can be developed by the application of sound management principles to the establishment of “custom-built” educational and training programs that emphasize both the operations of the organization as well as the technical aspects of data processing will be discussed.

William McCartin

The nature of computer technology in a manufacturing environment and the resulting demand for extensive computer education and professional knowledge will be outlined. A company's response to this demand as it was influenced by technical and budgetary considerations is described. The current and future educational requirements necessary to successful implementation of computerized industrial applications, manufacturing process control, and factory automation is considered.

Richard G. Schneider

Computer-related careers in banking will be discussed. Personnel are needed who can specialize in such areas as computer operations efficiency, hardware performance measurement, systems software support and development, the use of management science techniques, data base development and systems support, and application systems development in programming. They must understand the technical aspects of their fields and communicate effectively to their technical and corporate management, with coordination of all the efforts involved in a large scale, 24 hour, 7 day week operation.
Motivating freshmen engineering students
Authors: DeLorm R. T. , Smith T. C.
Published: July 2004

In an effort to lower the rate of attrition of Engineering students, during the early years of their education, the University of Nebraska - Lincoln has instituted a series of two freshman engineering courses which are designed to motivate and retain these students. A description of each of these courses and the motivating factors of each are discussed. Creative plots and conceptual engineering design projects are used as a means of holding interest and teaching the basic engineering skills.

Surveys taken over a number of years have shown an increase in the retention of engineering students since these courses were instituted. These surveys are discussed.
The challenge of human resources staffing and utilization in industrial computing - part 2
Authors: Walston Claude , Coady Ed , Hasenei Ken
Published: July 2004

Claude Walston

An analysis of staffing needs to the computer industry itself is considered. The general organizational and functional structure is described, then needs within this area for computer science graduates is considered. Needs now exist in a number of major areas, especially research, system architecture, system software design, program product design, and internal operational data processing support. The type of qualifications this industry hopes to find in computer science graduates is presented.

Ed Coady

The Social Security Administration “allegedly” has the largest computer installation under one roof in the world. Thirty-seven distinct computer systems are available, comprising an integrated marriage of multi-vendor equipment. Eleven hundred programmers (called computer specialists) and eight hundred operations specialists make up the teams that program and operate these systems.

The recruiting, selecting, and training of personnel directly associated with the computer systems is discussed. The importance of this function is of high and continuing interest and includes involvement by the top management executives at Social Security Administration. This presentation will cover the experiences and future needs for the education of computer personnel.
Interactive error diagnostics for an instructional programming system
Authors: Davis Alan , Tindall Michael H. , Wilcox Thomas R.
Published: July 2004

This paper is concerned with the development of an interactive error analysis system for a highly interactive programming language compiler. Although the proposed system should have reasonably wide applicability to various time-sharing systems and interactive compilers, the following is a description of the goals and constraints of a particular compiler in which the error system is to be implemented.
A terminal oriented Hardware Simulator for educational use
Authors: Glasser A. L.
Published: July 2004

The uses of computer description languages and simulation systems for educational purposes are discussed. A new language is presented; the language and simulation system are described. A sample description (in the new language) is given.
Setting the foundations of computer science in a business oriented program
Authors: Honkanen Pentti A.
Published: July 2004

From the computer science educators point of view, each of these transitions should be made as rapidly and completely as possible. Here again rises the eternal trade-off: time vs storage. A complete transition requires time, which the student might be reluctant to invest; and a quick transition requires cramming so much information into a short time span that the student cannot absorb it. This paper focuses on this problem as it currently faces us who are “transforming” undergraduate business majors into the ways of computer science. The business major is no slouch that has to be re-tooled, but rather a practically oriented person whose approach to problem analysis has to be reoriented to include a more rigorous approach.
Teaching structured programming in FORTRAN with IFTRAN
Authors: Bezanson William R.
Published: July 2004

The outline of an introductory FORTRAN programming course based on structured programming is presented. The language IFTRAN was used as a FORTRAN preprocessor, allowing regular FORTRAN statements plus more powerful conditional and looping statements. Program development was taught in the course by means of top-down stepwise refinement. Students were well motivated and developed a professional attitude towards programming.
The automatic generation and execution of function test plans for electronic switching systems
Authors: Bauer Jonathan , Faasse Susan , Finger Alan , Goodhue William
Published: July 2004

A three phase functional testing methodology is described for use in the development cycle of electronic switching systems. The methodology centers on a directed graph model of the system and provides for the checking of system requirements, the generation of functional tests and the automatic execution of these tests.
IDBUG
Authors: Drasch Frederick J. , Bowen Richard A.
Published: July 2004

The construction of a reliable computer program requires, in part, a means of verification of its component parts prior to their integration into the overall system. The verification process may consist of building a test harness to exercise or exhaustively test a procedure. This technique is known as dynamic testing. In practice, the application of dynamic testing requires the coding of a special harness for each procedure. This consumes valuable programming time, as much as 50% of the total effort (FAIR78). It is also restrictive because the test harness cannot be easily modified to test aspects of a program which it was not originally designed to test.

We have built a facility called IDBUG that reduces the programming effort required to employ dynamic testing by automating the construction of the test harness. Additionally, it provides an interactive test environment which permits more flexible testing. This paper describes IDBUG and discusses our experience in its application to maintenance tasks in a commercial environment. Nyone of the ideas put forth here will be especially novel; dynamic testing as a software testing tool has been in use for some time. What we hope to do is illustrate the beneficial aspects of a particular application of dynamic testing. It is argued that testing should play a more limited role in assuring the reliability of software in light of techniques such as structured coding, top-down design, proof of correctness, etc. (McG075). While it is true that eventually the “art of computer programming” will become the “science of producing correct programs”, we believe that more emphasis must be placed on interim solutions to aid in the construction of reliable software. We present IDBUG as such a solution.