bluuebunny/crossref_metadata_2025_split huggingface dataset:
The logic of propagation in the inscape environment
Authors: Perry D. 
Published: July 2004

The Inscape Environment research project addresses issues in supporting the development of large systems by large numbers of programmers. One aspect of this research is the “constructive use” of formal module interface specifications - that is, given that you have formal specifications, what can you do with them. In Inscape, the specifications form the basis for providing an environment that is knowledgeable about the process of developing and evolving software systems, an environment that works in symbiosis with the programmer to develop and evolve a software system.
In this discussion, I present how Inscape uses operation specifications (based on Hoare's input/output predicate approach) as the basis for synthesizing the interfaces for such complex languages statements as sequence, selection and iteration. In each of these statements, the synthesized interface is a function of the component interfaces.
I first present the basic rules for interface specification use and the logical framework for interface propagation and error detection. I then define the rules for propagating the interfaces for sequence, selection, iteration and operation. Finally, I define notions of “implementation completeness and correctness”.
Experiments in automated analysis of concurrent software systems
Authors: Avrunin G. , Wileden J. , Dillon L. 
Published: July 2004

It is unlikely that any single approach to analysis of concurrent software systems will meet all the needs of software developers throughout the development process. Thus, experimental evaluation of different analysis techniques is needed to determine their relative strengths and practical limitations. Such evaluation requires automated tools implementing the analysis techniques.
This paper describes a prototype toolset automating the constrained expression approach to the analysis of concurrent software systems. The results of preliminary experiments with the toolset are reported and the implications of these experiments are discussed.
A case for teaching program verification
Authors: Mili Ali 
Published: July 2004

Because of its relevance to program analysis and, ultimately, to program synthesis, the area of formal verification of program correctness is an important part of the education of the programmer and the computer scientist. A case is presented in this paper to advocate the teaching of the formal verification of computer programs. This case is based on three major arguments:
- The Why, i.e. the need for including a course on program verification in the computer science curriculum,
- The What, i.e. the technical contents of such a course as highlighted by the current state of the art,
- The How, i.e. the logistic feasibility of such a course within a fifteen-week semester.
Teaching formal methods for program development and verification (Panel Session)
Authors: Gerhart Susan L. , Hehner Eric C. , Mills Harlan D. , Turner A. Joe 
Published: July 2004

A. Joe Turner
The role of formal methods for program development and verification in computer science curricula will be discussed. The panel members will address the questions
1) What should be taught?
2) When should it be taught?
3) What are the objectives in teaching this material?
4) What are the problems in teaching this material at this level?
The panel members and an outline of their positions is given below.
Susan L. Gerhart
Certain things are understood to be needed for applying verification technology to actual software. The basic knowledge needed to apply verification methods using current technology to large-scale problems will be discussed, based on actual experience in using the technology in such areas as database systems, operating systems, and communications systems.
Eric C. Hehner
The Dijkstra/Gries approach to program development is an important and useful component of the computer science curriculum. Good programmers use this approach informally, and instruction in the formal methods can provide the understanding that will improve average programmers. Although the subject matter is currently taught at the senior/graduate level at Toronto, it should be taught earlier, for example during the second year. Teaching the material earlier does require a different approach, however, and good student preparation in logic would be essential for success.
Harlan D. Mills
Formal methods and a large structured set of principles for program design and verification should be taught early in the computer science curriculum. Instruction in programming can be improved by teaching a large set of small principles, and teaching by apprenticeship. Students learn easier and faster when they are freshmen than later after they have become hackers.
Teaching human-computer interaction in introductory courses
Authors: Entin Eileen B. 
Published: July 2004

In this paper I have attempted to point out some ways in which an instructor can sensitize students to the human-computer interface aspect of programming. By discussing this topic at the introductory level, students are made aware early on both of how important this aspect of programming is and, at the same time, how difficult and time-consuming it is to produce quality interface.
Most of the suggestions for lecture or discussion presented here can be covered fairly briefly, without taking too much time away from the discussion of the syntax and semantics of the programming language or languages being covered in the course. Just how much time is devoted to the topic of interface is, of course, at the discretion of the instructor. The suggestions for project assignments also require small additions or modifications to the traditional programming assignments. Furthermore, these ideas can be incorporated into more advanced courses. As the students' programming abilities increase and they are able to produce more and more complex code, the dimensions for evaluation of user interface can be broadened.
None of the foregoing is meant to imply that it would not be desirable to have students take a course specifically devoted to issues in human-computer interface. It would certainly be appropriate for students to pursue this topic in depth, and a special course such as the one outlined by Shneiderman [6], would be excellent. The important goal at the introductory level is to make students aware that user interface is an important aspect of good programming. If they gain this awareness at the outset, it will pervade their thinking so that one does not have to correct their orientation later in the curriculum, or later still, after they begin their professional career.
A project oriented course on software engineering
Authors: Henry Sallie 
Published: July 2004

This paper makes an attempt to outline Software Engineering course with particular attention on the administration of the project.
Section II describes the type of students taking the course, and a general description of the topics covered in the course. In section III the project itself is discussed with attention focused on the need for a project, what is expected of the students and the administration of the project. Section IV describes how parts of the course have been automated to relieve some of the problems of administration. Finally, the last section of the paper summarizes the impact of this course on the students and their employers.
Computer science curriculum recommendations for small colleges(Panel Session)
Authors: Cassel Lillian , Austing Richard , Beidler John 
Published: July 2004

Panelists will report on the work of the ACM Education Board's ad hoc committee to revise and update the Small College curriculum recommendations published by ACM in 1973. The revised report's completion is expected by the end of 1983.
A preliminary report will be given which addresses topics including suggested curriculum content, resources needed, implementation problems, and other matters of concern to small colleges attempting to develop and/or maintain a viable computer science program. Audience response will be welcome to provide input to the committee.
A model high school computer lab(Special Session)
Authors: Hoffman Irwin J. 
Published: July 2004

The George Washington High School has received many awards for its ecumenical approach to affording students a computer experience. The computer curriculum and laboratory treat the whole spectrum of student abilities and subject areas, including not only mathematics and business but also other areas such as English, art and music, as well as the educationally underprivileged. The curriculum includes 16 formal classes, and the laboratory currently contains 36 computers.
The development and organization of the computer laboratory and curriculum will be presented. A brief demonstration of software to teach English to students speaking Spanish, Laosian, Hmong, and Vietnamese.
Adventures in PASCAL—the academy approach
Authors: Jost A. C. , Bolz R. , Topping G. 
Published: July 2004

A new curriculum was designed for the computer science major at the Air Force Academy with the initial majors course being Elements of Programming Languages (CS359). The course consists of four major blocks: detailed concepts of PASCAL; examination of elements of programming languages; examination of FORTRAN77 and COBOL; and student comparative reports on other contemporary languages.
The initial block about PASCAL in this course is unique in concept and approach; and is the focus of this paper. The underlying basis for the approach taken is that PASCAL is an extremely small language; therefore, very easy to master. Once a student has mastered a programming language it is easy to compare other languages against the 'mastered' language. Also, it is much easier for the student to learn new programming languages once one is mastered. The approach we used in this course is what makes it fairly unique.
A predictor for success in an introductory programming class based upon abstract reasoning development
Authors: Barker Ricky J. , Unger E. A. 
Published: July 2004

The purpose of this study was to create and validate a tool which could be administered to students enrolled in or considering enrollment in an introductory programming course to predict success in the course or alternatively to segregate enrolled students into fast and slow paced sections. Previous work which met the criteria of a self contained predictive tool included the work of Barry Kurtz [5] of the University of California, Irvine using abstract reasoning development as the predictive measure. The test Kurtz developed had been tested only on a small sample (23 students) in a controlled environment (one instructor - the researcher) and the test required up to 80 minutes to complete.
This study modified the Kurtz test to require 40 minutes and administered it to 353 students learning two different languages from a variety of instructors. This predictor successfully predicted the advanced students from average to below average students. When used in conjunction with other known factors, e. g., GPA, the authors feel it is a viable tool for advising and placement purposes.
Advanced placement program in computer science(Panel Session)
Authors: Rine David C. , Jefferson Wadkins J. R. , Garland Steven J. 
Published: July 2004

The Advanced Placement Program in Computer Science will be discussed by members of the development group. The presentation will be geared to both high school and college level educators.
Steven J. Garland, Chairman
The content of the Advanced Placement course and the information that was used to put the course together will be presented. Alternative outlines will be discussed as well as long-range plans for the future.
David C. Rine, Chief Reader
Suggestions on facilities needed to support the Advanced Placement in Computer Science course, and preparations for teachers of the course, will be presented. Standards, teacher training, and the Advanced Placement Examination will be discussed.
J.R. Jefferson Wadkins
The role played by the College Board and Educational Testing Service in the development of Advanced Placement courses and examinations, as well as ways in which the College Board and Educational Testing Service assist high schools and colleges with courses and examinations, will be presented. Available materials and information from the College Board and Educational Testing Service will be discussed.
Installation of a commercial database management system in a university environment
Authors: Honkanen Pentti A. 
Published: July 2004

This paper addresses the problem of using a commercial database management system (DBMS) in an academic environment for educational purposes. Prior to the decision to use a commercial DBMS, an instructional database IDBS [4] was used. The pros and cons of this decision are discussed. In addition, the problems of obtaining a commercial DBMS on an academic budget for instructional purposes, and of creating a reasonably realistic database are discussed. Finally, an evaluation of the initial quarter's use is presented.
The environment for this discussion is the Georgia State University College of Business Administration Information Systems Department graduate database course. This course is offered three times a year with approximately 20 students per offering.
DBMS are extensively being used in business areas [2,9,14,15]. As more DBMS are being installed, the sophistication and complexity of these systems is increasing [9,12,13]. This fact makes it imperative for the graduates in the Information Systems field to have a solid understanding of a DBMS and how it is used in a business environment. Without actual experience using a DBMS one cannot fully understand systems of such complexity. This understanding cannot be obtained from text reading and lecture. This situation is analogous to learning a programming language without actually ever using a computer.
The suitability of the VAX for a course in assembly language
Authors: Sebesta Robert W. 
Published: July 2004

This paper describes the assembly language course we teach, using a Digital Equipment Corporation VAX-11/780 minicomputer, in which structured programming is stressed. It also discusses the relative merits and disadvantages of choosing the VAX as the computer to be used in such a course.
The first section of the paper provides a quick survey of the VAX architecture. The second describes our course in assembly language, including our method of structuring assembly language programs. The final section details some of the positive and negative aspects we discovered in using the VAX in our course.
A new environment for teaching introductory computer science
Authors: Ayen William E. , Grier Sam 
Published: July 2004

In 1973, a great amount of frustration was being vented about student inability to formulate and solve problems on a computer; at that time, a suggestion was made to separate problem solving from programming—to make problem solving language independent [1].
This approach was acknowledged in 1978 as one of four common methods of teaching college-level introductory computer science [2]. Finally, in 1981 and 1982, this method, or a variant of it, was widely proclaimed [3] [4] [5].
We adopted this approach of instruction in our introductory course in 1977 and the results have been less than spectacular.
We don't make this point to discredit the approach; its existence has made manifest the necessity of teaching problem solving in an introductory course. Rather, we believe that the added teaching of a separate problem solving methodology is not by itself sufficient.
A paged - operating - system project
Authors: Schiper André , Dalang Gérard , Eggli Jorge , Mattini Imad , Simon Roland 
Published: July 2004

This paper describes a student project which is a major part of a senior level Operating Systems course at the Federal Institute of Technology in Lausanne.
The project consists in conceiving and implementing an entire Operating System, where user jobs benefit from a simulated paged virtual memory on a DEC-LSI/11 based microprocessor. Students program in Portal, a modular high level language similar to Modula.
The positive reactions we have obtained from our students center on satisfaction in having participated in defining specifications and having implemented an entire system themselves.
Planning for in-house software engineering education
Authors: Ulema Mehmet , Larsen Jack 
Published: July 2004

In summary, a rapidly changing technology, a tremendous growth of software based systems, a need to retrain current technical staff, the issue of programmer productivity, the lack of established educational programs in software engineering at local colleges, and the integration of theory with practical requirements are among the major factors which force us to implement an in-house educational program in software engineering.
It was learned from personal interviews and several surveys that there is a general consensus among Hazeltine management that there is a need to establish a uniform approach to the software development process, and that education and training are essential parts in any effort to improve our software capabilities. This article describes a long term plan to meet the education and training needs.
Analysis of the personal interviews, surveys of managers and engineers, and a literature search have made possible the identification of company needs and requirements and target populations. A three-part program is proposed, a system approach to meet the diverse needs of executives, managers, and engineers.
The Executive Program, which will cover topics such as the nature of software related project management and development and its critical or “risky” aspects, consists of an intensive one day seminar for corporate executives annually.
The Management Program, which will help managers to understand and apply procedures and techniques necessary to the cost effective development of high quality embedded software products, will consist of up to six seminar/workshops each year.
The Engineering Program, which will deal mainly with teaching engineers how to make effective use of the modern tools and techniques employed in the software development process, will consist of a combination of workshops, in-house courses and recommended graduate courses at local universities, taking advantage of the existing tuition reimbursment program.
Abstract types, ADA packages, and the teaching of data structures
Authors: Feldman Michael B. 
Published: July 2004

This paper describes a course in Data Structures offered to upper-division undergraduates and beginning graduate students. In addition to the usual data-structures topics, Computer Science 159 places a strong emphasis on software engineering principles, especially the implementation of abstract data types using Ada packages.
Two programming project series are presented; documentation requirements are described in some detail. Attention is paid to the problem of translating high-level design concepts, as embodied in Ada, into the more limited data structures and modularization features of earlier languages.
An introductory COBOL course with structured programming
Authors: Khailany Asad 
Published: July 2004

ORIS 316 was designed as a core course to teach COBOL programming language and Business Information Systems to students majoring in Business Computer Information Systems. Students from other areas such as Mathematics, Computer Science, Sociology, Economics, Political Science, Marketing, Accounting, Management, etc., take this course to enhance their employment opportunities. Most of the students who take this course have some knowledge of some computer programming language, especially in FORTRAN. In the last four years, I have taught this course eight times. In the beginning, perhaps like many other instructors have done, I took the normal path to teach this course. This path was more or less influenced or determined by some textbooks or manual references. These text and manual references have different approaches; however, to teach the COBOL language, all of them agree on one point, namely, to present the PERFORM statement, the tool of structured programming in COBOL, in the late sections of their texts. And of those sources which I'm familiar with, none had the structured programming approach.
Because of the popularity of structured programming especially in the business data processing environment, and since many of our students start their professional work as a programmer or as a systems analyst, it was determined that the structured programming technique and modular programming concept should be introduced as early as possible in the semester. This has been done in the last three offerings of the course and the results have been impressive. Students' evaluations of the same instructor and the same course were considerably higher than before and their response to the new approach has been encouraging.
The IIT MST in computer science program
Authors: Meinke John G. , Bauer Charles R. 
Published: July 2004

The MST program at Illinois Institute of Technology evolved as a result of Computer Science emerging as a separate discipline at the secondary school level. The State of Illinois and the Chicago Board of Education have both been investigating certification for Computer Science teachers, but at present only two states, Wisconsin and Minnesota, have certification programs for teachers of Computer Science. In the not too far distant future there will be certification programs in many states and the IIT MST program in Computer Science is designed to meet those requirements.
It is important to realize before discussing the program itself that the MST program is not designed to teach people how to teach. Before entering the program, a teacher must have at least three years of superior teaching experience as well as recommendations from his principal attesting to his quality as a teacher. Of the 32 semester hours required for the MST degree, a maximum of 12 semester hours are in Computer Pedagogy, with the norm being nine. In addition, students in the program study on a part-time basis to encourage use of the principles studied at IIT in their own classrooms.
A course description for teacher education in computer science
Authors: Poirot J. L. 
Published: July 2004

This paper describes the content of a course entitled “Computers in Education” offered within the teacher certification program at Southwest Texas State University. This course, designed specifically for teacher education has several objectives including the following:
(1) to cover material which would be most likely included in a secondary school curriculum,
(2) to give adequate motivation for covering this material in the secondary school,
(3) to list objectives to be reached in the secondary school classroom for each topic,
(4) to present teaching techniques for topics in the secondary school,
(5) to present computer related topics designed to aid the teacher in instruction,
(6) to present computer related topics designed to aid the teacher in school administrative work.