bluuebunny/crossref_metadata_2025_split huggingface dataset:
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.
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.
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.
Master of software engineering - a proposed curriculum for practitioners
Authors: Hoffman A. A. J. 
Published: July 2004

It is well known that software development projects usually exceed both time and budget projections. Furthermore, many software systems do not meet expectedt performance, are difficult to modify and maintain, and often have unexpectedly short life cycles. These problems exist even when the developers are college graduates with bachelor, masters, and doctoral degrees in computer science. Clearly, the problem is not lack of training but rather focuses on the need for a new approach to the software development process.
“Software Engineering” is a term coined in 1967 by a computer science study group of the NATO Science Committee as the theme of a workshop on improving the process of software development.
A computer science microcomputer laboratory
Authors: Solntseff N. 
Published: July 2004

This paper discusses the objectives of a microcomputer laboratory established to support the Computer Science programmes at McMaster University. Three objectives are identified:
1. To serve as the means of reinforcing the understanding of fundamental computer concepts by students;
2. To enable faculty, staff, and students in any university department to learn about microcomputers and how microcomputers can be used to provide a solution of their problems;
3. To provide facilities for high-school students and teachers to become familiar with microcomputers and their impact on society as well as for bringing “computer literacy” to the community at large.
The equipment purchased for the microcomputer laboratory is described and future plans are outlined.
Repackaging the introductory course to separate the control language
Authors: Eastman Caroline M. , Blumsack Steven L. 
Published: July 2004

The introductory course in computer science usually covers a mixture of topics. It generally includes an introduction to algorithms and problem solving, use of a particular programming language, basic concepts about computer systems, and use of the local computer system. This paper describes an organization of the introductory course, suitable for an interactive environment, which locates the control language coverage, which is dependent on the local computer system, in a separate course.
The separation has two major advantages. It eases the transition for students entering with some previous course work or experience using a different computer system. And it enables the control language to be covered in enough detail so that students can become proficient in the basic commands even under the time pressures of a quarter system.
Experiences with PASCAL in an introductory course
Authors: Bauer Michael A. 
Published: July 2004

Beginning September, 1975, the Computer Science Department at the University of Western Ontario switched from FORTRAN to PASCAL as the primary language in the first year introductory course. The motivation for such a change was to introduce into the first year course concepts and issues which were becoming central to Computer Science. In particular, the instructors involved in the course wished to a) emphasize algorithm design, effect of choice of representation on design and the creation of well-structured programs, b) expose students to the use of a variety of control structures and data structures, c) introduce, at least informally, the notions of complexity and correctness.
It was felt that not only would such a course provide a good introduction to Computer Science for all students taking the course, but that those continuing with Computer Science as a chosen field would be well-prepared for subsequent courses. Since PASCAL could satisfy these requirements and a good implementation (on a CDC Cyber 6600) of the language was already available, it was the logical choice.
Teaching programming languages
Authors: Lemos Ronald S. 
Published: July 2004

Ten approaches to programming language instruction are summarized. The approaches discussed are: structured programming, modular programming, grammatical versus “whole program”, spiral, problem analysis, computer modeling, computer assisted instruction, instructional television, egoless versus individualistic programming, and team debugging.
These approaches are discussed in terms of their general characteristics, proposed benefits, and demonstratable effectiveness. It is concluded that the serious lack of empirical research on teaching programming makes it difficult to rationally infer the comparable effectiveness of these pedagogical approaches.
The second course in computer programming
Authors: Noonan Robert E. 
Published: July 2004

In recent years a number of colleges and universities have modified their introductory computer science curriculum. These schools have concluded that algorithm development and computer programming are sufficiently difficult to require a two semester sequence. This change even appears in the working report of the ACM Committee on Curriculum in Computer Sciences [1].
Unlike the first course in computer science, there does not appear to be a general consensus on the aims, objectives, and course outline on this second course. The purpose of this paper is to present the author's view of the need for and purpose of this second course and some consequences of these. This view is based on five years experience developing and teaching this course at two universities.
Behavioral education requisites for application-oriented computer scientists
Authors: Senn James A. , Ives Blake 
Published: July 2004

The content of programs in computer science is an issue of substantial concern to both academicians and practitioners. Studies have been conducted to determine what background graduates should have and which sets of courses and training experiences should be pursued. Emphasis has been on ensuring that students acquire the necessary skills to be successful in a computer science positions [1,2,7]. In virtually all studies, the focus has been exclusively on topics within the areas of computer architecture, data structures, software systems, and processing methodology.
In the discussion that follows, the need for another dimension in computer science programs, namely the behavioral and interpersonal dynamics dimension, is explored. Analysis of the importance of behavioral considerations in computer science is presented. Suggestions are also included for dealing with this aspect of training within current educational programs. The intent of this article is to raise issues for discussion and study within individual institutions and departments.
The microcomputer-based turnkey system as an instrument for technology transfer
Authors: McMillan Claude , Salhauna Wilfredo 
Published: July 2004

A program involving the installation of 6 microcomputer systems in Latin America (Argentina, Mexico, Brazil, Ecuador and Peru), is described. A rationale for the choice of machines is provided; results to date are reported; and prospects for the future forecast.
Lacking a comprehensive understanding of data processing systems, and being generally unaware of the increasing power and reliability of small systems, research center administrators and scientists have been unwilling to divert limited funds from competing demands to equip themselves with DP systems, or with personnel utilize them.
The IBPGR funded the DISR in Boulder to try to accelerate the data conversion process among a number of specific centers in Latin America and thus to begin the development of the international data exchange network.
Personal computing
Authors: Rine David C. 
Published: July 2004

“A National Educational TV Series at Pre-College Level for Personal Computing and Computer Literacy”, David C. Rine, Western Illinois University.
Under grants from the IEEE Computer Society, The Johns Hopkins University, Radio Shack and other agencies, the International Instructional TV Cooperative, source of instructional TV materials to all educational TV networks nation-wide and internationally, has finished and is marketing the implementation of a six-course national educational TV series aimed at the pre-college level in the area of personal computing and computer literacy. The name of the project is “Personal Computing: An Adventure of the Mind”.
The objectives of this new series are to illustrate the uses of personal computing, to demonstrate the interface of humans and machines, to identify the fundamentals of communication in personal computing, and to motivate students to be innovative in their own applications of personal computing. Since the personal computer is viewed by many as a mind multiplier, a further objective of this educational TV series is to greatly increase the number of minds that can be multiplied, by taking Personal Computing to millions of children in classrooms across the country.
Education and informational programs are closely allied in that both attempt to communicate facts, concepts, and ideas. Both need to be designed with specific objectives in mind. Some of the objectives to be discussed are both attitudinal and informational in nature; that is, they deal with feelings as well as facts. The underlying thrust throughout is that . . . LEARNING CAN BE FUN!
Teaching data abstraction to the practicing programmer
Authors: Feldman Michael B. 
Published: July 2004

We have been experimenting at The George Washington University with our undergraduate and graduate courses in Data Structures. In particular, we are using a very modern text [HORO78] and a strong emphasis in lectures and projects on the practical application of data abstraction, and its relationship to both structured programming and machine efficiency. Student projects are subroutine packages written, in “real-world” programming languages, as faithful and modular implementations of the abstractions studied.
Throughout the courses, attention is paid to the relationship between structured programming and data structures, and between these two and time/space efficiency considerations.
After a preliminary discussion of data abstraction concepts, we present a case study, namely a sparse-matrix system, and some observations.
TOYCOM - a tool for teaching elementary computer concepts
Authors: Sebesta Robert W. , Kraushaar James M. 
Published: July 2004

Many of those who teach introductory computing courses have recognized the pedagogic value of a very simple computer model. A large number of introductory textbooks on computing contain a section explaining the logical components of such a system (1, 2, 3, 4, 5, 6, 7,8). These usually include an introduction to assembler language and machine level programming of a machine which is sometimes called the minimum configuration computer model.
All of the previously implemented models of which we are aware have been constructed to operate in batch mode. After having used such systems for some time, we felt that they too soon introduced students to the aggravation of mispunched cards and long waits for runs, only to discover minor syntactic errors. We felt that the simple computer model's pedagogic value would be significantly increased by implementing it in the interactive mode. In order to test this thesis, we have designed and implemented such a system.

Our interactive computer model is named TOYCOM, an obvious acronym for
toy com
puter. TOYCOM is a submonitor-assembler-interpreter which can be collectively called a simulator. It presently runs as a submonitor under BASIC-PLUS, which runs under the RSTS-E operating system of the medium to large-scale DEC PDP-11 minicomputers. It is also written in BASIC-PLUS.
Measuring computer program comprehension
Authors: Boysen John P. , Keller Roy F. 
Published: July 2004

While improved programming methodologies, better computer languages and more sophisticated programming aids have helped alleviate some problems associated with software development, a software crisis continues to exist. The software crisis continues partly because many of the suggested improvements in software development have emphasized the role of the computer, rather than the programmer, in the development process. Researchers are beginning to realize that the ultimate resolution of the software crisis will come only when we understand the human processes involved in software development.
Computer program comprehension has been one of the human processes which has been studied by researchers.
Two basic approaches have been used to study program comprehension. Using the first approach, an objective measure of comprehension is proposed based on the author's suppositions about the sources of complexity.
A second approach used in the study of program comprehension is to empirically investigate factors which might affect comprehension.
In the next section, a methodology is proposed to measure the comprehension of statements and programs. It is applied to study expression complexity in section three and selection statement complexity in section four. Implications for teaching programming are described in section five and the paper is concluded in section six.
An instructional aid for student programs
Authors: Robinson Sally S. , Soffa M. L. 
Published: July 2004

Analyzing and grading programs in an introductory computer science course can require a great deal of time and effort from the course instructor. This paper investigates the development of a system called Instructional Tool for Program ADvising (ITPAD) that assumes some of the instructor's duties by keeping student profiles and assignment profiles, by detecting possible plagiarism, and by providing suggestions directly to the students for improving their programs.
The design of the ITPAD system is based mainly on the direct application of code optimization techniques to FORTRAN source programs. Several software science measures also provide some of the profile characteristics. The results of test runs show that this system helps the instructor monitor the progress of the students through the term and also helps the instructor determine the individual algorithmic approaches for a particular programming assignment. The system can further benefit the students directly by providing suggestions that emphasize the use of good programming style.
A programming sequence for the liberal arts college
Authors: Ellison Robert J. 
Published: July 2004

The computer science program in a liberal arts college must meet a number of diverse needs. When the curriculum allows for only four computer courses each course must serve several functions. For example, the introductory programming course often must satisfy the need for computer literacy as well as serve more advanced students who need to use the computer in their own discipline. The Hamilton College program which serves an academic community of 1600 students and about 130 faculty, has been evolving for four to five years. Currently five to six hundred students use the computer in some manner during the academic year, and almost one third of the student body enroll in a programming course before they graduate. We shall describe our two-course programming sequence and the success that we have had teaching it using a disciplined approach to programming.
Our first course is taught to students whose primary motivation is general literacy and who do not bring to it much in the way of general quantitative or problem solving skills. We use, though, a programming methodology that differs little from that used by larger institutions for courses directed more toward the concentrator in computer science. We argue that structured programming is almost a necessity for this audience. The very limited background of the students requires both a systematic approach to problem solving and a disciplined style of programming.
The second programming course must also solve some special problems. Since we only offer two advanced courses, we must include some of the material on data structures in the second course. With a careful selection of topics, we can lay the foundation for a discussion of file structures or data base organization in an advanced course.
Our instructional goals for the sequence include the encouragement of general computer literacy, the teaching of programming techniques, the development of problem solving skills, and the coverage of selected advanced topics. We had to meet these goals without making excessive technical demands on the instructional staff.
Using terminals versus card reader in remote job entry
Authors: Bailey M. Gene , Davis Lloyd 
Published: July 2004

As enrollment in computer science departments continues to increase, institutions are finding it necessary to improve existing computer facilities. Many have chosen the “distributive processing” route whereby one central location handles a major portion of the workload of the schools connected to it, while each of the schools maintain some stand-alone capability. Schools are billed for work that is performed at the network center.
In particular, student jobs are charged, whether individually or collectively, to a particular school or department. It is, thus, worthwhile to consider techniques for processing student jobs which will keep operating costs of a department to a minimum. This paper considers an approach that the University of Tennessee-Chattanooga (UTC) has taken to help minimize these costs.
An experiment was designed in which, for one semester, students would continue to submit programs through the card reader. The succeeding semester, jobs would be submitted through terminals, i.e. no card punching would be done and students would transmit to Knoxville using the terminals. The “bonus point” method was employed in both cases. The courses selected were FORTRAN AND PL/I, the first two courses in the computer science curriculum and the major users (from UTC) of the network. The FORTRAN class used the WATFIV compiler and included some usage of the structured constructs available. Approximately seventy per cent of the students enrolled in this course were in majors other than computer science. The second course selected was PL/I which used the PL/C compiler at UTK. Approximately ten per cent of the students were non-computer science majors.
Computer science (1979)
Authors: Bailes Gordon , Countermine Terry A. 
Published: July 2004

Each year Computer Science Departments generally find that enrollment, at least in Associate and Bachelor's level programs, is increasing. At the same time, most Computer Science Departments find it difficult to recruit faculty with Ph.D. 's in Computer Science. In fact, Computerworld (6) recently reported on an NSF study which identified approximately 600 vacant faculty positions in Computer Science in this country.
Primarily, the purpose of this article is to report the results of the study without attempting extensive analysis or interpretation. Certain inconsistencies in the data have been noted by the authors—primarily due to inaccurate or incomplete answers to various questions. It was not feasible to disregard incomplete or inconsistent questionnaires since the number of complete, consistent responses was small. In a few cases, the authors have attempted to correct obvious inconsistencies—for example, if an institution reported that it recruited to fill 3 vacancies on the faculty, that no one was hired, and that 4 of those hired had a Ph.D. in Computer Science, we assumed that the 4 should be a 0. In most other cases, the data is reported as given in the responses and the authors believe that it is reasonably accurate and representative.
Software engineering at the high school level or taking a byte or two from an apple II
Authors: Beidler John A. , Meinke John G. 
Published: July 2004

In the near future that many of the computing concepts we currently teach at the college level will be taught in the near future (some are doing it already) at the high school level. From our experience we are convinced that this can be done, but substantial changes will have to be made in the ways in which programming concepts are taught.
In subsequent sections of this paper describe the original direction of our proposal, how we had to change it, and where we see it going in the future. As we continue to work with our colleagues in the secondary schools, we have developed an important feedback loop. They have been convinced of our sincerity in assisting them. Therefore, they have been very free and open with their comments and their criticisms. This in turn has given us a tremendous opportunity to continuously revise and our material. As a result, we are convinced of the validity of our approach.