bluuebunny/crossref_metadata_2025 huggingface dataset:
Computing, diversity and community
Authors: Bernstein Danielle R.
Published: July 2004

How do we attract and retain women in mathematics and science and specifically in computing? Women drop out of every bend of the pipeline and thus lose the opportunity to seek good, appealing and high-paying jobs. Funded by an eight-semester long National Science Foundation grant
1
, the University of Wisconsin (UW)
Women and Science
program aims to reverse this attrition from the sciences at a point where it is most acute: the introductory courses in the undergraduate science curriculum.This paper focusses on one particular innovation in the computing curriculum: extending the content of a traditional first term computer science course in program design and development to include the culture of computing. The paper gives specific examples of computing artifacts and their uses in any computing classroom. It also shows the connection between teaching the culture of computing and the objectives of the
Women and Science
project.
Undergraduate women in computer science
Authors: Fisher Allan , Margolis Jane , Miller Faye
Published: July 2004

For the past year, we have been studying the experiences of undergraduate women studying computer science at Carnegie Mellon University, with a specific eye toward understanding the influences and processes whereby they attach themselves to or detach themselves from the field. This report, midway through the two-year project, recaps the goals and methods of the study, reports on our progress and preliminary conclusions, and sketches our plans for the final year and the future beyond this particular project.
Classroom projects on database connectivity and the Web
Authors: Ramakrishnan Sub , Rao B. Madhu
Published: July 2004

Most undergraduate curriculums in CS include at least a one semester study of data base management systems. In this paper, we take a closer look at a DBMS course we have offered recently and elaborate on a world wide web based database project in this course; it integrates a number of ideas not only from within DBMS but across other CS areas. We discuss the objectives underlying the design of the project and the ways in which these projects provide students with a feel for the organization and use of contemporary commercial database applications.
An accelerated introductory computer science course sequence for non-traditional Master's students
Authors: Starkey J. Denbigh , Babcock Ray S. , DeFrance Anne S.
Published: July 2004

All Computer Science Departments that offer graduate degrees share a common problem---many students, with degrees in other disciplines, apply to pursue a Master's degree in Computer Science, but have to make up a large number of undergraduate deficiencies before taking graduate classes. These students are typically above traditional age, have jobs and families, and cannot easily afford to make the time commitment that is necessary to be able to complete the deficiencies before taking the classes that become their graduate program. The Computer Science Department at Montana State University has a solution to this problem.We have developed two accelerated introductory courses, CS 252 and 254, where enrollment is restricted to students who already have degrees in other disciplines. These classes, which have two lectures and six hours of laboratory work each week, replace 26 semester credits of regular coursework, and let potential graduate students remove their required undergraduate deficiencies about a year faster than would otherwise be possible.
Online evaluation in WWW-based courseware
Authors: Tinoco Lucio C. , Barnette N. Dwight , Fox Edward A.
Published: July 2004

The QUIZIT system has been developed to support adaptive as well as standard testing, along with automatic grading and record keeping, using the WWW as a delivery vehicle. In connection with our
Interactive Learning with a Digital Library in Computer Science
project, we have applied QUIZIT to help with a master's level course as well as a large freshman level service course. Preliminary testing has led to various improvements, and it appears that QUIZIT will be well received by both instructors and students. It should port easily to a variety of environments and so could be widely used at other institutions as well.
Improving the PVM teaching environment
Authors: McDonald Chris , Kazemi Kamran
Published: July 2004

The parallel programming community has long recognized the need for a simple programming environment offering interprocess communication between heterogeneous systems. As the Parallel Virtual Machine environment, PVM, has emerged to meet this goal, an increasing number of educational institutions are choosing PVM to support their teaching of parallel and distributed computing using networks of workstations. However, it is often the nature of PVM's design and implementation that can severely limit its success in a teaching environment. This paper first motivates and then describes improvements to the PVM environment which increase both robustness and efficiency in an educational setting.
Teaching an engineering approach for network computing
Authors: Dillon Eric , Dos Santos Carlos Gamboa , Guyard Jacques
Published: July 2004

Parallelism and concurrency have long been considered as non essential during the cursus of the average programmer. However, thanks to technological advances, new promising forms of parallel computing are now appearing, e.g. "network computing", which are inexpensive and easy to use.In this paper, we present new points to focus on when teaching parallel computing, in addition to the basic principles of it, to let students be aware of problems that often arise when implementing parallel algorithms on this new architecture. Besides, we experimented a different type of exam mainly based on an exercise that had to be solved stepwise, putting the engineering students in a situation which is similar to their future job.
Application-based modules using apprentice learning for CS 2
Authors: Astrachan Owen , Smith Robert , Wilkes James
Published: July 2004

A typical Data Structures (CS 2) course covers a wide variety of topics: elementary algorithm analysis; data structures including dynamic structures, trees, tables, graphs,
etc.
; large programming projects; and more advanced object-oriented concepts. Integrating these topics into assignments is a challenging task; educators often duplicate work done by others in re-inventing such assignments. At the same time, these assignments and large programs take time to develop and are often changed from semester to semester to preclude cheating. We report on a project that provides modules containing many kinds of programming and lab assignments which can be re-used across semesters with accessible and exciting application-oriented materials. Our project is a collaboration between a research and teaching oriented private university, a teaching oriented public university, and a teaching oriented historically black university. This helps ensure that the modules will be accessible to nearly all student populations. The modules developed are available electronically as hyper-text documents.
Iterative development and commercial tools in an undergraduate software engineering course
Authors: Sebern Mark J.
Published: July 2004

Many undergraduate software engineering courses combine team projects with discussion of development cycle concepts. It can be difficult to connect these elements in a coherent way, especially when the lecture is a broad survey and the project is sharply focused on meeting the needs of a client.This paper describes one attempt to bridge this gap, by incorporating the iterative development of a classroom example and an object-oriented process based on two commercial software tools. Although the course time frame (an academic quarter) is too short for significant iteration on the team project, students can participate in an accelerated version of the process by making a small increment to the non-trivial example.This approach retains the benefits of a realistic, client-centered team development project, while providing experience in a contemporary software development process based on commercial CASE tools.
Using HTML linking to help novice programmers to reuse components
Authors: Nebash Bohdan , Feldman Michael B.
Published: July 2004

Software reuse needs to be taught early in the computer science curriculum. One of the major obstacles that students face when reusing software is the difficulty in learning how to use components from a software library. To aid in understanding components we built a tool that automatically embeds Hypertext Markup Language (HTML) links in Ada 95 specification files. Derived types are linked to their parent types, child packages are linked to their parents, and all subprogram parameter and return types are linked to their declarations. We conducted a controlled experiment to determine if these links help novice programmers to learn to use library components. Researchers have not formally investigated which comprehension techniques are effective and which are not. Our results indicate that our techniques are effective in aiding novice programmers to learn to use a reusable component.
Teaching via the Internet
Authors: Carswell Linda
Published: July 2004

The use of the Internet is a common theme in current educational technology research. However, hype does not augment learning, and new technology alone does not promise improvement. The question is does Internet presentation alone affect learning outcomes? This study examines two groups of distance learning students on a single course, using the same learning materials, but with different means of communication. One group consists of conventional distance learning students who communicate with their instructors via telephone and written correspondence, while the other group communicates electronically via the Internet. Attitudes, learning styles, self perceptions, grades, and experiences for each group are compared to assess the impact of the Internet, as a communication medium. The Internet as a communication medium is not found to have any significant effect on learning outcomes, and neither is any learning style profile. The student experiences are favourable in both mediums, however those using the Internet reported greater flexibility and faster response times.
A model for the creation of online courseware
Authors: Lawhead Pamela B.
Published: July 2004

This paper describes a project underway at the University of Mississippi to create a Virtual Campus using the Internet and VRML to present laboratories. The initial laboratories were written by a community college biology instructor and translated into CGI scripts by a group of computer science students at the University.The purpose of the project is to utilize the wealth of NASA Earth Observation data in Mississippi Community College Classrooms to improve the quality of science education students receive while also increasing their interest in science. The model for lesson creation allows the teacher to create lesson descriptions that are then translated into scripts to run inside the VRML campus.
Algorithm visualization on the World Wide Web—the difference Java makes!
Authors: Naps Thomas L.
Published: July 2004

Using algorithm visualization, we can depict the execution of an algorithm as a sequence of graphical snapshots, the viewing of which is controlled by the user. Such visualizations can be a tremendous help to students, but their use is limited by the constraints of platform dependency. This constraint can now be overcome by making algorithm visualizations conveniently accessible on the World Wide Web. This paper provides an overview of progress that has been made in delivering interactive visualizations in platform-independent fashion on the Web. In particular the role played by Java in implementing one such system is explored in depth.
Using online seminars to demonstrate the social psychological impacts of computer-mediated communication systems
Authors: Taylor Jacqueline
Published: July 2004

This paper reports an evaluation of students' experiences when seminars were conducted asynchronously using a text-based computer-conferencing system. The primary aim was for students to experience and consider the effects of Computer-Mediated Communication (CMC) on inter-personal interaction. Specifically, students were encouraged to consider how an understanding of these effects could be used to inform the design and implementation of CMC systems. Students were also encouraged to think about the differences between users in communication skills and preferences and to consider how these impact on the use and perception of CMC. The results showed that students experienced some of the effects of CMC (e.g. flaming and more balanced participation) and 79% indicated that participating in the seminars had helped them to understand the potential impact of CMC on interaction. Also, individual communication differences significantly correlated with perceptions of the seminars. For example, extrovert students perceived the seminar discussions as less satisfying and less enjoyable than traditional seminars, while self-conscious students perceived the seminars as more involving. Some recommendations are suggested for conducting future computer-mediated seminars and for further research.
International initiative
Authors: Jawary Anita , Birchak Christiana , Vargo Susan Strack
Published: July 2004

In 1996, students from Monash University, Indiana University and the University of Houston-Downtown (UHD) participated in a joint communication project using e-mail. The groups were of diverse cultural backgrounds and ranged from freshmen to mature age students. The international initiative was a valuable lesson in intercultural and computer-mediated communication. While Monash students discovered the limits of technology, the US students were thrilled to use it and found technology to influence intercultural perceptions. This paper explains the nature of the assignment from the vantage point of each group of students and briefly sketches some learning outcomes.
Teaching programming through paperless assignments
Authors: Price Blaine , Petre Marian
Published: July 2004

This paper considers how facilities afforded by electronic assignment handling can contribute to the quality of Internet-based teaching of programming. It reports a study comparing the nature, form, and quality of feedback provided by instructors on 90 paper and electronic assignments in an introductory Computing course and notes effective strategies for electronic marking.
Computer managed, open question, open book assessment
Authors: Rosbottom John
Published: July 2004

This paper describes the development and use of practical examinations which include a significant element of software control of the administrative process. The educational methodology is novel in that the assessment is 'open question'. This means that students are given a set of practical exercises some weeks in advance of the date of the examination. The examination is also 'open book' so that students can consult various sources of information to help them complete the task. However the 'open book' element is restricted to prevent students accessing pre-prepared solutions. The computer system manages several elements of the assessment process.
CLAP
Authors: Meisalo V. , Sutinen E. , Tarhio J.
Published: July 2004

CLAP is a pedagogical approach for Computer Science education, applied here especially to laboratory courses. CLAP or Creative Lab with Active Participation provides an open learning environment, utilizing creative problem solving methods. For successful learning, CLAP emphasizes group processes. Pilot courses using CLAP were carried out during the Fall Semester of 1996 and the Spring Semester of 1997.
WebCT and first year
Authors: Goldberg Murray W.
Published: July 2004

Our previous experiments with the World Wide Web (WWW) as an educational resource focused on a third year Computer Science course. The results were very positive showing a high degree of student satisfaction and improved academic performance. Our intuition, however, made us question whether the same would be true for a first year course given that the students are new to the university environment and often less willing to participate in class. Thus we performed an experiment comparing the difference between third and first year students in their reaction to and use of educational technologies. Overall we have found the use and acceptance of these resources to be higher for our third year students than for our first.
Does collaborative hypertext support better engagement in learning of the basics in informatics?
Authors: Makkonen Pekka
Published: July 2004

Hypertext is a powerful cognitive tool supporting knowledge construction. We organized two courses about the basics in informatics using collaborative hypertext (experimental groups) based on the hyperbooks built by the students participating in the courses. Simultaneously, we ran two courses without collaborative hypertext (control groups). The study found that collaborative hypertext affects motivation equally regarding most themes of the basics in informatics.The result reflects the need for traditional uncomputerized learning methods in the basics of informatics or the need to concentrate on improving the truthfulness of hypertext-based learning. However, some students may benefit from collaborative hypertext under all circumstances.
OBOA model of explanation module in intelligent tutoring shell
Authors: Jerinic Ljubomir , Devedzic Vladan
Published: July 2004

The important characteristics of any intelligent systems are the possibilities of explanation. So, any software product which intend to be intelligent must provide some kind of explanation, i.e., explanation of some conclusions, explanation of new knowledge (theorem), etc. As Intelligent Tutoring Systems (ITSs) intend to be intelligent software, the explanation feature must be provided in ITSs. In this paper, we will briefly survey how we realized the explanation properties and features in Intelligent Tutoring System (ITS) shell called
EduSof
. The
OBOA
(
OB
ject -
O
riented
A
bstraction) model for representing the knowledge, interaction within that knowledge and actions on that knowledge is used for the model of explanation, the transitions and the interactions features in
EduSof
shell.
Evaluating SW Eng. methods and tools, part 8
Authors: Kitchenham Barbara Ann , Jones Lindsay
Published: July 2004

In the previous articles, we introduced the basic principles of Feature Analysis, its limitations, how to drive a feature list and score features and how to plan a Feature Analysis evaluation. In this article, we look in more detail at the issue of analysing the results of feature analysis and presenting the results of an evaluation.
Teaching students to critically evaluate the quality of Internet research resources
Authors: Cunningham Sally Jo
Published: July 2004

The Internet offers a host of high-quality research material in computer science---and, unfortunately, some very low quality resources as well. As part of learning the research process, students should be taught to critically evaluate the quality of all documents that they use. This paper discusses the application of document evaluation criteria to WWW resources, and describes activities for including quality evaluation in a course on research methods.
Integrating software engineering into the traditional computer science curriculum
Authors: Johnson Hubert A.
Published: July 2004

Computer science graduates from most universities and colleges are ill-prepared for entry positions in industry. This paper focuses on efforts to develop and use modules to introduce software engineering concepts at all levels of the traditional undergraduate computer science curriculum and to have students apply these principles to an ongoing project.
A new methodology for teaching default reasoning
Authors: Antoniou Grigoris
Published: July 2004

Default reasoning is a method of knowledge representation and reasoning which allows one to deal adequately with incomplete information. Applications of such methods can be found in software engineering, artificial intelligence, law, marketing, business etc. In this paper we describe why default reasoning is difficult, and describe a new methodology for teaching default reasoning, which has been applied with significant success over the past couple of years. It is based on the idea of operationalizing the basic concepts of the logic.
Some experiences using the Internet for a software development project
Authors: Leach Ronald J.
Published: July 2004

It is becoming increasingly common for industry and government to use either internal or public networks to coordinate their software development practices. Students should be introduced to this approach during their education. In this paper we describe some experiences using the Internet to coordinate a class software development project.
A hypermedia course in Spanish informatics engineering
Authors: Díz Paloma , Aedo Ignacio
Published: July 2004

Public and private companies are continuously asking to the Professional Orientation Service of the University Carlos III de Madrid for technical engineers in informatics trained in areas related to hypermedia technology. For this reason, the Department of Computer Science of UC3M decided to create a new course, called "Hypermedia Systems: Design and Evaluation," with a view to covering this subject applying basic principles of software engineering and HCI. This paper describes the structure and contents of this new course oriented towards introducing students in hypermedia systems and also presents our experience as the teachers of such course.
The reasoning for the advanced placement C++ subset
Authors: Astrachan Owen L. , Chapman Gail , Rodger Susan H. , Weiss Mark Allen
Published: July 2004

The programming language used for the Advanced Placement Computer Science (AP CS) courses and examinations will change from Pascal to C++ beginning with the 1998-1999 academic year. This decision, proposed by the AP Computer Science Development Committee and approved by the College Board, was made in 1994. The 5-year transition period was crucial in defining a C++ subset and providing time for the high school teachers teaching AP CS to attend professional development activities. In [1], the authors appear to misunderstand the reasoning and the forces that helped define the AP C++ subset. This paper attempts to correct those.
On the limit of control flow analysis for regression test selection
Authors: Ball Thomas
Published: July 2004

Automated analyses for regression test selection (RTS) attempt to determine if a modified program, when run on a test
t,
will have the same behavior as an old version of the program run on
t,
but without running the new program on
t.
RTS analyses must confront a price/performance tradeoff: a more precise analysis might be able to eliminate more tests, but could take much longer to run.We focus on the application of control flow analysis and control flow coverage, relatively inexpensive analyses, to the RTS problem, considering how the precision of RTS algorithms can be affected by the type of coverage information collected. We define a strong optimality condition (edge-optimality) for RTS algorithms based on edge coverage that precisely captures when such an algorithm will report that re-testing is needed, when, in actuality, it is not. We reformulate Rothermel and Harrold's RTS algorithm and present three new algorithms that improve on it, culminating in an edge-optimal algorithm. Finally, we consider how path coverage can be used to improve the precision of RTS algorithms.
Evaluating software engineering methods and tools
Authors: Kitchenham Barbara Ann , Pickard Lesley M.
Published: July 2004

This article is the first of three articles describing how to undertake a quantitative case study based on work done as part of the DESMET project [1], [2]. In the context of methods and tool evaluations, case studies are a means of evaluating methods and tools as part of the normal software development activities undertaken by an organisation. The main benefit of such case studies is that they allow the effect of new methods and tools to be assessed in realistic situations. Thus, case studies provide a cost-effective means of ensuring that process changes provide the desired results. However, unlike formal experiments and surveys, case studies do not have a well-understood theoretical basis. This series of articles provides guidelines for organising and analysing case studies so that your investigations of new technologies will produce meaningful results.
Overcoming communication obstacles in user-analyst interaction for functional requirements elicitation
Authors: Valenti S. , Panti M. , Cucchiarelli A.
Published: July 2004

The importance of requirement engineering in the software development process has been widely recognised by the scientific community. One of the major error sources that arise in this phase is represented by ineffectual communication between users and analysts.Valusek and Fryback in [32] identify three classes of communication obstacles to a successful elicitation of requirements. Purpose of this paper is to discuss these obstacles and to identify the structure of a CASE tool that may allow to overcome them.
Preliminary design use cases
Authors: Martin Declan
Published: July 2004

This report describes an approach to combining Use Cases with elements from Event Response Lists to help improve requirements understanding. The format suggested for the combination, called the
Preliminary Design Use Cas,
proves particularly effective in facilitating reuse of existing system elements. It also supports the definition of extensions to existing systems, and encourages dialogue between customers, analysts and designers. The approach has resulted from industrial practice and has proven particularly successful.
Partnering for reuse
Authors: Mannion Mike , Keepence Barry
Published: July 2004

Software Reuse is a business solution to the increasing demand for software over supply. However there remains little investment in software reuse despite the availability of return-on-investment models to show the cost-benefits, organisational models for undertaking the task and the appropriate technology to do so. In addition investment in reuse which transcends commercial barriers is practically non-existent. This position paper argues that global Software Reuse in the 21st Century will not be fully exploited without breaking down the traditional customer-supplier relationship and adopting long-term business relationships and supply chain management.
Integrating the understanding of quality in requirements specification and conceptual modeling
Authors: Krogstie John
Published: July 2004

The notion ofqualityof information system models and other conceptual models is not well understood. However, recent quality frameworks have tried to take a more systematic approach. We have earlier developed a framework for understanding and assessing the quality of models in general, with emphasis on models made in conceptual modeling languages. At the same time, there is a long tradition on discussing quality of more specialized models, e.g. in the form of requirements specifications. Several authors have created taxonomies of useful properties of models and requirements specifications, the most comprehensive overview being presented by Alan Davis.We have in this paper extended our quality framework for models based on the work by Davis on quality in requirement specifications, looking upon a requirements specification as a specific type of model. Comparing the approaches we find on the one hand that the properties as summarized by Davis are subsumed by our framework on a high level, and that there are aspects within our framework that are not covered by Davis. On the other hand, the comparison has resulted in a useful extension and deepening of our framework on this specific kind of model, and in this way improved the practical applicability of our framework when applied to discussing the quality of requirements specifications.
The UML rules
Authors: Juric Radmila
Published: July 2004

The Unified Modelling Language (UML), version 1.0, developed in order to standardise different object oriented development practices, offers a general way of representing technical, business and software models through the structure and dynamics of the UML modelling elements. The UML also defines a set of rules that are expected to be followed in order to claim that the UML is being followed. In this paper I extract the rules related to the core concepts, and structural and behavioural elements, found in the Semantics of the UML documentation set.
A note on state modeling through inheritance
Authors: Lee Jonathan , Xue Nien-Lin , Kuei Tai-Lin
Published: July 2004

How to achieve the state modeling through inheritance has been considered as an important issue in object-oriented modeling. In this paper, an approach called Focus of Attention is proposed to make the state modeling easier by constructing state representations of a class from those of its parent. Facets impacting the state modeling are called FOA facets, which are used as a guideline to modify an inherited state model. Various specialization techniques are discussed, which help better understand the relationship between the state model of a superclass and its subclass.
Incorporating problem-solving patterns in CS1
Authors: Reed David
Published: July 2004

In [Wall96], Wallingford describes an approach to introductory courses that is based on programming patterns, i.e., algorithms or problem-solving approaches that can be applied to various applications. By focusing on patterns such as "Input-Process-Test" or "Process all items in a collection", students reason at a higher-level of abstraction when solving problems. In addition, code schema can be provided which apply to certain patterns, and these schema then serve as frameworks for program development. (See also [Rist89], [Coad92], and [GHJV95].)Closely related to the patterns approach is the use of themes in a programming course. Selecting a particular idea (such as self-reference [Astr94]), methodology (such as formal specifications [MH96]), or application domain (such as databases [AR95]) provides a framework for learning new techniques and concepts. Once a concept has been studied in one context, new applications which similarly utilize that concept can be understood more easily.This paper describes the use of a particular problem-solving pattern, binary reduction, as a recurring theme in the CS1 course. Other problem-solving approaches, such as divide-and-conquer or generate-and-test, could similarly be used. By introducing problem-solving patterns early in the course and then revisiting them in different contexts, students learn to look for common characteristics in problems, and to use an existing solution as a framework for solving related problems. Perhaps more importantly, understanding the behavior of one problem solution can simplify the analysis of other problem solutions based on the same pattern.
Teaching Web development technologies in CS/IS curricula
Authors: Lim Billy B. L.
Published: July 2004

The advent of the World Wide Web changes the way we do things. It also greatly changes how computer software are built. While this profound evolution of software development has caused many in the software industry to change their way of developing software, it has not caused many in the academics to change their way of teaching computing. This paper describes a course that teaches web development technologies. The contents of the course, the experience gained, and related educational resources are presented.
Using HTML and JavaScript in introductory programming courses
Authors: Mercuri Rebecca , Herrmann Nira , Popyack Jeffrey
Published: July 2004

Students with little or no computer programming experience prior to entering college often have difficulty keeping up with the fast pace of college-level programming courses, even at the introductory level. For the past several years we have developed a curriculum for teaching fundamental language concepts to this population of individuals using the programmable features of a variety of software packages --- thus giving students nontrivial results with relatively little syntactic "overhead." These "pre-programming" courses prepare students to succeed in subsequent language sequences, or they can serve to provide computer literacy credits for non-technical majors.Here we report on a course designed to exploit students' burgeoning interest in the World Wide Web (WWW), where we used HTML and JavaScript to teach programming concepts. These languages allow students at different skill levels to work side by side, learning common abstract ideas while implementing them at different levels of complexity, motivated by the rewarding and exciting interactive environment of the WWW.
Extending an iterator model for binary trees to backtracking problems
Authors: Ziegler Uta
Published: July 2004

Rasala [1] developed a design for an object-oriented tree-iterator. This paper extends that design to provide an iterator for backtracking problems. The developed iterator explicitly uses a stack to store partial solutions which must be evaluated and/or extended.The discussed design can be used as a teaching tool for recursion. Students often struggle with this paradigm [2] since - for their taste - too much is happening behind the scenes. Students can explore the explicit stack of the backtracking iterator after each recursion step.The design can be reused for different domains, since it separates domain-specific code from general iterator code. Solutions to the set and the maze problems are shown.
Teaching the analysis of algorithms with visual proofs
Authors: Goodrich Michael T. , Tamassia Roberto
Published: July 2004

We describe an approach for visually teaching important proofs in the Junior-Senior level course on the design and analysis of data structures and algorithms (CS7/DS&A). The main idea of this educational paradigm is to justify important claims about data structures and algorithms by using pictures that visualize proofs so clearly that the pictures can qualify as proofs themselves. The advantage of using this approach for DS&A is that it augments or even replaces inductive arguments that many students find difficult. Moreover, this paradigm communicates important algorithmic facts in a compelling way for students who are more visually-oriented. We illustrate this technique by giving examples of visual proofs of several key concepts in DS&A.
Animating parsing algorithms
Authors: Khuri Sami , Sugono Yanti
Published: July 2004

The paper describes a package that can be used to present the parsing algorithms. The package fully animates the top-down LL(1) and bottom-up SLR(1) parsing algorithms. By full animation we mean that the input string being parsed, the corresponding actions that take place in the stack, and the building of the parse tree are all simultaneously animated on the same screen, thus enabling the user to get a full appreciation of all the intricate details that occur during parsing. The package makes use of XTANGO and can be used in the beginning of the semester as a teaching tool. Later, the students could be asked to write their own animations of the compiling process.
Providing intellectual focus to CS1/CS2
Authors: Long Timothy J. , Weide Bruce W. , Bucci Paolo , Gibson David S. , Hollingsworth Joe , Sitaraman Murali , Edwards Steve
Published: July 2004

First-year computer science students need to see clearly that computer science as a discipline has an important intellectual role to play and that it offers deep philosophical questions, much like the other hard sciences and mathematics; that CS is not "just programming". An appropriate intellectual focus for CS1/CS2 can be built on the foundations of systems thinking and mathematical modeling, as these principles are manifested in a component-based software paradigm. We outline some of the main technical features of this approach to CS1/CS2 and report preliminary observations from our experience with it.
Web-based animation of data structures using JAWAA
Authors: Pierson Willard C. , Rodger Susan H.
Published: July 2004

JAWAA is a simple command language for creating animations of data structures and displaying them with a Web browser. Commands are stored in a script file that is retrieved and run by the JAWAA applet when the applet's Web page is accessed through the Web. JAWAA commands allow for creation and movement of primitive objects (circles, lines, text, rectangles) and data structure objects (arrays, stacks, queues, lists, trees and graphs). A JAWAA script can be generated as the output of a program written in any language.
Animation, visualization, and interaction in CS 1 assignments
Authors: Astrachan Owen , Rodger Susan H.
Published: July 2004

Programs that use animations or visualizations attract student interest and offer feedback that can enhance different learning styles as students work to master programming and problem solving. In this paper we report on several CS 1 assignments we have used successfully at Duke University to introduce or reinforce control constructs, elementary data structures, and object-based programming. All the assignments involve either animations by which we mean graphical displays that evolve over time, or visualizations which include static display of graphical images. The animations do not require extensive programming by students since students use classes and code that we provide to hide much of the complexity that drives the animations. In addition to generating enthusiasm, we believe the animations assist with mastering the debugging process.
Applying the personal software process in CS1
Authors: Hou Lily , Tomayko James
Published: July 2004

The authors conducted an experiment in applying components of the Personal Software Process
sm
(PSP) described in Humphrey[2,3] to a large group of CS1 students. Half of the students were taught selected PSP principles and the other half were asked only to keep track of total time spent on programming assignments. Results indicate that PSP is of value not only to software professionals involved in large projects, or to students in a software engineering school, but also to novices at the CS1 level, regardless of their background.
Scaling
Authors: Fell Harriet J. , Proulx Viera K. , Rasala Richard
Published: July 2004

We present a series of programming exercises that use scaling as a theme for teaching design techniques in the introductory computer science course sequence. All exercises are on the level easily mastered in the first year of programming. Additionally, the exercises introduce a rich variety of applications of computer science.
A robot laboratory for teaching artificial intelligence
Authors: Kumar Deepak , Meeden Lisa
Published: July 2004

There is a growing consensus among computer science faculty that
it is quite difficult to teach the introductory course on
Artificial Intelligence well [4, 6]. In part this is because AI
lacks a unified methodology, overlaps with many other disciplines,
and involves a wide range of skills from very applied to quite
formal. In the funded project described here we have addressed
these problems by

" Offering a unifying theme that draws together the disparate
topics of AI;

" Focusing the course syllabus on the role AI plays in the core
computer science curriculum; and

" Motivating the students to learn by using concrete, hands-on
laboratory exercises.

Our approach is to conceive of topics in AI as robotics tasks.
In the laboratory, students build their own robots and program them
to accomplish the tasks. By constructing a physical entity in
conjunction with the code to control it, students have a unique
opportunity to directly tackle many central issues of computer
science including the interaction between hardware and software,
space complexity in terms of the memory limitations of the robot's
controller, and time complexity in terms of the speed of the
robot's action decisions. More importantly, the robot theme
provides a strong incentive towards learning because students want
to see their inventions succeed.

This robot-centered approach is an extension of the
agent-centered approach adopted by Russell and Norvig in their
recent text book [11]. Taking the agent perspective, the problem of
AI is seen as describing and building agents that receive
perceptions as input and then output appropriate actions based on
them. As a result the study of AI centers around how best to
implement this mapping from perceptions to actions. The robot
perspective takes this approach one step further; rather than
studying software agents in a simulated environment, we embed
physical agents in the real world. This adds a dimension of
complexity as well as excitement to the AI course. The complexity
has to do with additional demands of learning robot building
techniques but can be overcome by the introduction of kits that are
easy to assemble. Additionally, they are lightweight, inexpensive
to maintain, programmable through the standard interfaces provided
on most computers, and yet, offer sufficient extensibility to
create and experiment with a wide range of agent behaviors. At the
same time, using robots also leads the students to an important
conclusion about scalability: the real world is very different from
a simulated world, which has been a long standing criticism of many
well-known AI techniques.

We proposed a plan to develop identical robot building
laboratories at both Bryn Mawr and Swarthmore Colleges that would
allow us to integrate the construction of robots into our
introductory AI courses. Furthermore, we hoped that these
laboratories would encourage our undergraduate students to pursue
honors theses and research projects dealing with the building of
physical agents.
The retention of women in the computing sciences (panel)
Authors: Vest Sharon N. , Biddle Robert , Bjorkman Christina , Null Linda , Roberts Eric , Scragg Greg
Published: July 2004

The recruiting and retention of women in the computing sciences has been an area of study for many years. In 1992, 49% of all high school graduates were women prepared and interested in the computer science and engineering disciplines. Of the bachelor of science degrees awarded, only 31% went to women in these fields of study. Women represented only 28% of the master's degrees and 11% of the Ph.D.s awarded during that time. The following year, 1993, reported a drop of women earning B.S. degrees to 28%, with 27% and 14% of master's and Ph.Ds degrees awarded, respectively, to women.A panel of six discuss why women who are initially attracted to computer science bail out without completing degree requirements, most in the first two years of undergraduate study. The panelists present diverse positions as to why fewer women persevere and experimental efforts for increasing the retention rate among women. The action plans developed from the investigations include curriculum changes and support group activities. The panelists share feedback from surveys, program modifications, support group activities and personal experiences to provide a comprehensive view of the problem and possible solutions applicable to a wide range of environments. The panelists' positions follow.
LongNbrs and palindromes: an interesting application of a class
Authors: Shannon Christine
Published: July 2004

What started off as an enrichment assignment for a third grader has developed into a rich source of programming assignments. The long integers, needed to determine whether a number eventually becomes a palindrome under the process of reversal and addition, can be described as an abstract data type and implemented as a C++ class. There are intriguing open questions which call for great creativity and efficiency in terms of data structures. Even graphics have been employed to illuminate the problem. The next step is probably parallel processing.
Evaluating software eng. methods and tools part 10
Authors: Kitchenham Barbara Ann , Pickard Lesley M.
Published: July 2004

In the last article we considered how to identify the context for a case study and how to define and validate a case study hypothesis. In this article, we continue my discussion of the eight steps involved in a quantitative case study by considering the remaining six steps: selecting the host projects; identifying the method of comparison; minimising the effect of confounding factors, planning the case study, monitoring the case study, analysing the results.
Successful software engineering research
Authors: Parnas David Lorge
Published: July 2004

Rumination about what makes research successful is a strong indication that a researcher will not continue to do successful research. Nonetheless, the invitation to publish a short article in SEN on the occasion of being honoured by receiving SIGSOFT's "Outstanding Research Award" has led me to reflect on what I have done. I have been active in research on software design for more than 35 years; perhaps this is the time to pause and look back. I also want to look forward; I have some concerns about the direction being taken by many researchers in the software community and would like to offer them my (possibly unwelcome) advice.
Embedded documentation for semi-automatic program construction and software reuse
Authors: Marovac Nenad
Published: July 2004

The purpose of this paper is to present a mechanism to classify software components for software reuse and semi-automatic program construction. The paper goes on to describe how is the classification information incorporated into software components through Flagged Sentences in Embedded Software Documentation.
How to improve the quality of software engineering project management
Authors: Krašna Marjan , Rozman Ivan , Stiglic Bruno
Published: July 2004

Every project, including software engineering projects, start with the project plan. A project plan means the prediction of future events with the goal of minimizing the risk during execution of the project. The heart of the problem is to make the project plan as close to reality as possible. Ideally, it should be exactly the same as the post project measured data. In the end we always encounter the problem of "the perfect project plan". Does a perfect project plan exist? If it does not exist, can we be any better than we are now? In the article we will show that we can improve, but the perfect project plan is still somewhere in the future.
Building a system in virtual reality with LearningWorks
Authors: Goldberg Adele
Published: July 2004

The LearningWorks project began in 1994 and has slowly evolved, with its first major deployment in 1998 as the delivery environment for the new first course in Computing Science, M206, from the Open University, UK. The purpose of this short paper is to introduce the motivation and status of the project. We introduce the LearningBook user model and the programming framework, and then follow with a summary of a team-based curriculum in which students can work together to create simulations in a virtual reality world.