bluuebunny/crossref_metadata_2025 huggingface dataset:
A practical approach to internationalizing information systems & computer science courses (seminar)
Authors: Kourik Janet L.
Published: July 2004

The IS '97 Model Curriculum reaffirmed the need to prepare information technology students to work effectively in an international environment. Yet, as computer science educators, we face a never-ending struggle to stay current in our field. How can we incorporate yet another educational goal in the curriculum? What is "internationalization"? What form might "internationalization" take in our courses? This seminar will answer some basic questions about internationalizing our courses. In addition, the seminar will provide practical suggestions, examples and resources to help you easily infuse an international perspective in your courses.As participants in a global economy and society, exposure to international perspectives can help us build, maintain and support global information systems and technology. Computer science and information systems bring to the world technologies that advance global interaction. Information technology workers are building systems that will be used by people from many different backgrounds and experiences. In the United States, the work force is becoming more diverse. And with the growing focus on collaboration, teamwork and virtual offices, projects will often involve working closely with people around the world. In such an environment, an awareness of other peoples and cultures becomes increasingly important.There have been a number of initiatives in government, education and information technology that emphasize the need for increasing our knowledge of other countries, nations and cultures. This session will endeavor to help participants become acquainted with the move to "internationalize" curriculum and suggest some practical ways to implement "internationalization" in computer science and information systems.
Using responsibility modeling to match organizational change to changes in the systems development process
Authors: Strens M. R. , Chudge J. S.
Published: July 2004

Changes to an established software system development process are made for many reasons. We describe the use of responsibility modeling as an aid to identifying the organizational changes needed if changes to the software systems development process are to be implemented successfully within the organizational context.
Toward a tradition of software engineering
Authors: Raccoon L. B. S.
Published: July 2004

Ever since Boehm's Letter from the Executive Committee, in October 1994, the question, "is software engineering really engineering?" has been raised many times. Apparently, the National Society of Professional Engineers would like to make it illegal for anyone to call himself or herself a "software engineer" because software engineering is not one of their 36 recognized disciplines. In response, we have been asking questions like: "Is software development the same as software engineering?" "If not, what is the difference?" and "What would it take for us to become software engineers?"In January 1997, I received a copy of Defining "Engineer" --- How to Do It, and Why It Matters by Davis. After reading it closely, I feel compelled to write the following notes about the role of tradition in engineering and about the prospect of software engineering becoming real engineering.
A middle-out concept of hierarchy (or the problem of feeding the animals)
Authors: Raccoon L. S. B. , Puppydog P. O. P.
Published: July 2004

Developers use class hierarchies to model "real world" objects and as metaphors to organize their programs. We (the authors) believe that developers intuitively understand the variety of everyday objects: this cup, that water, those pencils, or in computer terms, this number, that window, those records. We also believe that developers approve of only one concept of class hierarchy, one out of many possible concepts.Many hidden assumptions lurk behind object-oriented inheritance. Traditional object-oriented concepts of hierarchy are obsessively top-down and ignore many obvious bottom-up relationships. Authors who write about object-oriented programming usually define class hierarchies in traditional or archaic terms, referring to the theory of Realism and ancient Greek philosophy. But, just because somebody sees a similarity between concepts in Smalltalk or C++ and concepts described by Plato and other philosophers, does not mean that the perception is appropriate. While the correspondences between classes and concepts from philosophy are interesting, they are not the only possible or useful correspondences. InWomen, Fire, and Dangerous Thingson page 6, Lakoff writes, "In fact, until very recently, the classical theory of categories was not even thought of as atheory.It was taught in most disciplines not as an empirical hypothesis but as an unquestionable, definitional truth."We want to change that assumption and expand the possibilities of what class hierarchies can be. Specifically, we introduce a cognitive science perspective of objects and thebasic levelof a class hierarchy. We believe that developers use software classes in a middle-out manner, just like people use linguistic categories. We believe that this middle-out interpretation explains some of the limits to modeling with traditional object-oriented inheritance. We use the basic level to distinguish between the type relationships within a class hierarchy: above the basic level, developers use runtime type relationships, and below the basic, level developers use compile-time type relationships. We also show that developers do program above the basic level.This paper is organized as follows. In the first section, we discussclassandhierarchyfrom a cognitive science point of view. In the second section, we define thebasic leveland describe a middle-out concept ofhierarchy.In the third section, we explain the developer's version of basic level through the example of "feeding the animals" and show how it relates to type checking. We also describe some of the techniques that developers use to program above the basic level. And, in the fourth section, we argue that many traditional concepts of inheritance fail above the basic level. We argue that the subset and prototype concepts of hierarchy do not work in general, and we argue that Liskov's Substitution Principle and Meyer's Open-Closed Principle only work below the basic level.
Concrete teaching
Authors: Astrachan Owen
Published: July 2004

Hooks and props are mental or physical images used in the classroom which help students as they learn new topics. Concrete and constructive teaching are essential in introductory programming courses. In this paper we discuss active teaching and some ideas using physical props and images that in our experience have enhanced the teaching and learning process.
The students conference—a tool for the teaching of research, writing, and presentation skills
Authors: Börstler Jürgen , Johansson Olof
Published: July 2004

Good communication skills are very important for any professional career. But few computer science curricula provide courses to acquire these skills.This paper describes a "conference course," which was held at our department to address research, technical writing and presentation skills. We outline the experiment, discuss our experiences, and present a proposal for a follow-up course.
Teaching process modelling to undergraduate computer students
Authors: Boulet Marie-Michèle , Jebara Faouzi Ben , Boudreault Serge
Published: July 2004

In this paper, we describe the main characteristics of the Information Technology distance course. The content and instructional purposes of one unit 6 are summarised. PARTENAIRE, the co-operative learning-working environment developed with Lotus Notes, is described. The results of the analysis of the effects on students' learning follow these descriptions.
A survey of methods used to evaluate computer science teaching
Authors: Carbone Angela , Kaasbøll Jens J.
Published: July 2004

A literature survey shows that the teacher's own impression of the teaching and the students is the most common way of evaluating novelties in teaching. However, also low cost methods with better validity and reliability were found. These included data from several sources, or they comprised of several learning cycles in an iterative development.
DIDAGRAPH
Authors: Dagdilelis V. , Satratzemi M.
Published: July 2004

Graph theory and in particular its algorithmic aspect is known as being a difficult topic in Computer Science. In this paper we propose the software DIDAGRAPH, which we are in the process of developing, as a support for teaching graph algorithms. The environment of DIDAGRAPH offers the possibility of visualisation and experimentation so as to overcome didactic problems, i.e. the intermediate stages of an algorithm, their implementation in a programming language etc. In DIDAGRAPH we are developing two different frameworks to explore an algorithm: one to explore in detail predetermined algorithms and a second to develop arbitrary algorithms expressed with command language in a visual environment.
Open learning environment and instruction system (OLEIS)
Authors: Davidovic Alex , Trichina Elena
Published: July 2004

Intelligent Tutoring Systems are dynamically organised instructional programs that employ representations of expert, instructional, and student knowledge to provide individualised instruction much like a personal human tutor. Open Learning Environment and Instruction System is an integrated authoring tool that enables any computer-literate lecturer to construct intelligent tutoring systems from existing teaching materials such as texts, graphics, animation, sound, video, simulators, HTML pages, software packages (i.e. compilers, spreadsheets, CAD-s...), etc. The system makes it possible for a lecturer to take the pieces built with standard software applications and configure them into the components of an intelligent tutoring system, which employs a number of different teaching strategies and provides a regular student modelling loop. This tool was designed at the School of Computer and Information Science, University of South Australia, and is currently being used for creating intelligent multimedia courseware.
Permutational multiple-choice questions
Authors: Farthing Dave W. , Jones Dave M. , McPhee Duncan
Published: July 2004

Despite the attractive characteristics of multiple-choice questions - efficient to mark, not subjective, etc. - they are rarely considered a suitable substitute for traditional essay-type questions. This is especially true for final year honours degree examinations. This paper introduces a new form of assessment: the Permutational Multiple-Choice Question (PMCQ). Results of trials in final year degree examinations indicate that these questions are as good as essay-type questions at discriminating among candidates. They also offer many benefits:• consistency and reliability in marking• reduced need for cross checking among assessment teams, or between franchised institutions,• objective and reproducible results;• efficiency in marking• quicker to mark,• can be automated;• broad coverage of syllabus.Unlike traditional multiple-choice questions, PMCQs are not susceptible to candidates guessing the correct answer. Candidates who guessed the answers in a PMCQ test could expect a mark of only 3% (compared with 25% in a "choose one from four" test), and the likelihood of gaining a 40% pass mark in a test of ten PMCQs would be only 1:4500 (rather than approx. 1:5).
Beyond anecdote towards real transfer
Authors: Fincher Sally , Petre Marian
Published: July 2004

The EPCoS project (Effective Project work in Computer Science) is working to map the range of project work practices and to generate insights into what characterises the contexts in which particular techniques are effective. In assembling a body of authentic examples, EPCoS aims to provide a resource that enables extrapolation and synthesis of new techniques. Structured resources and process models are essential tools for supporting responsiveness in the current climate of continual change: the rapid development of computer technology is demanding new range and flexibility in project work, and EPCoS's mapping of project-based teaching allows practitioners to respond to these changes. Moreover, EPCoS is examining the process by which practices are transferred between institutional contexts, with a view to identifying effective models of that process. In this paper, we describe EPCoS's work-in-progress and describe briefly how technology makes the catalogue easier to use, providing tailored access, fast selection and juxtaposition, and the potential for an extensible, updated, distributed resource.
Using the personal software process to motivate good programming practices
Authors: Grove Ralph F.
Published: July 2004

A reduced form of the Personal Software Process was used in two introductory programming courses to help students learn the value of a proper programming methodology. Students collected data during the development of their programming projects and that data was summarised and presented to the class as a whole. From the data, students were able to conclude on their own the value of early software development stages (planning, design and review) in reducing debugging time and in producing better quality software.
The value of discussion classes for teaching introductory programming
Authors: Hagan Dianne , Sheard Judy
Published: July 2004

In an attempt to improve the teaching and learning of first year programming, a weekly one-hour discussion class was added in 1996 to the lectures and microcomputer laboratory sessions that students attended. Discussion classes were held in classrooms without computers, and students were provided with enjoyable activities to perform in small groups. The activities forced discussion of new programming concepts, and helped students to clarify their understanding of them. The tutors' role was to provoke discussion rather than simply providing answers. Student results that year showed an improvement. In 1997, for financial reasons, the discussion classes were discontinued, and student results deteriorated. As a consequence, discussion classes have been reinstated in 1998. The language used to implement the programming concepts in each of these years was C++.
Hypermedia teaching of mechanics—
MechANIma
Authors: Hampel Thorsten , Ferber Ferdinand , Keil-Slawik Reinhard , Müller Wolfgang H.
Published: July 2004

In this paper we describe the
mechANIma
project, a joint venture between the department of computer science and the laboratory for mechanics at the University of Paderborn, Germany.
An automated student diagram assessment system
Authors: Hoggarth Gil , Lockyer Mike
Published: July 2004

The teaching of systems analysis and design diagramming methods commonly utilises Computer Aided Software Engineering (CASE) tools to provide a way for students to actively practice the subject. However, many versions of these tools do not cater for the academic users who will require assistance in the underlying methods as well as the usage of the tool. The automated diagram comparison system developed at the University of Teesside can be used by students to compare a diagram that they consider to be a solution to a given problem against a model answer, and receive feedback commenting on their solution, which strengthens their understanding of the subject. This paper outlines a framework for such interactive learning, describes the use of the diagram comparison system, and highlights the benefits for the student.
Virtual office hours using TechTalk, a Web-based mathematical collaboration tool
Authors: Johnson Jeremy , Lakshman Y. N. , Hewett Thomas T. , Souder Tim , Fitzgerald Tom , Donegan Sara , Morgovsky Paul
Published: July 2004

This paper reports on the use of TechTalk, a web based chat environment designed for scientific and mathematical collaboration, in mathematics instruction. Techtalk provides internet access to shared Maple and MATLAB sessions and the ability to conduct a multiway conversation. Using this feature an instructor is able to answer questions on Maple/MATLAB outside of the classroom and outside of conventional, face-to-face office hours.
Effective electronic marking for on-line assessment
Authors: Joy Mike , Luck Michael
Published: July 2004

In response to the demands of increasing student numbers, the BOSS system for submission and assessment has been constructed to enable student programming assignments to be submitted and tested on-line. More recent developments of this system have been concerned with the addition of
electronic marking
facilities that incorporate both automated marking, resulting from the automated testing, and manual marking in a secure environment. This paper briefly reviews the system and describes in detail the
electronic marksheets
, their functionality, and their user-interface.
The rendering pipeline in the classroom
Authors: Karpouzis Kostas , Kollias Stefanos
Published: July 2004

In this paper we describe an integrated method of teaching an introductory computer graphics course. Most such courses are simply "art-oriented", that is they focus on getting students to use modern commercial software, so as to prepare them for a corresponding career, or concentrate on the basic concepts of graphics theory and merely provide a theoretical foundation, such as simple translations and projections; in this case, they usually fail to motivate the class by producing practical interesting examples. The curriculum that we propose combines theoretical knowledge of introductory computer graphics concepts and techniques with laboratory work in programming or modelling and animation exercises. This set of applied laboratory exercises is relevant to the material taught in class, but also extends to familiarising students with the modern uses of computer generated imagery, such as films, virtual worlds or medical imaging. The feedback from the students, combined with their success in the course, shows that this coupled teaching and immersion material is by far more interesting and challenging, while still providing them with the essential academic background.
Computer science as an integrated part of engineering education
Authors: Lambrix Patrick , Kamkar Mariam
Published: July 2004

The Information Technology curriculum at Linköping University has as goal to form engineers with an integrated view of engineering. The teaching philosophy in this curriculum is Problem-Based Learning. The education in each term is organised in a number of themes where topics from different disciplines are integrated. We describe a particular term in the Information Technology curriculum as an example of the approach and the integration of computer science teaching with the teaching of other disciplines. An important advantage of the approach is that the students discover interactions between different disciplines and view the different topics as naturally connected. Also, the students seem to have a better understanding of the topics and are better motivated. Further, they obtain improved communication and co-operation skills. Another advantage is that the approach is appreciated by our female students, which has led to a higher percentage of female students in this curriculum compared to our other computer science curricula.
A Java visualiser class
Authors: Naps Thomas L.
Published: July 2004

Using algorithm visualisation, we depict the execution of an algorithm as a sequence of graphical snapshots, the viewing of which is controlled by the user. Current evidence indicates that algorithm visualisation is most effective as a pedagogical tool when students themselves are responsible for building the visualisation from their code. This paper discusses our use of a
Visualiser
class in Java. By providing such a class to students, they are able to incorporate into their programs, with relative ease, effective visualisations of the algorithms that their programs implement. This leads to both better understanding of the algorithm from a conceptual perspective and better proficiency at coding the algorithm.
VCOCO
Authors: Resler R. Daniel , Deaver Dean M.
Published: July 2004

The study of the inner-workings of a compiler can be greatly simplified through use of a
visible
compiler. A visible compiler allows close inspection of the compilation process as a "real" program is being compiled. In this paper we present VCOCO (
V
isible
CO
mpiler
CO
mpiler), a program that
generates
LL(1) visible compilers.
Learning groupware through using groupware-computer supported collaborative learning with face to face students
Authors: Tiwari Ashok , Holtham Clive
Published: July 2004

There is a long history of Computer Supported Collaborative Learning (CSCL) being applied to students on distance learning courses, and there is a significant body of literature in this area [5,6,10]. This paper reports by contrast the use of CSCL for conventional full time face to face students. It comprised part of the final phase of a research council funded study of innovative CSCW applications.
Everything you ever wanted to know about software engineering education, but were afraid to ask (panel)
Authors: Mead Nancy R. , Hilburn Thomas B. , Bagert Donald J. , Ryan Michael , Benediktsson Oddur , Van Scoy Frances
Published: July 2004

In this panel, we will address questions on software engineering education that are voted on by the conference attendees in advance of the session. A sample set of questions will be posted. Conference attendees who will then vote on the questions to be addressed by the panel will augment these. After the panellists provide answers to a given question, the discussion will be opened up for follow-up questions or comments by the conference attendees.
Integrating professionalism into undergraduate degree courses in computing (panel)
Authors: Neal L. R. , Irons A. D.
Published: July 2004

Graduates of degree programmes in computing are generally assumed to be seeking careers as professionals in information systems. Consequently, in the UK, nearly all courses seek accreditation through the professional institute for information systems engineering, the British Computer Society. Such accreditation signifies that graduates have satisfied the educational requirements for the recognised professional engineering status of Chartered Engineer. One requirement for such accreditation is that a range of professional issues are covered in the degree programme that are relevant to the branch of engineering addressed. This paper discusses the need for professionalism to be an integral part of any computing degree, with examples of implementation within the Department of Information Systems at Brunel University and at the University of Northumbria at Newcastle.
Object oriented students? (poster)
Authors: Carter J. , Fowler A.
Published: July 2004

In this poster, we describe our initial experiences when teaching an Object Oriented programming language to first year undergraduate students.
Using visualisation to improve object-oriented thinking (poster)
Authors: Fernández Alejandro , Rossi Gustavo
Published: July 2004

In this paper we describe a learning environment that combines usual features of object oriented programming environments with visualisation and animation of object-oriented applications. The purpose of this learning tool is to improve students' mental models of object-oriented systems.
Student development of multimedia CBE (poster)
Authors: Meyerowitz Jane , Mars Maurice , Knight Steve
Published: July 2004

Experiences with a large scale CAL project development by Computer Science Honours students are discussed.
Using intelligent agents to change the delivery of education (poster)
Authors: Rosbottom John , Moulin Claude
Published: July 2004

We present work done on the use of multiple intelligent agents as teaching agents, and discuss some more general applications for agent technology in education.
TETE
Authors: Wojciechowski Adam , Nawrocki Jerzy R. , Kups Karolina , Kosiedowski Michal
Published: July 2004

There were two actions which resulted in the project named TETE - An Intelligent Knowledge Testing Engine". The first one was launched by Polish Ministry of Education which aimed at starting "teleteaching" (a kind of Open University) in Poland. Poznan University of Technology was proposed to start distant courses in the field of Informatics (see [3]). The other stimulant for the project was the ECDL project. In 1996 CEPIS (Council of European Professional Informatics Societies) has decided to promote a Finnish idea of Computer Driving Licence and named it "European Computer Driving Licence" (ECDL). ECDL is a set of examinations - the same across Europe - which defines a certain standard of knowledge and skills necessary for effective usage of computers. In 1997 the authors started work on a computer system which would be used in distant education courses on ECDL. We focused our work on intelligent kernel for computer-aided learning system. Important feature of the system is the ability to work on-line as well as a standalone system for knowledge presentation and self-assessment. Structure of the TETE kernel allows to use it with wide variety of courses. TETE uses a web browser (e.g. Netscape) as a presentation tool and it consists of the following modules:• a progress database keeping track of the student's behaviour (e.g. student's answers, time between subsequent lessons and test sessions, forgetting curve etc.) which defines student's perception profile• an intelligent question selection and scheduling engine making decision on the basis of the progress data and description of available knowledge units and test questions;• student's time manager• progress reporter• smart pre-loader of web pages
Graduate software engineering across international boundaries (poster)
Authors: Wolfer James
Published: July 2004

The combined influences funding education and the availability of international communication has brought distance education to the forefront of educational efforts. This report describes the integration of the fist Software Engineering course with an initial group project, and the subsequent management of quality across culture, time, and distance.
Customization and composition of distributed objects
Authors: Astley Mark , Agha Gul A.
Published: July 2004

Current middleware solutions such as CORBA and Java's RMI emphasize compositional design by separating functional aspects of a system (
e.g.
objects) from the mechanisms used for interaction (
e.g.
remote procedure call through stubs and skeletons). While this is an effective solution for handling distributed interactions, higher-level requirements such as heterogeneity, availability, and adaptability require policies for resource management as well as interaction. We describe the
Distributed Connection Language
(
dcl
): an architecture description language based on the Actor model of distributed objects. System components and the policies which govern an architecture are specified as encapsulated groups of actors. Composition operators are used to build connections between components as well as customize their behavior. This customization is realized using a meta-architecture. We describe the syntax and semantics of
dcl
, and illustrate the language by way of several examples.
Effective whole-program analysis in the presence of pointers
Authors: Atkinson Darren C. , Griswold William G.
Published: July 2004

Understanding large software systems is difficult. Traditionally, automated tools are used to assist program understanding. However, the representations constructed by these tools often require prohibitive time and space. Demand-driven techniques can be used to reduce these requirements. However, the use of pointers in modern languages introduces additional problems that do not integrate well with these techniques. We present new techniques for effectively coping with pointers in large software systems written in the C programming language and use our techniques to implement a program slicing tool.First, we use a fast, flow-insensitive, points-to analysis before traditional data-flow analysis. Second, we allow the user to parameterize the points-to analysis so that the resulting program slices more closely match the actual program behavior. Such information cannot easily be obtained by the tool or might otherwise be deemed unsafe. Finally, we present data-flow equations for dealing with pointers to local variables in recursive programs. These equations allow the user to select an arbitrary amount of calling context in order to better trade performance for precision.To validate our techniques, we present empirical results using our program slicer on large programs. The results indicate that cost-effective analysis of large programs with pointers is feasible using our techniques.
Reengineering class hierarchies using concept analysis
Authors: Snelting Gregor , Tip Frank
Published: July 2004

The design of a class hierarchy may be imperfect. For example, a class
C
may contain a member
m
not accessed in any
C
-instance, an indication that
m
could be eliminated, or moved into a derived class. Furthermore, different subsets of
C
's members may be accessed from different
C
-instances, indicating that it might be appropriate to split
C
into multiple classes. We present a framework for detecting and remediating such design problems, which is based on
concept analysis.
Our method analyzes a class hierarchy along with a set of applications that use it, and constructs a
lattice
that provides valuable insights into the usage of the class hierarchy in a specific context. We show how a restructured class hierarchy can be generated from the lattice, and how the lattice can serve as a formal basis for interactive tools for redesigning and restructuring class hierarchies.
An intermediate design language and its analysis
Authors: Jackson Daniel
Published: July 2004

A simple relational language is presented that has two desirable properties. First, it is sufficiently expressive to encode, fairly naturally, a variety of software design problems. Second, it is amenable to fully automatic analysis. This paper explains the language and its semantics, and describes a new analysis scheme (based on a stochastic boolean solver) that dramatically outperforms existing schemes.
Investigating data quality problems in the PSP
Authors: Disney Anne M. , Johnson Philip M.
Published: July 2004

The Personal Software Process (PSP) is used by software engineers to gather and analyze data about their work. Published studies typically use data collected using the PSP to draw quantitative conclusions about its impact upon programmer behavior and product quality. However, our experience using PSP in both industrial and academic settings revealed problems both in collection of data and its later analysis. We hypothesized that these two kinds of data quality problems could make a significant impact upon the value of PSP measures. To test this hypothesis, we built a tool to automate the PSP and then examined 89 projects completed by ten subjects using the PSP manually in an educational setting. We discovered 1539 primary errors and categorized them by type, subtype, severity, and age. To examine the collection problem we looked at the 90 errors that represented impossible combinations of data and at other less concrete anomalies in Time Recording Logs and Defect Recording Logs. To examine the analysis problem we developed a rule set, corrected the errors as far as possible, and compared the original and corrected data. This resulted in significant differences for measures such as yield and the cost-performance ratio, confirming our hypothesis. Our results raise questions about the accuracy of manually collected and analyzed PSP data, indicate that integrated tool support may be required for high quality PSP data analysis, and suggest that external measures should be used when attempting to evaluate the impact of the PSP upon programmer behavior and product quality.
Experiences in improving risk management processes using the concepts of the Riskit method
Authors: Kontio Jyrki , Getto Gerhard , Landes Dieter
Published: July 2004

This paper describes experiences from two organizations that have used the Riskit method for risk management in their software projects. This paper presents the Riskit method, the organizations involved, case study designs, and findings from case studies. We focus on the experiences and insights gained through the application of the method in industrial context and propose some general conclusions based on the case studies.
Automated test data generation using an iterative relaxation method
Authors: Gupta Neelam , Mathur Aditya P. , Soffa Mary Lou
Published: July 2004

An important problem that arises in path oriented testing is the generation of test data that causes a program to follow a given path. In this paper, we present a novel program execution based approach using an iterative relaxation method to address the above problem. In this method, test data generation is initiated with an arbitrarily chosen input from a given domain. This input is then iteratively refined to obtain an input on which all the branch predicates on the given path evaluate to the desired outcome. In each iteration the program statements relevant to the evaluation of each branch predicate on the path are executed, and a set of linear constraints is derived. The constraints are then solved to obtain the increments for the input. These increments are added to the current input to obtain the input for the next iteration. The relaxation technique used in deriving the constraints provides feedback on the amount by which each input variable should be adjusted for the branches on the path to evaluate to the desired outcome.When the branch conditions on a path are linear functions of input variables, our technique either finds a solution for such paths in one iteration or it guarantees that the path is infeasible. In contrast, existing execution based approaches may require an unacceptably large number of iterations for relatively long paths because they consider only one input variable and one branch predicate at a time and use backtracking. When the branch conditions on a path are nonlinear functions of input variables, though it may take more then one iteration to derive a desired input, the set of constraints to be solved in each iteration is linear and is solved using Gaussian elimination. This makes our technique practical and suitable for automation.
Modules to introduce assertions and loop invariants informally within CS1
Authors: Walker Henry M.
Published: July 2004

Over the past several years, the author has written, used, and refined several modules that help introduce the concepts of assertions and loop invariants within CS1. After discussing the motivation for this work, this paper describes the development of the modules themselves, including both successes and disappointments. Feedback from students and the observation of students within a lab setting may shed light on the background and perspectives of introductory computer science students. This work also suggests some preliminary conclusions, which might be worthy of more formal, carefully-controlled validation studies in the future.
Java as first programming language
Authors: Hadjerrouit Said
Published: July 2004

Due to the new possibilities it opens up on the Web, the Java paradigm has received much attention. As a result, many universities and colleges have introduced Java into their undergraduate computer science curriculum. However, the novelty and popularity of a language do not automatically imply its suitability for the learning of introductory programming. The main purpose of this paper is to evaluate the suitability of Java as a first language for students with no programming background.
Teaching operating systems
Authors: O'Gorman John
Published: July 2004

This article surveys the motives for including operating systems in a computing course, and from these deduces the content of a module in operating systems, and how it should be taught. It suggests an approach involving theory, internals, and system services.
Exploring the pipeline
Authors: Bjorkman Christina , Christoff Ivan , Palm Fredrik , Vallin Anna
Published: July 2004

We present a project aiming at making the computer science program at Uppsala University in Sweden more attractive to women. The main goal of the project is to find explanations for the low number of female students attending the program, and to identify possible solutions to this problem. We focus on the prevailing culture of the program. In the first phase of the project, the program is analyzed from a gender perspective. A study, based on questionnaires and interviews, is carried out. The study will be completed during Spring 1997. The questionnaires have been analyzed and the results from these are presented in this paper.
A reference model for workflow application development processes
Authors: Weske Mathias , Goesmann Thomas , Holten Roland , Striemer Rüdiger
Published: July 2004

The success of workflow projects to a large extent depends on how workflow application development processes are planned, organized, and conducted. Based on lessons learned from problems encountered during real-world workflow application development projects, this paper presents a reference model for workflow application development processes, which guides project managers and developers through the complex structure of these processes, with the aim of developing more adequate, usable, and reliable workflow applications.
WIDE workflow development methodology
Authors: Baresi L. , Casati F. , Castano S. , Fugini M. G. , Mirbel I. , Pernici B.
Published: July 2004

The development of workflows (WFs) for complex organizations to be interfaced with existing information systems requires a specific methodological approach to guarantee benefits and effectiveness of the final results. In fact, the WF should be well integrated in the organization both from the technical and the organizational point of view. While the characteristics of the Workflow Management System (WFMS) platform adopted in the implementation are relevant to establish the boundary between the workflow system and other related applications, it is also important that the analysis and design phases are developed independently of those characteristics.The WF development methodology proposed in this paper starts with an analysis phase based on UML, adopted for business process descriptions and business goals. The design phase proposes a pattern-based approach to workflow schemas design, based on the WIDE WF model. This model allows a flexible representation of the exceptions which may occur during WF execution. It also considers the interaction of the WF with external applications and information systems. Finally, the paper briefly discusses the mapping to commercial and prototype WFMSs.
Interoperability as a means of articulation work
Authors: Simone Carla , Mark Gloria , Giubbilei Dario
Published: July 2004

The interoperability of systems to support cooperative work requires moving beyond purely technical issues; it also concerns the means and practices that users adopt to articulate their cooperative activities. Articulation has to be supported by a technology which focuses on this higher level of interoperability. This claim is motivated by observing the articulation process of users in real cooperative work practice. Based on this study, the functionality for this technology was designed to help users reconcile different handling and perspectives on shared objects in their cooperative work. The paper presents the architecture of an application infrastructure centered on the identified interoperability issues and focuses on the design of a specialized module, called reconciler, which provides the above functionality. The current state of its implementation together with identifying open research problems conclude the paper.
Herbal-T, enabling integration, interoperability, and reusability of Internet components
Authors: Hilerio Israel , Chen Weidong
Published: July 2004

Herbal-T introduces an architecture where Internet component integration, interoperability, and component instantiation are the base for information flow coordination. This architecture introduces a framework for combining object functionality across the Internet to create new Internet applications. These new applications are defined in terms of active relationships. The concept of active relations as found in active databases is extended to define a new paradigm for creating Internet applications. In addition, Internet component interoperability is achieved using Applets, Java Applications, CORBA and RMI. This paper presents how the Herbal-T architecture support extends active relations to create an integration, interoperability, and reusability framework.
Tolerating exceptions in workflows
Authors: Borgida Alex , Murata Takahiro
Published: July 2004

Practical workflow systems need to be able to tolerate deviations from the initial process model because of un-anticipated situations. They should also be able to accommodate deviations in the format of the forms and data being manipulated. We offer a framework for treating both kinds of deviations uniformly, by applying ideas from programming languages (with workflow agents as potential on-line exception handlers) to workflows that have been reified as objects in classes with special attributes. As a result, only a small number of new constructs, which can be applied orthogonally, need to be introduced. Special run-time checks are used to deal with the
consequences
of permitting deviations from the norm to persist as violations of constraints.
Declarative workflows that support easy modification and dynamic browsing
Authors: Hull Richard , Llirbat Francois , Siman Eric , Su Jianwen , Dong Guozhu , Kumar Bharat , Zhou Gang
Published: July 2004

A new programming paradigm named "Vortex" is introduced for specifying a wide range of decision-making activities including, in particular, workflows. In Vortex workflows are specified declaratively. A particular emphasis is on "object-focused" workflows, i.e., workflows focused on how individual input objects should be processed within an organization. Such workflows arise commonly in practice, including insurance claims processing, and many electronic commerce applications, and in the area of Customer Care, e.g., web-based storefronts. Vortex workflows are "attribute-centric", because they are centered around how the attribute values for an input object are gathered and computed. Initially, only a few attributes of an input object have assigned values. During processing of the object, additional attribute values may be assigned by external modules, or by internal modules, including "decision modules". Decision modules include "attribute rules" that specify contributions to specific attribute values; these are combined with one of a broad family of available semantics. In Vortex, enabling conditions are used to determine what attributes should be evaluated. A novel choice-based execution model provides a general framework for optimization strategies. The use of enabling conditions, attribute rules and declarative semantics makes Vortex workflows easier to modify and refine than traditional, procedurally specified workflows. Vortex supports modularity and permits the natural intermixing of Vortex workflows with traditional, procedural workflows. The paper introduces a novel spreadsheet-like interface for dynamic browsing of Vortex executions.
A comprehensive approach to flexibility in workflow management systems
Authors: Heinl Petra , Horn Stefan , Jablonski Stefan , Neeb Jens , Stein Katrin , Teschke Michael
Published: July 2004

Flexibility has recently grown to be one of the major research topics in the area of workflow management. In this paper we focus on flexibility of workflow management applications, in contrast to flexibility of the implementation of workflow management systems. In a case study we show the necessity of flexibility in workflow management applications. This flexibility can roughly be classified into flexibility, which is provided by the workflow type, and flexibility, which goes beyond the scope of the workflow type and has additionally to be provided by a workflow management system. We call this flexibility by selection and flexibility by adaption, respectively. We point out that the modeling process as a main aspect of flexibility by adaption has to be treated as a CSCW scenario. The classification leads to a structured overall concept for flexibility in workflow management applications.
Knowledge sharing, quality, and intermediation
Authors: Vishik Claire , Whinston Andrew B.
Published: July 2004

Informal publishing flourished in the World Wide Web environment, where every user with a sufficient level of access can become a publisher. Although it appears that in such an environment intermediation in the distribution and sharing of information becomes unnecessary, the uneven quality of information and resulting quality uncertainty of information users, together with the increased search efforts, represent a sufficient reason for information and knowledge intermediaries to preserve and even reinforce their roles. Large-scale efforts in knowledge management pursued by industry leaders highlight the need for "new" intermediation.The paper focuses on economic and business issues in the distribution and sharing of Internet based information and digital products. We address the inefficiency of the pure exchange model in "information markets" that is analyzed based on double coincidence of wants and the lack of discernment on the part of users (many of them occasional users) about the market and intrinsic value of informational and digital products. These inefficiencies can be remedied with the introduction of recognizable currencies, which do not have to be of monetary nature, and the situation can be further improved with intermediation. We conclude that "virtual communities" and intermediation are important in ameliorating the efficiency of the distribution of the electronic information and quality of informational goods. This point of view is supported by the success of the new Internet-based intermediaries, such as Yahoo.
SaveMe
Authors: Berchtold Stefan , Biliris Alexandros , Panagos Euthimios
Published: July 2004

Today, organizations deal with an ever-increasing number of documents that have to be archived because they are either related to their core business (e.g., product designs) or needed to meet corporate or legal retention requirements (e.g., voucher). In this paper, we present the architecture and prototype implementation of SaveMe, a document archival system that is based on network-centric groupware such as Internet standards-based messaging systems. In SaveMe, the actions of archiving, retrieving, and classifying documents are similar to the actions of sending, retrieving, and classifying email into folders. SaveMe leverages existing messaging infrastructures - the one common denominator sitting on every computer is email - and, thus, it does not require individual users and IT personnel to learn a new technology. The resulting environment is not intrusive, easier to administer, and a lot easier to deploy.
The state of academic hiring in computer science
Authors: Myers J. Paul , Walker Henry M.
Published: July 2004

This article reports the results of several surveys, which examine current conditions for hiring computing (CS, CIS) faculty. Specifically, the article takes a broad look at some statistics in the most recent Taulbee Survey [1, 2] and also reports on three surveys, conducted by the authors, utilizing the  mailing list. Each of these instruments gives only a limited picture, but their results seem consistent and point to a remarkable under supply of candidates. While people may speculate about the short-term consequences of this shortage, all results point to a long-term need to strongly encourage students to enter academia careers in computer science.