bluuebunny/crossref_metadata_2025 huggingface dataset:
Using visualization to teach novices recursion
Authors: Dann Wanda , Cooper Stephen , Pausch Randy
Published: July 2004

This paper describes an approach for introducing recursion, as part of a course for novice programmers. The course is designed to make use of a 3-D animation world-builder as a visualization tool that allows students to see their own programs in action. One of the pedagogical goals of the course is to enable the student to gain an intuitive sense of and mathematical insight into the recursive process. The software, examples of animation using recursion, and some experiences in using this approach are discussed.
Observational studies of student errors in a distance learning environment using a remote recording and replay tool
Authors: Thomas Pete , Logan Kit
Published: July 2004

AESOP is
An Electronic Student Observatory Project
consisting of a set of tools written in Smalltalk allowing student's activities and progress through an on-line distance education course to be remotely recorded, replayed and analysed. The following paper outlines some initial findings from observations made on a cross-sectional group of 368 volunteers taking the course in 2000. Students observed using low resolution 640 x 480 screens were noted to take significantly longer to complete on-line course work (p=0.018). Differences between genders were also found with females reporting less comfort at using computers and males using a greater variety of central processing units. Some evidence indicates that female students were also more likely to be using lower specification machines than males although the differences noted were found to be just outside significance levels.
An international common project
Authors: Azadegan Shiva , Lu Chao
Published: July 2004

To better prepare students to work in globally distributed organizations, to develop effective communication skills to deal with the communication barriers that are inherent in such settings and to provide students with the opportunity to be involved in a complete software development cycle of a "real-world" project, from design to integration and testing, we have developed a course based on an "International Common Project" (ICP) model [3] of the US-EC (European Community) Consortium "Towards a Common Computer Science Curriculum and Mutual Degree Recognition" [1]. The course is scheduled for the Spring Semester, 2001, and Towson University, Maryland, USA and Evry University, France, will participate in this project.
Identifying topics for instructional improvement through on-line tracking of programming assignments
Authors: Huizinga Dorota M.
Published: July 2004

This paper stresses the need for identifying specific learning objectives for student programming projects and describes the use of an on-line project submission system for assessment of those objectives. Specifically, the emphasis of the article is on on-line tracking of student progress in order to identify topics that need particular instructional attention. The examples and data collected are drawn from a junior level operating system course.
Using qualitative research software for CS education research
Authors: Medley M. Dee
Published: July 2004

Research in Computer Science education has become more and more important in recent years. Both quantitative and qualitative research methods yield interesting results, but most researchers in our field rely on software for only the quantitative methods. This paper describes one of several packages on the market that support qualitative research methods. These packages make qualitative research less unwieldy and provide the researcher with excellent tools for doing far more detailed analysis of the data than is possible by hand. The data for such analysis may come from a variety of sources including on-line or written tests, programming assignments, and exit interviews for assessment purposes. The results of qualitative research can produce a better understanding of the larger picture in the environment under study.
Using actors in an interactive animation in a graduate course on distributed system
Authors: Koldehofe Boris , Tsigas Philippas
Published: July 2004

We describe and evaluate an experiment where actors were used to simulate the behaviour of processes in a distributed system in order to explain the concept of
self-stabilisation
in a graduate course on distributed systems.A self-stabilising system is one that ensures that the system's behaviour eventually stabilises to a safe subset of states regardless of the initial state. Protocols satisfying this elegant property, which enables a system to recover from transient failures that can alter the state of the system, are often hard to understand, especially for students that have not studied distributed computing and systems before.The experiment was part of an introductory course on distributed computing and systems for graduates in October 2000. The purpose of this interactive animation was to introduce to the students the basic concepts behind self-stabilisation (eligible states, transient faults, execution convergence) before their formal introduction.All of the students had a degree either in mathematics or computing science and had taken a course on algorithms before. However, most of the students did not have a background in distributed systems or distributed algorithms. The latter was not only the motivation for preparing this method of presentation but also what made this a challenging effort.The feedback from the class was that the concept and this teaching method were very well received. We could observe that their understanding evolved to the point that they were able to successfully come up with ideas for solutions and argue for/prove their correctness. As suggested in [1], dramatisation of executions can help the students to understand new issues and complications. This work shows that this is true even for graduate level courses. In our experiment we could conclude that dramatisation can be almost as powerful as a programming exercise in the teaching process; sometimes even more efficient, especially when we need to teach new concepts to an audience with diverse educational backgrounds. In analysing the results of our method we make a combination of the
qualitative
and
quantitative
approaches [4].
Teaching theory of computation using pen-based computers and an electronic whiteboard
Authors: Berque Dave , Johnson David K. , Jovanovic Larry
Published: July 2004

This paper describes a
Theory of Computation
course that was taught in an electronic classroom equipped with a network of pen-based computers, a touch-sensitive electronic whiteboard, and locally written groupware that was designed to enhance the ability of teachers and students to share written information during class. We first describe the technology that was used to support the course, and then provide an overview of the instructor's use of this technology to engage students during class. Finally, we present the students' reaction to the approach.
Practitioners do good work
Authors: Raccoon L. B. S.
Published: July 2004

I believe that software engineers have done, are doing, and will continue to do good work. Practitioners contribute to the well-being of society and add value to the economy. Working applications enable hundreds of millions of users around the world to productively do things that would otherwise be impossible.I do not claim that software engineers are perfect. Bugs seem to lurk in almost all programs. Reliable schedules and budgets remain elusive. And, software has created whole new slates of problems, like hacking and viruses. For now, I rely on Peter Neumann and his Risks columns to document these concerns. I consider this paper a companion to counterpoint Neumann's columns.My primary purpose is to claim that software engineers are successful, in spite of their shortcomings. In the first section, I argue that practitioners create enormous social and economic value. In the second section, I discuss the ongoing improvement that software engineers make in their practice. In the third section, I propose documenting the greatest twenty achievements of software engineering to show the success of practitioners. And in the fourth section, I argue that practitioners earn their keep.My secondary propose is to respond to and elaborate on comments made at the Why Don't We Get More (Self?) Respect panel at ICSE 2000 and the Impact Project Panel at ICSE 2001. I discuss how software engineers contribute to projects like the world wide web, and I echo Larry Bernstein's comments that software engineers deliver value.
A phased programming paradigm
Authors: Zahn C. T.
Published: July 2004

Correctness and efficiency are both legitimate concerns in program development. Through an extended example we present a multi-phase paradigm which encourages early algorithms to be abstract and maximally nondeterministic in the spirit of Dijkstra's guarded commands [4] but which caters equally for correctness, termination, data representation, efficiency and practical implementation in a low level language.
Robots in the laboratory
Authors: Atkins Stella , Hafer Lou , Leung Patrick
Published: July 2004

A $70 toy robot has been successfully used in Computer Science undergraduate laboratory courses in real-time programming and advanced operating systems to provide students with hands on experience.

A custom designed interface card connects a Radio Shack Armatron toy mobile robot with an IBM PC. To provide sensory input and hence introduce feedback, the robot is shackled to a track filled with sensors. Extra sensors in the robot's environment allow challenging experiments such as picking up an object from a moving belt.

While programming the robot and its environment in Turbo Pascal, the students learn how to write software drivers to control low level hardware that requires real-time response. This experimental design obviates the need to use sophisticated test equipment or special software development tools, and so the robot has transformed potentially routine courses into a exciting and fulfilling learning experiences.
Concurrency in the undergraduate curriculum
Authors: Leach Ronald J. , Brumfield Jeffrey A. , Feldman Michael B. , Shub Charles M.
Published: July 2004

Concurrency is a major trend in computer science; it can be taught from the point of view of operating systems, programming languages, algorithm design, database design, software engineering, systems engineering, and computer architecture. The panel will address the following questions among others: When should students be exposed to concurrency? In traditional or non-traditional courses? How many times? What must a programmer know about implementation? Must applications programmers now become experts in operating systems? What are the appropriate paradigms for development of concurrent programming in education?
The case for Modula-2 in CS1 and CS2
Authors: Koffman Elliot B.
Published: July 2004

During 1984 and 1985 I was part of an ACM Task Force to update the recommended curricula for CSI and CS2, the first two courses in programming methods for computer science majors. Our findings were reported in the communications of the ACM (Koffman, 1984 and 1985). The objectives of CS1 and CS2 as stated in these reports follow.
Integrating software engineering into an intermediate programming class
Authors: Werth Laurie Honour
Published: July 2004

The emphasis on software engineering topics in the newest report on the second computer science class will have considerable impact on computer science education. Teaching issues arising from the incorporation of software engineering topics are discussed. Ideas for projects and group activities, together with approaches to encourage students to include ease of maintenance and user-friendly interfaces are provided.
An undergraduate parallel processing laboratory
Authors: Nevison Chris
Published: July 2004

We discuss possibilities for setting up an undergraduate laboratory for parallel processing and how such a laboratory, based on transputers, can be used in a course on parallel processing.
Undergraduate theory of computation: an approach using simulation tools
Authors: Chua Y. S. , Winton C. N.
Published: July 2004

Theory of computation courses have traditionally been taught at the advanced-undergraduate/graduate level, primarily due to the level of mathematical rigor associated with the topics involved. The topics covered include automata theory, formal languages, computability, uncomputability, and computational complexity. If the essentials of these topics are introduced earlier in the undergraduate computer science curriculum, students gain deeper insights and better comprehend the underlying computational issues associated with the material covered in subsequent computer science courses. Such a course is required of all computer science majors at the University of North Florida. Experience has demonstrated that a minimum background for the course includes Freshman-Sophomore mathematics (presently calculus) and a typical introduction to computer science. Thus the course is best positioned within the curriculum at the Junior level. Recognizing that Junior level students are rarely mathematically sophisticated, the treatment is not as rigorous as that of a more advanced course on the theory of computation. To reinforce the “theory” covered in class, an integral portion of the course is devoted to “hands-on” exercises using simulation tools designed for construction of a variety of automata. The exercises generally require the construction of automata of various forms, with observation of their step by step operation. Further exercises illustrate the connections between various automata and areas such as hardware design and compiler construction. The paper describes the course and the nature of the simulation tools used in the “hands-on” component of the course.
Algorithmic paradigms: examples in computational geometry
Authors: De Pano N. Adlai A.
Published: July 2004

We present a collection of algorithms that solve problems from the realm of computational geometry to illustrate several basic notions in algorithm design and analysis. Computational geometry is a young discipline that has much to offer both as a field of research and as a source of instruction materials. This paper aims to serve a dual purpose by (a) outlining results that might prick the interest of researchers looking for greener pastures (so to speak) for investigation; and (b) showing the pedagogic value of these results for teachers of algorithm design and analysis.
Proposed criteria for accreditation of computer information systems programs
Authors: Cannon Robert , Gorgone John , Ho Tom , McGregor John D.
Published: July 2004

A working group, representing ACM, DPMA, and IEEE-CS, was formed to draft a set of guidelines, including criteria, for the accreditation of computer information systems' undergraduate programs. The guidelines and criteria are summarized below.

Faculty: Typically a minimum of 4 faculty, with 3 full time, are needed. Normally, 25% of a faculty member's time should be available for scholarly activity and development. Teaching loads should not exceed 12 hours and should not exceed 4 courses with 2 preparations.

Curriculum: Curricular assume a 120 semester hour, four year, baccalaureate program. The program should consist of approximately 30% computer information systems, 20% business, at least 40% in general education and up to 10% other.

Forty to 60 percent of the CIS portion should cover a broad core that includes a) computer concepts and software systems, b) program, data, and file structures, c) data management,

d) data and computer communications, and e) systems analysis and design. Students should be exposed to a variety of programming languages and be proficient in one structured language. The remaining courses should cover breadth and depth.

Resources: Appropriate computing facilities must exist for students and faculty. Adequate software and documentation must be available.

Students: Established standards and procedures must insure that graduates have the requisite qualifications to function as CIS professionals.

Institutional Support: Adequate support must be provided to support the faculty, department office administration, and library. Faculty support includes leave programs, reasonable teaching loads, competitive salaries, and travel support.
A major in computer applications for small liberal arts colleges
Authors: When J. Wey , Jones Gordon R.
Published: July 2004

A major in computer applications for small, liberal arts colleges is proposed in this article. The proposed program has characteristics to allow students to engage in a breadth of study, to integrate knowledge from a variety of fields, and to apply what is studied to their career lives. By emphasizing an inter-disciplinary approach to higher education, small, liberal arts colleges are able to interweave general education courses into the computer applications major without making large demands for additional staff. Furthermore, students who earn their computer majors in such an interdisciplinary context can be expected to furnish employers with diversity and flexibility in problem solving -- just the sort of new blood many companies and entire industries are crying for.
The role of mathematics in the computer science curriculum
Authors: Bradley James
Published: July 2004

There has been much debate in the past few years about the appropriate mathematics requirements for an undergraduate computer science major. The discussion has focused primarily on two issues: (1) the underlying mathematical content of computer science courses and (2) the content of mathematics courses which would serve as appropriate cognate requirements for computer science major programs. While this discussion has been helpful, it has been too narrowly focused--it has not started from an understanding of the relationship between the disciplines of mathematics and computer science, but rather has sought to identify mathematical prerequisites that computer science majors need in order to take existing computer science courses. This paper is a small step in seeking to apply an understanding of the relationship between the disciplines of mathematics and computer science to the undergraduate computer science curriculum.
A student system development diagrammer
Authors: Hirmanpour Iraj
Published: July 2004

New approaches to system development depend heavily on graphical methods for representation of system requirements and the depiction of final design configuration. Among various diagramming methods, Data Flow Diagrams, Entity-Relationship diagrams and Structure Charts have received the most attention.

An automated diagramming tool is created and is made available to students. This tool requires minimum hardware and does not require the use of licensed software to operate. It therefore can be made accessible to many students at different schools.
Choosing group projects for advanced systems courses
Authors: Farkas Daniel
Published: July 2004

This paper addresses the selection of projects for advanced information systems and software engineering courses and proposes criteria for group projects which gives students genuine real-world experience in the classroom. A curriculum for an advanced systems workshop is presented and a sample project with group interdependence and its prototyping under UNIX is described.
A design tool used to quantitatively evaluate student projects
Authors: Selig Calvin , Henry Sallie
Published: July 2004

In the last decade, the field of Computer Science has undergone a revolution. It has started the move from a mysterious art form to a detailed science. The vehicle for this progress has been the rising popularity of the field of Software Engineering. This innovative area of computer science has brought about a number of changes in the way we think of, and work with, the development of software. Due to this renovation, a field that started with little or no design techniques and unstructured, unreliable software has progressed to a point where a plethora of techniques exist to improve the quality of a program design as well as that of the resultant software. The popularity of structured design and coding techniques prove that there is widespread belief that the overall product produced using these ideas is somehow better, and statistics seem to indicate that this belief is true. Until recently, however, there existed no technique for quantitatively showing one program better than its functional equivalent. In the past few years, the use of software quality metrics seems to indicate that such a comparison is not only possible, but is also valid.

The advent of Software Engineering has demanded that most universities offer a Software Engineering course which entails a “Real-World” group project. Students participating in the class design a system using a program design language (PDL). Other students then write code from the design and finally the design team integrates the modules into a working system. For a complete description of the class see [HENS83] and [TOMJ87].
Interactive graphics: a tool for beginning programming students in discovering solutions to novel problems
Authors: Hays Helen Duerr
Published: July 2004

A computer-based, problem-solving exercise was developed, using dynamic graphics to assist beginning programming students in devising and testing solutions to novel problems (problems requiring solution methods with which the students were not already familiar). For evaluation, 103 beginning computer science students at Southeast Missouri State University, were each randomly assigned one of three forms of the exercise containing four array-manipulation problems. The control group worked all four problems without the aid of dynamic graphics; whereas, on Problems 3 and 4, the first experimental group was allowed to test possible solutions by observing graphical execution of attempted code, and the second experimental group was allowed to interactively manipulate the elements of the array by means of arrow keys in order to devise a solution, in addition to observing the graphical execution of their code. Six measures of improvement in performance on Problem 4 over Problem 2 were made for each subject. The one-tailed Wilcoxon two-sample test was applied, using significance level .05, to compare mean scores between groups. The second experimental group showed significantly more improvement than the control group as measured by four of the six scores, and the first experimental group showed significantly more improvement than the control group as measured by two of the six scores. Although the second experimental group scored slightly higher than the first on all but one measure, no significant difference was observable between the two experimental groups. On a follow-up quiz, each experimental group scored slightly, but not significantly, higher than the control group. Additionally, it was noted that only students who had made a score of 13 or more on the KSW Computer Science Placement Exam were able to work either of the two problems used for evaluation.
Automatic generation of graphic displays of data structures through a preprocessor
Authors: Augenstein Moshe , Langsam Yedidyah
Published: July 2004

Recent attention has been given to graphic display routines that allow the programmer to observe the effects of applications programs on various data structures. Much of the work reported in the literature has involved the animation of specific algorithms and has necessitated manual effort by programmers on an application by application basis. Results of initial work in developing a general purpose tool for the display of data structures have already been published. In order to make the tool more widely used and more flexible it is necessary that some type of automatic processing be provided to allow for the generation of the graphic display routines themselves. Initial work in this area and further avenues of research are discussed
.
A simple technique to motivate structured programming
Authors: Flaherty Terry
Published: July 2004

Programs with only sequence, selection, and iteration control structures (structured programs) are more understandable and changeable than programs with unrestricted control structures (flowchart programs). However, flowcharts are intuitive, simple, and easy to follow step by step. The transition from teaching general flowcharts to structured ones is usually made by postulating the standard structured flowchart patterns without much justification. The present method establishes the correspondence between flowcharts and structured programs via sets of computations. The student examines a set of computations of a flowchart program and describes the general structure with a regular expression. A structured program that corresponds to this regular expression is constructed. In this way, the student is led to (1) see the difference between
program
and
computation
, (2) see how “structure” arises, (3) see that a structured program is one whose textual structure is identical to the structural description of its computations, (4) appreciate the cognitive simplicity of structure descriptions versus flowcharts.
Introducing finite automata in the first course
Authors: Headington Mark R.
Published: July 2004

In the computer science curriculum, finite state machines and finite automata are typically introduced at the upper-division level. However, students can benefit from an earlier, informal exposure to finite automata for three reasons:

- Finite automata represent a useful application when two-dimensional arrays are introduced.

- A painless early introduction can ease the transition to rigorous approaches encountered later.

- Finite automata provide yet another algorithmic tool to be added to the student's repertoire.
Planning and implementing an internship program for undergraduate computer science students
Authors: Mims Ted , Folse Raymond , Martin Andrea
Published: July 2004

This paper describes successful efforts to implement an internship program in Computer Science. Details for planning, implementing, maintaining, and evaluating the program are presented.
An industry/academic partnership experiment: a course in artificial intelligence
Authors: Little Joyce Currie , Cooper Laurence J. , Davis Barry C. , Alexander John , Joyce Peter , Schmitt Charles J.
Published: July 2004

This paper describes an experimental undergraduate course in applications of artificial intelligence, sponsored by an Industry/Academic Partnership with Towson State University. The course was developed as one of several activities promoting interaction between faculty, students, and industry in the local metropolitan area.

Towson State University is located in the metropolitan Baltimore, Maryland area, in close proximity to many companies involved in technological projects related to defense, automation, and aerospace endeavors. Three companies provided projects, leadership, and support to the course. The three projects were expert systems in the area of electronic diagnostics.

This paper describes the course; the diagnostic systems projects done by the student teams; and the activities of students, faculty, and industry liaisons. An evaluation of the course included meetings with industry liaisons and faculty and a follow-up survey of the students. Consideration of prerequisites for improvement of the course led to discussions of overall curriculum revision. Suggestions for ways to improve the course are given.

Departments interested in offering similar artificial intelligence project courses with industry participation may benefit from these experiences and recommendations.
“Cactus Systems”: a computer science practicum that is more than a capstone
Authors: Howerton Charles P.
Published: July 2004

This paper describes a project-oriented Computer Science or Computer Information Systems Practicum course. This particular course differs in several ways from other similar courses. First, it is taught outside of the normal academic year. Second, a real attempt is made to simulate the environment in which a computing professional would be expected to work. Third, all of the projects are taken from the real world and are sponsored by individuals who actually want the work done. Fourth, it has components designed to teach the students how to make informal and formal public speeches on subjects with which they are familiar. Finally, it has components designed to help the students look for jobs after graduation. This course has worked well at a major engineering school and at a small regional liberal arts school.
Computing resources in small colleges
Authors: Sidbury James R. , Baxter Nancy , Dempsey Richard F. , Morelli Ralph , Prince Robert
Published: July 2004

The participants will describe experiences at their institutions with different computing environments: Mini-computer, IBM PC Lab, Macintosh Lab, Sun Workstation Lab. Each panelist will address similar issues as they relate to these environments in small colleges:

Funding

Candid evaluation of Hardware and Software including networking

Course usage in computer science

Usage by other disciplines

Management of the facility

Time is planned for an open discussion among participants and audience on questions of mutual interest.
Textbook errors in binary searching
Authors: Pattis Richard E.
Published: July 2004

This paper discusses the specification and implementation of binary searching. It begins by presenting a “standard” set of declarations, a specification, and a binary searching procedure written in Pascal. This procedure does not meet the specification: it contains five errors that also occur in many CS-1 and CS-2 textbooks. We will locate and study these errors, and show alternative procedures that correct them in a simple and understandable way.
IBM 3270 full screen interactive programming without CICS
Authors: Chen Hilton , Summers Wayne
Published: July 2004

During the past several decades, full screen interactive programming has become essential in data processing. However, it is impossible or difficult to teach full screen interactive programs on IBM mainframes at universities because of the enormous cost of CICS and the lack of flexibility with the MUSIC PANEL utility. This article describes our solution to the need described in [4] for an inexpensive utility which will allow COBOL programmers to do interactive programming on mainframes utilizing full screen techniques.

At Southeast Missouri State University, we have addressed these problems with a utility program which facilitate full screen interactive programming. This program has been developed by Dr. Hilton C. Chen with comments and suggestions by Dr. Wayne C. Summers. The utility program is friendlier and easier to use and considerably more useful than MUSIC's PANEL. More importantly, it gives our students experience in full screen interactive programming on mainframes.
The increasing role of computer theory in undergraduate curricula
Authors: Bagert Donald J. , Cohen Daniel I. A. , Ford Gary , Friesen Donald K. , McCracken Daniel D. , Wood Derick
Published: July 2004

CSAB states in its guidelines that one of its six undergraduate core curriculum subject areas is computer theory. It appears that the ACM Core Curriculum Committee will also suggest a core course in this area. However, courses in computer theory, under the titles “Formal Languages” or “Theory of Computation”, have traditionally been taught on the senior or graduate level. There has been little discussion concerning the development of a computer theory course for use at the sophomore or junior level. Also, computer theory is also becoming a larger part of other computer science courses such as discrete structures and compiler design theory. A clearer understanding is needed of how different aspects of computer theory should be developed throughout the undergraduate computer science curriculum.
The impact of menus and command-level feedback on learners' acquisition of data base language skills
Authors: Sumner Mary , Benjamin James
Published: July 2004

The purpose of this study was to determine whether providing menus and postactive feedback of command-level syntax can facilitate the acquisition of formal language skills by novice learners. Two groups of students, one of which received training in a menu version of dBASE III Plus and the other of which received instruction in a command version, were asked to complete data base file maintenance and query tasks. Measures comparing the performance of the two groups on a post-test were completion of tasks, number of syntactical errors, and number of semantic errors.

According to the results, students learning the command version of dBASE III Plus were able to accomplish more tasks successfully than students using the menu version with postactive feedback of command syntax. In addition, the group using the menu driven made more syntactic errors than the group using the command version. The difference between the number of semantic errors made by members of the two groups was not significant. The researchers made several recommendations for instruction and for further research.
A study of an advance organizer as a technique for teaching computer programming concepts
Authors: Macfarlane Katherine N. , Mynatt Barbee T.
Published: July 2004

Research on instructional methods has suggested that advance organizers (e.g., metaphors) can be an effective tool in teaching certain types of material in some situations. In many cases, teaching computer programming concepts satisfies these criteria. In our research, beginning programming students were trained on the syntax of arrays. A training session consisted of reading a tutorial manual and entering lines of source code into an interactive system. One group was given a metaphorical organizer prior to training (an advance organizer). A second group received the organizer after training. A control group read a passage on computer history prior to training. The groups did not differ on training task performance or on a test of syntactic knowledge (near transfer). However, the advance organizer group did significantly better on a test of semantic knowledge (far transfer). Factors relating to when to use an advance organizer are discussed.
Pascal's emulation of a Prolog program
Authors: Lambert Howard
Published: July 2004

This paper describes a Turbo Pascal program that explicitly emulates a Turbo Prolog program. The intended purpose of the Pascal program is to relate important implementation details of Prolog to concepts in a conventional programming language.
Teaching recursion using fractals in Prolog
Authors: Elenbogen Bruce S. , O'Kennon Martha R.
Published: July 2004

Recursion has traditionally been a difficult concept for students to understand, both as a control structure and as an analytical tool. This paper explores recursion using Prolog (whose predominate control structure is recursion) and through fractals which possess a visually recursive form. We discuss several simple Turbo Prolog programs which demonstrate recursion graphically and whose resultant figures are fractals whose recursive nature is particularly easy to analyze in the Turbo Prolog environment.
Goal-oriented laboratory development in CS/EE
Authors: Barker Keith , Bennett A. Wayne , Stokes Gordon E. , Lucas Mike , van Swaay Maarten
Published: July 2004

The IEEE Computer Society's Educational Activities Board with the strong support of the ACM is tackling the problem of laboratory development, maintenance and support. The LABORATORY MONOGRAPH SERIES is intended to provide help to those setting up laboratory programs and as an outlet for those who wish to publish in a practical-oriented educational area.
Continuing education activities of the ACM
Authors: Aiken Robert M. , Coulter Neal S. , Hodges Julia E. , Little Joyce C. , Takacs Helen C. , Turner A. Joe
Published: July 2004

Continuing education is a major concern for most professional societies. This is especially true for ones like ACM, whose members are working at the leading edge of technology - both in research and within numerous application areas. ACM, through its Education Board, sponsors several different activities to assist members in their quest to keep abreast of the latest technical developments. This panel has several purposes. On the one hand it will serve as a means for disseminating more widely information on our current projects. In addition it will allow us to receive feedback from the membership with respect to how they perceive theses activities, what changes they might like to see, and what new projects we should be considering. Among the topics that will be discussed are Self Assessment Procedures, Professional Development Seminars, Tutorial Weeks, and accreditation efforts, and Institute for Certification of Computer Professionals (ICCP) activities. After these activities are briefly described, the remainder of the session will be devoted to answering questions and soliciting ideas from the audience.
Spin-out: the Chinese rings in the classroom
Authors: Rudolph Brian A.
Published: July 2004

A new puzzle marketed under the name of Spin-Out is presented as a modernization of the Chinese Rings puzzle. An integration of the puzzle into the second programming course is then detailed as an aid in teaching recursive programming.
A content analysis of ten introduction to programming textbooks
Authors: Means H. Willis
Published: July 2004

A content analysis was conducted on ten introduction to programming textbooks to determine if there were any significant differences in their content. The results of the analysis indicated that the content of the older textbooks, pre 1983, was not significantly different from the more recent texts, post 1985.
Should computer science examinations contain “programming” problems?
Authors: Bagert Donald J.
Published: July 2004

The purpose of many computer science courses is to enhance the programming skills of the student, including the ability to design and implement appropriate algorithms. In such courses, examinations should therefore contain problems which test for algorithmic skills. In particular, there should be problems which require the student to write small sections of code, usually in the form of a subprogram. Students often perceive these questions as “programming” problems; however, it is more accurate to state that these are algorithmic problems, since such questions primarily measure algorithmic skills. In addition, since such exam problems address topics which are a part of the course content (e.g. stacks, queues, and tables in a data structures class), the student's knowledge of these topics is also tested and reinforced.

This paper discusses how examination questions which test algorithmic skills have been implemented in a data structures course at Northeast Louisiana University. Arguments both for and against using such test questions are discussed, as well as the proper format and amount of this type of problem. The results of a survey of data structures students at Northeast concerning this topic is also presented.

There has been relatively little discussion on the topic of computer science examinations in the literature. It is hoped that the publication and presentation of this paper will stimulate dialogue in this area among academicians.
The reliability of analytic and holistic methods in rating students' computer programs
Authors: Olson David M.
Published: July 2004

The study examined analytic and holistic methods of scoring students's programs. The sample included 30 students in an introductory computer science class. The inter-rater reliabilities for both scoring methods was significant (analytic, r = .66; holistic, r = .73). The correlation between students' holistic and analytic scores on the programs was moderate (r = .66), indicating that the two scoring methods measure different attributes of a student's program.
Computing trends in small liberal arts colleges
Authors: Smith Peter D.
Published: July 2004

This paper summarizes the information gathered by the author during visits to 40 small liberal arts colleges in the east and Midwest during the winter of 1987. It focuses on the following questions: What is happening with computer science programs as colleges are coping with declining computer science enrollments? What trends are noticeable in staffing levels of computing faculty and of administrative and academic computing center support staff? How should colleges balance mainframe and micro computing and how many public access microcomputers are enough? Should students be required or strongly urged to buy a microcomputer? Should colleges provide faculty and administrators with microcomputers? What about networking? The paper provides tables and graphs to help small colleges answer these questions.
Varieties of computer graphics courses in computer science
Authors: Cunningham Steve , Brown Judith R. , Burton Robert P. , Ohlson Mark
Published: July 2004

The increased importance of graphics in computer systems has made computer graphics a more visible and important part of computer science education. This graphics education can take any of several forms. This panel describes four of these: the graphics service course for non-majors, the graphics systems course, the graphics concepts and algorithms course, and advanced or graduate courses in graphics. This panel is based on part of a workshop presented at SIGGRAPH '87.
Professional skills assessment in programming competitions
Authors: Salenieks Peter , Naylor Jeff
Published: July 2004

This paper describes the British Computer Society/British Aerospace (BAe) Programming Competition and presents the questions from the 1988 final. It discusses how their emphasis has changed from purely speed programming to a fuller assessment, under contest conditions, of the professional skills needed by practicing computer scientists.
Using current literature in two courses
Authors: Hovis Robert A.
Published: July 2004

In any computer science program, it is important to spend a large amount of time teaching students about the fundamental topics at the core of computer science. Everyone also acknowledges that certain topics in mathematics are essential. This paper deals with two other problems and how they can be handled. The two problems are keeping abreast of current issues in computer science and developing writing skills. I have identified two courses in the core curriculum where it is especially useful to treat these problems.
Virtual development center
Authors: Montano Gloria
Published: July 2004

The Virtual Development Center of the Institute for Women and Technology seeks to significantly enhance the impact of women on technology. It addresses this goal by increasing the number of women who have input on created technology, enhancing the ways people teach and develop technology, and developing need-based technology that serves the community. Through activities of the Virtual Development Center, a pattern is emerging regarding how computing technologies do or do not satisfy the needs of community groups, particularly those communities serving women. This paper describes the Virtual Development Center program and offers observations on the impact of computing technology on non-technical communities.
Ten years of strategies to increase participation of women in computing programs
Authors: Clayton Debbie , Lynch Teresa
Published: July 2004

In the late eighties, the participation rate of women in Information Technology courses in most Australian Universities was around 25%. This low level of women's participation in computing courses occurs not only in Australia but also overseas [1], [2]. More studies that are recent indicate that the participation rates have not improved and in fact may be even further in decline [3]. Participation rates in the workforce also appear to be in decline [4], [5].Concerned at the imbalance within Australia, the Federal government directed all Australian Universities to increase the number of women in courses leading to a professional computing qualification (i.e., information technology courses) to 40% of students by 1995 [6].This paper details one Australian university's approach, over a 10-year period (1991 - 2001), to redress this imbalance. We provide examples of intervention strategies developed and the outcomes for these strategies. We present the outcomes against a background frame of the Australian Higher Education scene of that decade which was influenced by funding levels to universities in general and to equity programs in particular. We present data related to the participation of women in computing programs along with snapshots of the overall changing student demographics over this period.
Female computer science doctorates
Authors: Moskal Barbara
Published: July 2004

Based on the National Center for Education Statistics (2000), in the 1997-1998 academic year 26.7% of earned bachelors' degrees, 29.0% of earned masters' degrees and 16.3% of earned doctorates' degrees in computer science were awarded to women. As these percentages suggest, women are underrepresented at all academic levels in computer science (Camp, 1997). The most severe shortage occurs at the top level---the doctorate in computer science. We know very little about the women who persist to the top level of academic achievement in computer science.This paper examines a subset of data collected through the
Survey of Earned Doctorates
(SED). The specific focus of this paper is to identify trends that have emerged from the SED with respect to females completing doctorates in computer science between the academic years 1990-1991 and 1999-2000. Although computer science doctorates include doctorates in information science, prior research (Camp, 1997) suggests that the percentage of women completing doctorates in information science as compared to computer science is low. The specific research questions are:1. How does the percentage of women who complete doctorates in computer science compare to those that complete doctorates in other fields?2. How does the length of time in school and the sources of funding differ for females as compared to males who complete doctorates in computer science?3. Where do women go after completing doctorates in computer science and what positions do they acquire? How do these experiences differ from their male peers?
Pool halls, chips, and war games
Authors: Kiesler Sara , Sproull Lee , Eccles Jacquelynne S.
Published: July 2004

Computers are becoming ubiquitous in our society and they offer superb opportunities for people in jobs and everyday life. But there is a noticeable sex difference in use of computers among children. This article asks why computers are more attractive to boys than to girls and offers a cultural framework for explaining the apparent sex differences. Although the data are fragmentary, the world of computing seems to be more consistent with male adolescent culture than with feminine values and goals. Furthermore, both arcade and educational software is designed with boys in mind. These observations lead us to speculate that computing is neither inherently difficult nor uninteresting to girls, but rather that computer games and other software might have to be designed differently for girls. Programs to help teachers instill computer efficacy in all children also need to be developed.