Effect of laboratory facilities on computer science curriculum
This paper describes the effect that the introduction of computing laboratory facilities has had on the curriculum of an undergraduate Computer Science program. From its initial use by only one course, the laboratory has grown gradually both in terms of ...
Minicomputer selection and implementation
Technological advances in large-scale integrated circuits have caused mini and micro computer usage to multiply in the last few years. This behooves academic to treat the mini/micro phenomenon adequately. The same multiplication process, however, makes ...
A logical approach to teach digital computer design at logic and systems level
Design courses in Computer Systems Design are being taught in many undergraduate programs both for Computer Science and Electrical Engineering students. A design project is explained in this paper to give all the information to the students regarding ...
“The simple internal procedure as an effective tool in the teaching and practice of structured PL/I”
This paper reports on two successful curricular innovations made in the first-year PL/I programming course at Rutgers. Simple internal procedures are introduced at an early point, and used extensively thereafter; and fairly long, large programming ...
A tool designed to facilitate structured programming
An algorithmic language interpreter is presented which provides users of various technical backgrounds a convenient way to describe algorithms and simultaneously focus on problem-solving concepts: problem analysis, algorithm development, and the ...
Practical experience in top-down structured software production in an academic setting
Much has been said about the importance of teaching top-down program design and structured programming in computer programming courses. However, instruction in these concepts has usually been limited to short homework assignments and at most to term ...
ORACLE a tool for learning compiler writing
This paper describes a compiler called ORACLE which allows a student to examine the actions performed by a simple compiler. Two features are provided to assist the student. The first called replacement mode, provides the necessary conditions to simulate ...
A do-it-yourself instant compiler.kit
The theory of compiler-compilers is well known. Here we present a small collection of SNOBOL subroutines which make the SNOBOL pattern matcher a self-documenting instant compiler. All one need add are the syntax productions (as simple SNOBOL patterns ...
Advanced structured COBOL programming
There is a large market demand for COBOL programmers. Can a single introductory course in COBOL programming provide the students with sufficient professional expertise to qualify them for these job openings? If not, is it feasible to offer a second ...
Teaching problem solving and structured programming in FORTRAN
This paper describes an approach towards teaching problem solving in an introductory service course using the FORTRAN programming language. The course is centered around s set of problems which are used to illustrate a problem solving methodology. Three ...
A multiprogramming operating system for a minicomputer
Described in this paper is a small, modular operating system which was written for an Interdata-70 machine. The total operating system is memory resident and occupies 5K bytes. The primary motivation in redesigning the operating system was to structure ...
A top-down, laboratory based operating system course
An operating system course is described which is organized in a top-down fashion and strongly emphasizes the concept of “learning by doing.” The course content and the corresponding laboratory assignments are discussed. The suggested modularization of ...
An operating systems implementation project for an undergraduate course
While the adoption of an implementation project for an operating systems course is certainly beneficial, non-trivial projects are inherently demanding in terms of student efforts and computer costs. This paper reports on a project which has been ...
Operating systems with POPSS
It is often difficult to select relevant and reasonable laboratory assignments in an introductory operating systems course. The students are seldom prepared to code intricate portions of an operating system, even if suitable hardware were available for ...
Teaching programming to beginners
Because of the rapid growth of computing and its influence in schools and community colleges, we find we must teach a growing number of graduate teachers and administrators how to program. Because we firmly believe that the only programming worth doing ...
Alternative teaching strategy for an introductory computer language course
Many consider that the best strategy to teach an introductory computer language course is to start programming very early in the semester. This paper discusses the drawbacks of such a strategy and presents an alternative way to teach such a course. ...
An experience in teaching “cobol?” to graduate engineers
Texas A&M University was involved for ten years in a program to train civilian engineers for the US Army. The engineer, the program's product, was to be capable of moving into positions of management and middle management within the civilian employment ...
Calculator metaphors, and goals for calculator education in elementary schools
Computers are not easy to understand. Even a computer scientist who devotes full time to the field cannot hope to fully comprehend the capabilities, limitations, applications, and implications of these machines. Joseph Weizenbaum, in his recent book ...
Machine language programming in an undergraduate computer science curriculum
This paper examines the advantages and disadvantages of teaching machine language programming to computer science undergraduate students. A teaching language based on reverse Polish notation, but with high-level control constructs, is presented as an ...
A place for assembler in structured programming
Today, with the thrust being made with structured programming, questions arise concerning the relevance of assembler language code. The purpose of this paper is to defend assembler language programming by showing its relevance and to show how we present ...
Teaching software development using a microprocessor laboratory
This paper describes an attempt to provide realistic software development experience to a group of 15 students at North Texas State University. Each of the students had some previous programming experiences. Most of this experience was with higher level ...
First course in computer science, a small survey
In many disciplines, the introductory courses are well standardized as to what should be covered, how the subject is to be taught, and how student's performance is to be measured. Such is certainly not the case in Computer Science, where we constantly ...
Methodology for teaching introductory computer science
In the last few years it has been generally recognized that teaching programming involves more than describing a new FORTRAN statement each day and providing programming problems to be coded. The concepts of disciplined programming and the accompanying ...
Recursive programming in english for freshmen
The importance of recursive programming in an introductory computer science course is discussed from the viewpoint that the notions of 'process', 'program' and 'processor' are fundamental in computer programming. Several examples demonstrate how the ...
Problem formulation for programmers
The various attempts to augment man's information processing capabilities with the use of machines became significantly more realistic with the advent of the modern electronic and adaptive-logic computers4. With the introduction of advanced computing ...
Toward the specification of programs
Much has been written lately on program design using a top down approach, decomposition and stepwise refinement. Most of these methodologies have been grouped under the general rubric of structured programming, see for example Computing Surveys, Vol. 6, ...
The teaching of program correctness
For the past seven years, including three years at the University of California (Berkeley) and four years at The George Washington University, this author has taught material relating to the correctness of programs in both undergraduate and graduate ...
Approaches to based storage in PL/I
In this paper it is shown how the topic of BASED storage in PL/I can be used to illustrate a wide variety of concepts in intermediate level courses in data structures and programming languages. Because most instructors introduce the topic only from the ...
Depth-first digraph algorithms without recursion
After having taught the design of algorithms for more than ten years I still find that recursive algorithms are much too difficult for most computer science students. There seem to be two problems: the students are unable to grasp the essence of an ...
Macrognosographics: A reason to keep flowcharting
Several rationales for flowcharting computer programs are discussed along with weaknesses, strengths, and current trends. One often over-looked motivation is the use of “macro-flowcharts” to compare, for pedagogical reasons, the gross features of ...