bluuebunny/crossref_metadata_2025 huggingface dataset:
Animations of computers as teaching aids
Authors: Leap Thomas R.
Published: July 2004

This paper discusses several programs which are used as teaching aids for teaching computer science students. The programs are animations of the internal workings of a central processing unit. They should be particularly useful in assembly language and computer organization courses or to give introductory students a more tangible example of what is going on inside the computer. The animation techniques use only the capabilities of common dumb conversational computer terminals and can easily be implemented on many different computer systems.
A “hands-on” approach to computer literacy
Authors: Ryder Barbara G.
Published: July 2004

Computer science departments face an overwhelming demand from the university community for computer literacy courses. In 1982 at Rutgers University we began to offer a “hands-on” literacy course for non-computer science majors. The students learn the rudiments of BASIC, study “how the computer works” by learning a small pseudo-assembly language and experiment with a variety of applications software packages. Applications include text processing, modelling, game playing, CAI and spreadsheets. Our experiences with this course have been positive, although the logistics of handling 960 students per semester are formidable.
A foundation course in computer science
Authors: Behforooz Ali
Published: July 2004

The discipline of computer science has matured to the extent that now it has become necessary to define a foundation course primarily designed for majors in computer science. Such a course will include an introduction to the basic areas to which these students are later on exposed at their junior and senior years. In particular, the syllabus may consist of five core areas: problem solving including algorithm design, development and testing; data structures including representation and implementation of arrays, stacks, queues, trees, lists and files; computer systems including traditional hardware and software concepts; program design and development including modern programming methodology, debugging and documentation; and finally the syntax and semantics of one or two programming languages. The duration of the course will be one full academic year for a total of 12 quarter or 8 semester credits of work. The course will assume an entry level equivalent to college algebra, computer literacy and collegiate maturity measured by completion of a total of about 32 quarter or an equivalent amount of semester credits of college level work.
An intensive instruction format for information systems
Authors: Schrage John F. , Schultheis Robert A.
Published: July 2004

For over fifteen years Southern Illinois University at Edwardsville has offered management information systems courses using an intensive weekend format at locations around the United States. Although a variety of information systems courses in the Masters of Business Administration has been provided, the most frequently taught course has been Introduction to Information Systems. The introduction course combines elementary computer and data processing concepts, programming, applications, and systems analysis and design. However, the emphasis of the course is analysis and design of systems from a manager, or user frame of reference. Because of the nontraditional format of the course, a variety of instructional strategies have evolved to insure successful student achievement of course objectives. Frequent comparisons between the test scores of students finishing the off-campus program and students completing the on-campus program indicate that the achievement levels are equivalent.
Recommendations for the first course computer science
Authors: Koffman Elliot , Muller Philip , Wardle Caroline
Published: July 2004

Working under the Curriculum Committee of the Education Board of the ACM, the committee has developed a detailed analysis of the requirements of the first course in computer science as described in the current ACM curriculum guidelines. The report includes the material which should be included in such a course and also recommendations for effective presentation of the material. Discussion of the computer laboratory and implications of increased exposure to programming experiences by incoming students is included.
Integrating databases with programming environments
Authors: Berkowitz Murray R.
Published: July 2004

The efficiency and quality of nearly all computer system developments are severely impacted by the lack of integrated, high-quality software tools and computing environments to support developers and managers through all phases of the software life cycle. The concept underlying “programming environments” is the development of an integrated computer system specifically for software engineering and management, to improve software development productivity and product quality, and to aid in software maintenance after delivery. The characteristics of programming environments, their nature and expected benefits, are briefly described. The role of a central, integrated database as the foundation of a comprehensive pogramming environment is examined. The key issues in the design of a database for a programming environment are discussed. Examples illustrate relative advantages and disadvantages of different approaches to the problem.
Query transformation in an instructional database management system
Authors: Czejdo Bogdan , Rusinkiewioz Marek>
Published: July 2004

A database management system designed for instructional use should offer facilities usually not required in a commercial environment. One of the most important features desirable in such a system is its ability to perform query transformation. The use of an universal symbol and tree manipulation system to perform query translation, decomposition and optimization is described in the paper. Examples of transformation rules required to translate SQL expressions into equivalent QUEL expressions, decompose SQL expressions into parse trees and perform optimization of expressions based on relational algebra are shown.

An experimental relational DBMS using the above approach is currently under development at the University of Houston. It supports various nonprocedural query languages within a single system, using a unified database dictionary. Cross-translation between various query languages is allowed. The results of every important phase of the query transformation during its execution are interactively available to the system user.
A lesson in recursion and structured programming
Authors: Augenstein Moshe , Tenenbaum Aaron
Published: July 2004

Students in middle level courses in data structures and programming languages often do not have a full appreciation of recursion. The study of the simulation of recursion can be an excellent tool in improving this situation. It is shown how to construct a nonrecursive routine to solve a problem whose solution is naturally recursive. This nonrecursive routine is then used as a foundation from which one can construct a simpler and better structured program than the original version. The advantages of this activity are also discussed.
Computer science for elementary school teachers
Authors: Moursund David , Neill Mike
Published: July 2004

The time line for significant changes in public education is long, and introduction of computers into education is
not
proving an exception to this. The circumstances that have contributed to relatively rapid progress in introducing computers in higher education do not exist at the pre-college level. This paper concentrates on the problems of computers in elementary education, and suggests several partial solutions to these problems.
In-service education for teachers of computer science
Authors: Jackson Alyce
Published: July 2004

The kind of training needed for teachers of computer science in secondary education must reflect the trends in technological changes and curriculum innovations.

Presented in this paper is a discussion of in-service education for teachers of computer,s cience based on the concept of computer literacy as a measurable criterion for accessing computer science objectives.
Introductory computer science courses a modular design
Authors: Rosenberg Ivan M.
Published: July 2004

This paper proposes a set of assumptions about learning in general, followed by a set of assumptions concerning ICS courses in particular. Using these as a foundation, an ICS course content and structure is developed which clearly shows the relationships between the various branches of computer science, encourages a logical presentation, and is modular and hierarchical, permitting use for a wide variety of audiences and course objectives. Since content organization is only one aspect of a course, the method of presentation is also discussed, with emphasis on methodologies other than lecture.
Computer-scored, programmed test monitors student progress
Authors: Boyle Thomas A.
Published: July 2004

This paper introduces an achievement test format which, in combination with computer scoring, provides some unusual capabilities. The format is an adaptation of one used in programmed instruction. It enables a considerable degree of response contingency, yet is readily scored by computer in batch mode. Short achievement tests of this type, referred to here as branched-program tests, have demonstrated unusual diagnostic capability and inherent security. They thwart common forms of cheating, both by students and by teachers, and single tests of this type can be used several times during a term of related instruction. The unusual characteristics of this type of test have prompted administration in several modes; in one the test appears as an appendix to each student's textbook. Here the test effectively becomes the basis or specifying a principal goal of the learning to be done. Repeated administrations of the test serve to monitor each student's progress.
The variety of TICCIT systems—an overview
Authors: Morton Richard P.
Published: July 2004

MITRE's TICCIT program began in 1968 with the hypothesis that coupling television displays to a time-sharing computer system would result in a computer-based instruction system low enough in cost to permit schools to provide a significant quantity of individualized instruction to a large number of students. The subsequent TICCIT effort has demonstrated this hypothesis to be correct, and has led to the development of a model for this technology (See Figure I ) that has been shown by the ten TICCIT systems in operation and under construction to have a wide range of options which match a wide range of instructional and general purpose environments.
Articulation of computer science curricula at the community colleges and the universities
Authors: Brandeberry James E. , Friedman B. Albert , Jehn Lawrence A.
Published: July 2004

An example of a solution to the problem of a student majoring in Computer Science/Data Processing at a Community College transferring to a university and continuing his degree program will be presented. Audience participation will be encouraged.
On the uses of models in education
Authors: Kirbach Jürgen , Schmidt Joachim W.
Published: July 2004

Some preliminary observations may demonstrate some of man's motivation for using models: Generally science is concerned with causal systems, which are systems the states of which do not depend on future inputs to the system. It is this class of systems which is pretty well understood (differential equations, automata, deterministic or not). The purpose for engaging in science about causal systems is - besides pure curiosity - mainly to aid man's desire to behave in a goal-directed manner.

Since a modern society has a need for goal-directed behavior of its members, e.g. in problem solving, there is also the need to teach people the associated structures. They need

- to get to know existing models (knowledge),

- to learn the way models are used (methods),

- to get to know the tools for modelling (theories), and

- to be able to use strategies for developing them (science).

The introduction may give the impression that we favor a very loose use of the term “model”. This is not so, however. On the contrary since this term is so loosely used presently, it should find a refinement by explication which can be done by examining the associated structures further. That this may not be a waste of effort may have been demonstrated by the central role models play for man's goal-directed behavior.
A tutoring and student modelling paradigm for gaming environments
Authors: Burton Richard R. , Brown John Seely
Published: July 2004

This paper describes a paradigm for tutorial systems capable of automatically providing feedback and hints in a game environment. The paradigm is illustrated by a tutoring system for the PLATO game “How the West Was Won”. The system uses a computer-based “Expert” player to evaluate a student's moves and construct a “differential model” of the student's behavior with respect to the Expert's. The essential aspects of the student's behavior are analyzed with respect to a set of “issues”, which are addressed to the basic conceptual constraints that might prevent the student's full utilization of the environment. Issues are viewed as procedural specialists that “wake-up” or become active when an instance of an issue manifests itself in a move. These issue specialists help the Tutor isolate what to comment on. The intent of the system is to transform a “fun” game into a productive learning environment without altering the student's enjoyment.
The bayesian computer-assisted data analysis (CADA) monitor
Authors: Isaacs Gerald L. , Novick Melvin R.
Published: July 2004

Many steps are involved in completing a Bayesian statistical analysis. Some are skilled tasks requiring the expertise of a professional, others are purely mechanical. The former include such tasks as choice of model, specification of the prior distribution and interpretation of the posterior distribution; the latter include such things as the arithmetic necessary to combine the prior distribution with the data to produce the posterior distribution and to produce probability statements from that distribution. Unfortunately, it is all too often the case that the arithmetic gets in the way of the professional's decision-making responsibilities by breaking concentration and line of thought; and at times the sheer bulk of computation precludes the use of advanced techniques by the unaided researcher. What is required is a monitoring system that does all of the arithmetic and, even further, sees to it that all of the steps in the analysis are performed correctly and in their proper sequence. Also, within an instructional process, it can be very useful to have a system that helps a student learn by guiding his steps through a valid statistical analysis even if he doesn't yet fully understand what he is doing. For these and other reasons, a system of Computer-Assisted Data Analysis (CADA) was developed at the University of Iowa (Novick, 1971, 1973). Further investigation into available computer technology coupled with expansion of the theoretical base on which the original system rested resulted in the refinement and expansion of the available programs and the construction of a monitor to facilitate their use.
The use of information theory and personal probabilities in computer based learning
Authors: Vawter Richard
Published: July 2004

If a student to machine response falls outside a predetermined range during computer based instruction, then some off line procedures (or an ignore command) must be invoked. This observation points out that student to machine response is generally that of a multiple choice format with a perhaps large, but still finite, list of possible responses. In this paper we will discuss the uses of information theory and the Bayesian philosophy of probability to evaluate student to machine responses when there is a well defined set of possible answers.
Multi-disciplinary programming exercises
Authors: Ragsdale Ronald G.
Published: July 2004

Courses in computer science, data processing or other areas that involve the learning of computer programming often require the student to complete programming exercises. These exercises give the students practice in translating some process into a set of computer commands that accomplish the same process. Very often the exercises are relatively “content free” (write a program to add a set of numbers...) and the objectives attained by the exercises are entirely in the data processing, computer science domain. This paper is based on the assumption that the content of typical programming exercises is an unutilized resource that can be used to facilitate learning in other subject matter areas without jeopardizing the attainment of the programming goals.
An interactive pseudo-assembler for introductory computer science
Authors: Sjoerdsma Ted
Published: July 2004

Since 1968 the University of Iowa Computer Science Department has used a locally developed
E
asy
A
ssembler
SY
stem (EASY) to accomplish a better comprehension of the concepts taught in the segment of the introductory computing course which dealt with internal structure and organization.

In the fall of 1973 my attention focused on EASY (with all of its problems) as a likely candidate for a computerized-interactive-tutorial segment of this course. Since the consistency of use and precision in presentation were important aspects of teaching the concepts related to EASY, such an approach seemed natural.
A video disc oriented educational system
Authors: Michalopoulos Demetrios A.
Published: July 2004

One of the challenging fields of computer science is the computer graphics field which, because of its relatively high cost, has not been used extensively for educational purposes. Recent hardware developments in the graphics technology and price breakthroughs in digital equipment are beginning to influence the educational uses of computer graphics. If “a picture is worth a thousand words” and if the cost is not at this ratio, one can provide the student, not necessarily of computer sciences, with the possibility of a continuous interaction in which the student can see the results of his decision and thus allows him to experiment and practice with ideas not completely understood yet.

This paper presents a design for an interactive educational system incorporating the recent development of the video-disc.
National Science Foundation programs in computer science
Authors: Barnes Bruce H. , Molnar Andrew R. , Oliver Lawrence H. , Watson Robert F.
Published: July 2004

This panel will discuss the various programs of the National Science Foundation dealing with Computer Science Education and Research. These include programs on basic research in computer science, research in computer science education and various programs designed to increase the quality of science education, especially where computers can plan a significant role in the educational process.
The revision of “Curriculum '68'” (An Abstract)
Authors: Engel Gerald L.
Published: July 2004

Over the past several years the Curriculum Committee on Computer Science (C
3
S) of the Association for Computing Machinery has been preparing updates and revisions for “Curriculum '68'”. This has resulted in a number of surveys, and the preparation of three major interim reports.

A series of topics is presented which represents the curriculum in the first two years. These topics fall in the general areas of (1) Programming Topics, (2) Software Organization, (3) Hardware Organization, and (4) Data Structures and File Processing.
Tab, a Program Design Language for the classroom
Authors: Welch John T.
Published: July 2004

A Program Design Language, or PDL, is a structured and program-like format for prose descriptions of computer algorithms. Syntax rules of the PDL, while few in number and informal in comparison with those of a compiled language, do impose a needed structure on the description, making the flow of control within the algorithm and its division into logically separate parts apparent to the reader.

This paper introduces a Program Design Language to be called Tab. The name is suggested by the primary principle of its design: that the grouping of statements into structures be governed by indentations to equally spaced tab positions.
A structured beginning COBOL class using structured programming with objectives
Authors: Keith Ed
Published: July 2004

This paper presents the structure of a beginning class in COBOL which stresses structured programming techniques and is organized as a series of stair-step type objectives. Three topics are stressed in this presentation: the application of student-centered objectives to a COBOL class, structured COBOL examples for commonly encountered logic constructs, and an approach to documenting structured COBOL through an indentation scheme.
How to show something is not
Authors: Harrow Keith
Published: July 2004

Most introductory courses in theoretical computer science (formal language theory or computability theory) start with a seemingly endless series of definitions, including what it means for a grammar or language to be regular, context-free, etc., or what it means for a function to be recursive, primitive recursive, or partial recursive. Bright students immediately ask two questions. First, what are examples of languages or functions that belong to one class but not the other? Second, is some particular language context-free, or is a particular function recursive?

We must develop new techniques which allow us to give a negative answer to question two (and thus to answer question one as well). In this note we will discuss some of the methods that are often used in elementary proofs in formal language theory and computability theory.
Careers of University of San Francisco Computer Science Graduates
Authors: Haag James N.
Published: July 2004

One might ask: “How have U.S.F. C.S. graduates done in their careers?” Quantitatively speaking, the succinct answer, based on Table 1, appears to be “Magnifique:” At a 1976 annual salary of $19,100 for a 29-year old professional, they are among the higher-paid of all graduates from university-level baccalaureate programs. Qualitatively speaking, at a 1976 reunion attended by 27% of all C.S. alumni, they talked positively and optimistically about their careers. A similar phenomenon occurred at the most recent 1977 U.S.F. C.S. reunion

The Administrative Management Society has surveyed 52,803 data processing position holders in seven job categories and employed by 4,895 U.S. companies in five industries and compiled average salaries, as of February 3, 1976 (I). The average U.S. programmer was then making an annual $13,572 ($261/week), a figure exceeded by our graduates after about 2 years of experience. However, the highest salaries, the survey reports, were in the western region of the U.S., with a programmer making an annual $16,900 ($325/week). Note, from Table 1, that our C.S. graduates, taken as a group, even though not all are programmers, exceed this figure also after about 4 years of experience.
A course in personalized applications libraries
Authors: King Ronald , Walstrom John
Published: July 2004

With the advent of micro/mini computers and timesharing facilities, personalized information systems are a reality. Computing courses are needed that can successfully raise the competency level of the general college student to the point where the computer can be used as a powerful tool. At present, curriculum development abounds, and is being extended, for courses that pertain to future applications and system programmers. However, curriculum development related to meeting degree tool requirements is centered only around the first course in computing, typically either an elementary programming course, or one which provides an introduction to computers and society. This paper describes a course in personalized applications libraries to be used as a follow-up to the typical first computing course, with the objective of enabling students to be more successful in realistically meeting tool requirements. The paper includes a course overview, catalog description, course outline, and a bibliography of related reference material.
A proposed 4-year software engineering curriculum
Authors: Jensen Randall W. , Tonies Charles C. , Fletcher William I.
Published: July 2004

Computer science and engineering (CSE) departments in the nation's universities are the current targets of much criticism by software professionals. The common complaint is that the existing curricula do not relate to many of the most important problems a software engineer faces in the industrial/business environment.

If we define software engineering as the establishment and application of sound engineering principles to obtain economically software that is reliable and works efficiently on real machines, it is mandatory that we recognize software engineering as more than simply converting a given set of program specifications into executable code. The software engineer must deal with the entire software life cycle which spans the time from the conception of the product, through the development phase, and finally to the end of its operational life. Medium- to large-scale software projects typically involve a myriad of managers, engineers, programmers, and customers which leads to the need for effective management and communications to ensure the best possible product.

Therefore, the software engineering curriculum must include the following basic education areas: computer science and engineering, management science, communication skills, and problem solving in addition to fundamental physical and business sciences.

Disparities between academic attitudes and profit-making realities are described and fundamental elements of an effective curriculum are proposed in this paper. A suggested 4-year curriculum leading to a Bachelor of Science degree in Software Engineering is also presented.
A historical, generalistic, and complementary approach in introductory computer science education
Authors: Kimura Izumi
Published: July 2004

A polished version of “Computers and Programming” of ACM Curriculum 68 is presented. The central theme here is the design philosophy of the course. The approach is (1) historical, in that it quickly draws an idealized picture of the history of computers and programming. It is (2) generalistic, in that it teaches various sides of the subject, including advanced software engineering ideas, in parallel in a balanced manner. Finally, it is (3) complementary, in that it takes into account the fact that a conventional Fortran course, corresponding to “Introduction to Computing” of Curriculum 68, is being taught simultaneously by another instructor.
Systematic instruction in simple programming gambits
Authors: Barnett Michael P.
Published: July 2004

This paper describes an approach to teaching programming that the writer follows in his sections of the main introductory PL/I programming course at Brooklyn College, in a forthcoming text - An Introduction to PL/I Programming, and in material being prepared for use in the local public schools. The subject is developed by reference to carefully paced examples of programs that use different programming “gambits”, in isolation and in combination. The programs all relate to plausible applications. The gambits have been systematized, and an order of presentation established that matches the developing needs of professionals in other disciplines, whose potential use of computers is dominated by information processing rather than numerical computation.
A software tool for teaching Data Structures
Authors: Beidler John , Meinke John
Published: July 2004

Our Data Structures Course, first taught in 1973, was originally conceived as the keystone course of our computer science curriculum. Our curriculum's original design was influenced by Curriculum '68 and the undergraduate computer science program at Penn State University. However, we had to adapt our program to our small college environment and include a curriculum track with a business emphasis. We felt that regardless of which track in our program a student might follow, theory/systems or business/DP, there must be a strong nucleus common to both tracks. For this reason we concentrated on developing four strong courses that would be given as the freshman and sophomore year component of our curriculum.

As part of this, we also saw the need for software tools to support these courses. From this, a structured programming preprocessor evolved. However, as part of this preprocessor we included timing and dynamic storage allocation features. Through a strong emphasis on structured programming that begins with our first computer science course, our second course introduces many discrete structure concepts-queues, stacks, trees, graphs, etc... Our third course is a course in assembler level programming and computer organization. These courses provide a strong foundation for our Data Structures course.
Database management in the undergraduate curriculum
Authors: Dale Nell
Published: July 2004

The development of generalized database management capabilities has been one of the most dynamic areas of computer technology in recent years. It not only presents the computer specialists with a range of technical and theoretical problems of substantial interest, but has direct and visible impact upon the operations of organizations and upon the environment of the individual in an increasingly information oriented society. Accordingly, an introduction to the technology of database management is not only relevant for the computer scientist but to managers, administrators and everyone concerned with the problems of information processing.

As a result, a very real question is where in the undergraduate curriculum is this introduction taking place. Are Computer Sciences Departments offering such courses? Business Schools? Both? A second question is what do the education groups of the two professional computer societies—ACM and IEEE—have to say about database management education. A third question then becomes, how closely do the courses being taught in this area today parallel what the education committees suggest.
Another approach to service courses
Authors: Mitchell William
Published: July 2004

This paper discusses the issues surrounding service offerings by Computer Science departments and focuses specifically on the first programming course. The approach described by the author has been developed to serve business students who seek an introduction to programming, but it applies also to most non-majors. The popularity of computer applications in the various disciplines as well as the widely publicized vocational opportunities in data processing induce ever more students to try their hand at programming. The embarrassment of riches in enrollment, however, brings with it multiple problems of staffing, machine resources, and curricular balance. Less obviously it also brings the pressure for instant success in serving this new population and thereby avoiding the splintering of programming education among interested disciplines, as happened with statistics instruction. Various viewpoints on solutions to these problems have been published, but little understanding of the nature and goals of the students involved has been evidenced. What follows is an explanation of a student-oriented approach to service course instruction which has been instituted at the University of Evansville(Mitchell 78).
Experimental evaluation of programming language features
Authors: Furuta Richard , Kemp P. Michael
Published: July 2004

The interaction between programmer and programming language affects the maintainability, reliability, and understandability of the resulting programs. Their results are important both to the educator and to the language designer, particularly when examining languages to be used when teaching beginning programmers. The purpose of this paper is to examine and discuss the methodology and results of a number of these research studies.
Teaching Compiler Development
Authors: Appelbe Bill
Published: July 2004

Although a course in Compiler Development is common in both undergraduate and graduate computer science curriculum there has been little agreement on how to achieve a balance between theory and practice within a single semester course. This article proposes a new approach to teaching compiler development, to enable students to gain both the experience of writing a modular compiler and a theoretical background in compiler design, within the scope of a one semester course.

The approach advocated is based upon the integration of the course project and the course lectures, enabling students to develop a modular compiler for a general purpose high level algorithmic language. The course project uses a simple parser generator and syntax-directed translation techniques to minimize the programming effort without oversimplifying the design of the compiler.

The course was taught at Southern Methodist University to a senior undergraduate class, who developed and debugged useable compilers without the common symptom of major programming projects: programming to meet a deadline rather than a design.
An undergraduate compiler laboratory
Authors: Friedman Frank , Stebulis Judith A.
Published: July 2004

A one semester, upper-division undergraduate course in compiler techniques is described. The course is based upon the material contained in Chapter 5 of the text
Algorithms
+
Data Structures
=
Programs
, by Niklaus Wirth. The goals of the course are (1) to introduce students to the fundamental concepts of the design and translation of higher level languages, and (2) to provide an introductory exposure to the related literature. A compiler-writing project of about nine weeks duration is required of all students. Simulators supporting generated code for static and dynamic run-time environments are provided for student use.
An application oriented introductory computer science sequence
Authors: Powell James D.
Published: July 2004

Today's computer science programs are in an excellent growth position. Many high school students and guidance counselors believe that the term “computer” implies high paying jobs in an exciting field. High schools are also beginning to introduce computing into their programs. The use of computing in these schools ranges from formal programming courses, to computer literacy courses, to the use of computers as a tool in such courses as math and physics. Because of this interest, the enrollments in computer science departments are increasing at a rapid rate. This new influx of students presents some interesting challenges to our departments. On one hand, our introductory courses must accommodate students who have been exposed to computing. The amount of exposure ranges from some simple lessons in how to write BASIC programs to three or four years of computing experience involving several programming languages. On the other hand, our introductory courses must accommodate those students who have no prior experience with computing. Many of these students have no concept of computer science as an academic discipline. They are in the program for such reasons as the current glamor of computing or the potential for a high paying job. Neither of these reasons are bad in themselves; however, they do pose an additional challenge for our introductory courses. We need to help these students understand what is meant by the term “computer science”. Very early in their education the students need to be exposed to the major areas of computer science. Our introductory sequences must therefore be capable of introducing computing to those students with no prior background and at the same time handle students with a wide range of previous computing experience.

At North Carolina State University, we are meeting the above described challenges with three major approaches:

An introductory sequence for students with no background in computing,

An introductory sequence for students with no background in computing,

Advanced placement activities.

The purpose of this paper is to discuss the first approach.
The integration of a Problem Solving Process in the first course
Authors: Hyde Daniel C. , Gay Ben D. , Utter Donald
Published: July 2004

Introductory computer science courses should incorporate a problem solving approach as a pedagogical framework. Many first courses hand out problems to be solved and ask the students for solutions, but very few explicitly teach a problem solving methodology. The authors have developed a simple methodology called the “Problem Solving Process” (PSP) which focuses on the designing of computer programs for realistic problem situations in the introductory courses. This Problem Solving Process (PSP) is formulated to allow the integration of problem solving throughout the course. Through this integration, the course guarantees active student participation in learning about problem solving techniques as well as performing the act of problem solving.
Competency in computer instruction in Illinois Public Schools
Authors: King Ronald S. , Rine David C. , Furman DuWayne D. , Schaefer William A.
Published: July 2004

Competency In Computer Instruction In Illinois Public Schools
.

Very few states have developed certification requirements for public school teachers of digital computing. Therefore it is not surprising that elementary and secondary school teachers have received limited computer training. This paper describes a series of workshops to be offered at Western Illinois University during 1979 leading to a “certificate of competency” for Illinois public school teachers. These workshops are designed to provide teachers and administrators with an introduction to the computing field. Topics will include computer literacy, instructional applications and techniques of digital computing, and teaching strategies and methods used in the instruction of computing within the public school environment.
Isolated rural schools can have computers and teachers who can utilize them
Authors: Shub Charles M.
Published: July 2004

The development, operation and evaluation of a federally supported (National Science Foundation Grant SMI77-13063) program to develop teachers trained in computing and its application to serve as computer resource persons in their local schools is described. The need for such a project is delineated as partial motivation of the work reported. From this the objectives and project operational plan are established. The financial support mechanism is discussed. The actual operation and evaluation are described and conclusions are drawn.
A community based professional development program in data processing
Authors: Benson Robert J. , Rouse Robert A.
Published: July 2004

A joint University-Business Professional Development Program is providing data processing training and education to the Saint Louis metropolitan area. While housed in the University, the Program's content is directed by a steering committee of data processing professionals representing supporting corporations; this committee identifies faculty and evaluates the outcome of each activity. The Program strives to combine state-of-the-art data processing with conceptual developments to increase the effectiveness of programmers, analysts and managers. An important derivative has been the assimilation of ideas and practices into the undergraduate and graduate curricula of the University.
Using microcomputers to teach computer science
Authors: Weaver Alfred C.
Published: July 2004

This paper reports the author's progress toward developing a microcomputer laboratory suitable for teaching some of the basic concepts of computer science. The rationale for this approach is presented, followed by a description of the hardware and software environment thus far developed. Finally we present two course outlines: one for an undergraduate laboratory course in computer systems and another for a graduate course in microcomputer systems design for engineers.
Using a single board Microcomputer with a display in a computer science curriculum
Authors: Levin Peter
Published: July 2004

Teaching computer concepts to engineering, computer science and technology students has been a difficult task. Using large mainframes presents too remote an environment for effective learning. Microcomputers, although they provide more hands-on exposure than large machines, are too expensive for individual study and interaction. At the other extreme, it is unrealistic and time consuming for students to work directly with discrete IC's or microprocessor chip sets.
Reading before composition
Authors: Kimura Takayuki
Published: July 2004

An experimental teaching method for an introductory programming course is presented and evaluated. The method is based on the observation that program reading skills should preceed program writing skills, and that such reading capability can be self-learned by a careful study of a large number of example programs.
Curriculum development in information systems
Authors: Swanson Trevor , Hatch Richard , Lane Lee , Sondak Norman
Published: July 2004

Information Systems is one of the most dynamic and important professions of the 80's. There are a number of colleges and universities that offer baccalaureate degrees in this field. However, because of Information Systems' dynamic nature, many of these programs are now out of date. In this paper a modern, comprehensive curriculum leading to a baccalaureate degree in Information Systems is presented. This curriculum was developed in response to the needs of the student population and the requirements of industry. The curriculum was designed by first identifying career paths followed by students that graduate with an Information Systems degree from San Diego State University and then analyzing the areas of knowledge required. In addition, an effort was made to anticipate the future directions of the field of information systems in terms of need and technology. Relying on this study, plus feedback from graduates and employers, five major paths were determined. They were Applications Programming, Systems Analysis, Information Systems Management, Automated Administrative Systems, and Graduate Bound (students who would directly pursue further graduate study). To serve these related, but varied, areas, a common core of courses, as well as specific courses for each track, were developed. These core and specialty area courses are described.
Computing technology and the third world
Authors: Dewachi A.
Published: July 2004

The advent of computing technology has made far more impact in the developed world than any other technology in the past. The effect of this technology on third world countries has, so far, not been different from the introduction of other types of technologies. This paper attempts to highlight the negative aspects of the present state of computing in these countries in the hope that lessons can be drawn which will improve and modify future developments and trends. Transferring the development pattern of the developed world would be unwise as this has proved inadequate in the industrialization process of third world countries.

The paper also argues the role of international agencies and computer suppliers in the dissemination of information on computing technology and suggests a more pragmatic approach to the development of endogenous capacities through direct interaction between developed and less developed countries. Examples of development profiles are drawn from the Arab region and guidelines for future plans are proposed.
A project-oriented undergraduate course sequence in software engineering
Authors: Perkins Thomas E. , Beck Leland L.
Published: July 2004

The design of a two-semester course sequence in software engineering is described. These courses, offered at the undergraduate level, are centered around student projects developed in conjunction with local industry; the projects are used as a focal point to motivate and teach software engineering concepts and tools. The goal of the courses is to provide the student with an overview of the entire software development process, experience as a member of a project team, and exposure to a real-world software environment. This paper describes the course organization and topics, and techniques for project selection and monitoring. Results and experience gained to date with this approach are also discussed.
MVS in the classroom
Authors: McCharen Edith A.
Published: July 2004

The design principles of operating systems have been isolated and comprehensively expounded in texts that have appeared in the last decade which are suitable for either an advanced undergraduate or low-level graduate course. The topics covered are those listed in the course outline for CS10, Operating Systems and Computer Architecture II in Curriculum '78 (1). Generally one of two approaches is taken. The first is that the computer architecture already decides many of the fundamental policies of the operating system which it is to support. The second is that an operating system must solve certain allocation and scheduling problems in order to provide a user with a variety of services and to manage its own resources efficiently, and that once identified, solutions to the problems must be implemented on some computer architecture. In either case the text usually culminates with a limited project in which students design and implement some type of multiprogramming operating system.

This report outlines the approach taken to present IBM's Multiple Virtual Storage Operating System (MVS) in this setting.
Introducing programming concepts with graphical objects
Authors: Magnenat-Thalmann Nadia , Thalmann Daniel
Published: July 2004

It is more attractive for students to learn programming concepts like control structures, data structures or recursion by the means of examples based on graphical objects. The use of a graphical PASCAL extension is a well-suited way of realizing this goal. In particular, we emphasize the use of interactive graphical input-output, graphical types and data structures bases on graphical types. Typical examples are arrays of circles or linked lists of figures entered by the student.
Vertical integration in group learning
Authors: Parslow R. D.
Published: July 2004

This paper is mainly concerned with the teaching of Computer Science to first year (freshman) students. The method outlined is an attempt to change their generally 'convergent' attitudes into a more 'divergent' way of tackling problems.

One of the most wasteful features of modern education is the vertical separation of students, so that the collective wisdom acquired by one generation is unavailable to the next. Merely talking to those who have successfully overcome their problems is a great encouragement, and the presence of a senior acts as a catalyst in a group.

One special feature of the Brunel University position is that third and second year students have experienced work periods as “students.” Few of the lectures can comment on this aspect of the course from personal experience, so if real guidance is to be given it must be from “older” students. These students will have assimilated the group methods used in industry, commerce and research and will be able to organize their group to pass on their experience by example.

Our attempt at vertical integration involves treating all the students in a less paternalistic fashion and one feature of this, is to make the participation of senior students voluntary, with no “credits” for work contributed. We hope that as well as enjoying the experience, they will respond and gain from the reflection on other subjects.