bluuebunny/crossref_metadata_2025 huggingface dataset:
Teaching students to build well formed object-oriented methods through refactoring
Authors: Stoecklin Sara , Smith Suzanne , Serino Catharina
Published: April 2007

Refactoring is the process of transforming the internal structure of existing code while keeping the integrity of the code's functional requirements. Refactoring is proven to increase program maintainability, flexibility, and understandability and is recognized as a best practice in the software development community. However, with the exception of courses or lectures on extreme programming, refactoring is overlooked in the computer science curriculum. This paper presents the fourth lesson of an innovative pedagogical approach to teaching refactoring on the college level. This lesson covers the creation of well formed object-oriented methods including characteristics for evaluating such methods. Through this hands-on approach, building well formed object-oriented methods through refactoring can be better understood and integrated into the computer science curriculum.
Algorithm visualization
Authors: Shaffer Clifford A. , Cooper Matthew , Edwards Stephen H.
Published: April 2007

We present our findings on the state of the field of algorithm visualization, based on extensive search and analysis of links to hundreds of visualizations. We seek to answer questions such as how content is distributed among topics, who created algorithm visualizations and when, the overall quality of available visualizations, and how visualizations are disseminated. We have built a wiki that currently catalogs over 350 algorithm visualizations, contains the beginnings of an annotated bibliography on algorithm visualization literature, and provides information about researchers and projects. Unfortunately, we found that most existing algorithm visualizations are of low quality, and the content coverage is skewed heavily toward easier topics. There are no effective repositories or organized collections of algorithm visualizations currently available. Thus, the field appears in need of improvement in dissemination of materials, informing potential developers about what is needed, and propagating known best practices for creating new visualizations.
Mindstorms without robotics
Authors: Klassner Frank , Continanza Christopher
Published: April 2007

This paper examines the applicability of LEGO Mindstorms to the intermediate-level computer science curriculum, which traditionally includes courses such as Computer Organization and Operating Systems. We describe three open-laboratory projects that employ Mindstorms in exploring systems-level programming topics and present results from student evaluations of the projects over the last two years. An interesting feature of the projects is that they do not involve robotics or robot construction but instead focus on the Mindstorms programmable brick as a platform in its own right.
Facilitated student discussions for evaluating teaching
Authors: Craig Michelle
Published: April 2007

Trying to improve undergraduate teaching based on feedback collected by traditional student course evaluations can be a frustrating experience. Unclear, contradictory and ill-informed student comments leave instructors confused and discouraged. We designed and then implemented an evaluation mechanism where an independent CS faculty peer visits a lecture and holds an evaluation discussion with the students. These facilitated discussions begin by looking at overall strengths and weaknesses for the course but quickly focus on the key student concerns and suggestions for improvement. After conducting thirty four facilitated discussions, we find them appreciated by students who feel heard and valued. A survey of participating faculty indicates that the written discussion report is more useful to them than standard student survey results. Faculty report that they have made changes based on the recommendations and limited quantitative data suggests that teaching has improved and its value in the departmental culture has increased. In this paper we describe the evaluation process, discuss our experiences and offer some concrete suggestions for those who might want to try this approach in their own department.
Readn', writ'n, 'rithmetic...and code'n
Authors: Booch Grady
Published: April 2007

In so many ways, software-intensive systems touch the lives of every individual, corporation, institution, nation, and contemporary civilization. Nonetheless, the gap between the technological haves and have-nots is growing and the gap between academia and the industries that create these software-intensive systems continues to be much lamented. I enter this presentation as one firmly planted in the pragmatic creation and evolution of such systems, and yet look outside industry for sources of state-changing innovation. In this talk, I'll examine the current state of software-intensive systems in the world, the forces that fall upon such systems and the people who develop, deploy, and operate them, and the means whereby we can keep the pipeline of innovation open and the academia/industry dialog vibrant. Along the way, I'll cover little-discussed topics including the moral dimension of software, the appreciation of beauty in software, and the privilege and responsibility of being a software developer.
An introduction to computer science for non-majors using principles of computation
Authors: Cortina Thomas J.
Published: April 2007

In this paper, the design and implementation of a novel introductory computer science course for non-majors is presented. This course focuses on the major contributions in computer science from the perspective of the process of computation. This course differs from most introductory courses in computer science in that it does not include programming using a computer programming language. Students focus on algorithms and the principle of computational thinking, and use a flowchart simulator to experiment with various short algorithms and build simple computer games without dealing with programming language syntax. Steadily increasing enrollments and interest from various departments on campus indicate that this course has become a successful addition to our introductory CS offerings.
Computer games as motivation for design patterns
Authors: Gestwicki Paul V.
Published: April 2007

We present a computer game case study that can be used to motivate the need for design patterns. Design patterns are often misunderstood, but good examples can motivate students to work at understanding patterns. Computer games are used in many books and online resources to teach programming concepts, but these examples are usually simplified or non-object-oriented. We present a simple game that exhibits functionality found in commercial games (animation, collision detection,
etc.
) and show how it can be used as a case study for design patterns. Specifically, we illustrate how the state, facade, observer, strategy, and visitor patterns can replace procedural approaches for implenting the logic and animation of game written in Java.
ACM-W's new programs for recruiting and retaining women in computing
Authors: Gabbert Paula , Owens Barbara Boucher , Bair Bettina , Stephenson Chris , Cohoon Joanne McGrath , Townsend Gloria Childress
Published: April 2007

This special session will provide an overview of the programs that ACM's executive committee on Women in Computing (ACM-W) coordinates for the recruitment and retention of women in computing. The overview will include projects in all areas of ACM-W with special focus on those projects impacting the educational environment.
A hands-on environment for teaching GPU programming
Authors: Bailey Mike , Cunningham Steve
Published: April 2007

GPU programming is fast becoming an essential skill for computer graphics students. It has immediate application in all areas of graphics including science, engineering, art, animation, and gaming. Because it is new, experience with teaching GPU programming is scarce. This paper describes the teaching of a GPU programming course with a hands-on program called
glman. glman
allows students to create a shader scene description file which not only creates the 3D scene, but creates an interactive user interface to adjust shader parameters. Our experience in an experimental class taught in Spring 2006 is that glman is flexible enough to donstrate and experiment with many shader concepts, and creates a fast and fun learning curve for the students.
Day one of the objects-first first course
Authors: Bergin Joe , Clancy Mike , Slater Don , Goldweber Michael , Levine David B.
Published: April 2007

What should you do on the first day of your objects-first CS1 course? If you have been struggling with beginning an objects first course this special session will give you hints about how to avoid overload and make a smooth and effective start. The presenters are skilled at introducing objects to novices in interesting ways that captures the interest of the students and readies them for programming. These are gentle approaches that present deep ideas to the inexperienced. How can a course be built around objects without information overload? This session will address the opening gambit in this interesting game.
Lightweight preliminary peer review
Authors: Denning Tamara , Kelly Michael , Lindquist David , Malani Roshni , Griswold William G. , Simon Beth
Published: April 2007

Peer review is widely recognized for advancing student learning, in particular for developing reflective processes like critical thinking. The classroom is ripe for peer review because the subject matter is fresh and in-depth interactivity is possible. Yet the limited time available in class conflicts with peer review's deliberative nature. We hypothesize that peer review -- at least the initial stages of it -- can be supported in the classroom with tools for facilitating the rapid identification of interesting issues for discussion. The potential benefits of such a tool include: furthering the student-focus of in-class active learning activities, further implanting critical analysis skills through frequent in-class use, supporting immediate feedback, and enabling comparison of student and instructor-modeled critical analysis.This paper explores tool support for in-class lightweight preliminary peer-review (LPPR): peer review that is instigated in the classroom, but does not necessarily end there. We proposed that students classify peer solutions in 4 dimensions: correctness, comprehension (e.g., "do I understand this solution"), worthiness for discussion, and similarity to the evaluator's own solution. We designed an LPPR extension to Ubiquitous Presenter, and then conducted an exploratory study in a mock classroom setting. We found that LPPR can quickly identify a subset of student solutions that warrant immediate discussion, and that modest amounts of reflection arise from the LPPR process.
Fourth grade computer science
Authors: Frost Daniel
Published: April 2007

We describe a module, or sequence of lessons, that has been successfully used to teach basic elements of computer science to fourth grade students. The module was designed to reflect a firm grounding in computer science, to be age-appropriate, to be easily installed in schools, and to support a range of teachers. Over 300 students in grades three through six have taken this module or a related module. The programming language used is a modern variant of Logo called VVLogo, which students access through a Java applet on a web page.
DrProject
Authors: Reid Karen L. , Wilson Gregory V.
Published: April 2007

DrProject is a web-based software project management portal that integrates revision control, issue tracking, mailing lists, a wiki, and other features. Unlike other such systems, DrProject is specifically tailored to the needs of undergraduate teaching and team programming assignments. We describe the pedagogical motivations for DrProject and our experiences with it to date.
An integrated approach to project management through classic CS III and video game development
Authors: Wolz Ursula , Pulimood Sarah Monisha
Published: April 2007

We describe how project management and team communication skills are taught and practiced in two experiences. Our CS III course provides a formal introduction and practice in homogenous small group settings. Our new multidisciplinary yearlong video game course provides extensive practice of these skills through the development of a single deliverable (a video game) produced by a large team (an entire class of approximately 20 students). This model can be extended to other institutions very easily.
Weaving CS into CS1
Authors: Murtagh Thomas P.
Published: April 2007

We describe a new introductory course based on an unusual approach to the development of a breadth-first curriculum. The course focuses on exploring examples that illustrate a broad collection of the facets of computer science, but it draws all of these examples from a single subfield, computer networks. We demonstrate how this approach provides a more coherent educational experience for students while emphasizing the essentials that tie all of the fields of our discipline together.
A multidisciplinary bioinformatics minor
Authors: Bruhn Russel , Jennings Steven F.
Published: April 2007

Our multidisciplinary approach to a Bioinformatics Minor at the University of Arkansas at Little Rock (UALR) allows students from Information Science, Computer Science, and Biology programs to participate in the growing field of bioinformatics. Two separate tracks allow students to complent the skills that they learn in their majors with skills in either information science or the life sciences. This eighteen credit hour minor begins with all students enrolling in an
Introduction to Bioinformatics
course that is followed by eleven credit hours of complentary courses. Then, in a final, senior level, survey format
Bioinformatics Theory
and
Applications
course, they once again converge to apply their training to a sester-long, multidisciplinary team project. This minor allows students to choose a wide array of careers in the medical and health sciences fields and in the analysis of biological data. It is also an ideal program to prepare the students for graduate programs in bioinformatics.
Alice Frenzy
Authors: Caristi James , Cooper Stephen , Mullins Judy
Published: April 2007

Participants will be given 15 minutes of instruction on programming in Alice. Then, working in small groups, participants will attempt to develop a program in 30 minutes from one of several given starting scenarios.
Gender difference trends in computer literacy of first-year students
Authors: Hoffman Mark E. , Vance David R.
Published: April 2007

We administered a computer literacy survey of our incoming, first-year students for the past three years. Our purpose was not to measure application skill levels, but to understand students' perception of their own skills, to identify from whom they learned how to perform a set of technology tasks, and to understand how access to different Internet connection types affects perception and the sources of student technology learning. Over the years, fale, first-year students have increased to parity in self-reported skill levels over the set of technology tasks, and report significantly higher skill levels on communications-oriented tasks. Males report significantly higher skill levels on technology-oriented tasks. Our results suggest that adoption of DSL Internet connections by fales is contributing to the improvent.
τεΧνη
Authors: Davis Timothy , Geist Robert , Matzko Sarah , Westall James
Published: April 2007

The τεΧνη project, which provides an unusual alternative to the standard design of the computing curriculum for the bachelor's degree in computer science, is now entering full-scale implementation at Clemson University. The approach relies extensively on problem-based instruction, computer graphics, and the notion of cognitive apprenticeship. The novelty arises from the magnitude and origin of the problems to be integrated into the curriculum and the breadth of impact across the curriculum. The first three courses in the new curriculum are now being taught. The design of each course is described, and preliminary assessments from earlier trial sessions of the first two courses are offered.
Visualizing trends in student performance across computer science courses
Authors: Wortman Dana , Rheingans Penny
Published: April 2007

Student retention is an important topic in Computer Science departments across the country. Keeping strong students and helping struggling students perform better are two fundamental components of improving retention. Isolating the cause(s) of students leaving the major is an important area of research. We endeavor to explore this problem using a visualization tool to probe student data within the beginning course sequence in Computer Science. We would like to see what patterns exist amongst students, focusing on success, failure, and repetition patterns throughout the first three courses. Identifying these patterns can help isolate some of the causes of decreased retention within the department, allowing us to address individual projects, courses, or exams that may be causing students exceptional difficulty or loss of interest. Due to the large amount of data and the variety of students' paths through their courses, it is essential that a visualization be developed to represent the data. Using graph layouts, parallel coordinates, color-mapping, and interactive selection, users can explore and query the data. Users can discover patterns within the data by selecting subgroups of students and examining the event sequences to find patterns of success, failure, and repetition amongst those students. Departments can use this information to isolate profiles of students for retention, remediation, and recruitment efforts as well as identify areas of the curriculum or instruction that can be improved.
Note to self
Authors: Layman Lucas , Williams Laurie , Slaten Kelli
Published: April 2007

In addition to "learning by doing," programming assignments and projects are also the mechanism by which students learn about the utility of computer science -- or not. Recent research indicates that the current generation of students is in search of a career with meaning, and women and minorities have long been known to desire careers that help society. In this paper, we provide student testimonials on the importance and benefits of practical and socially-relevant assignments. We then examined approximately 200 first year (CS1) and software engineering assignments at top computer science institutions. Only 34% of the CS1 projects had a practical or socially-relevant context, 41% had no context at all, and 15% were games. For software engineering projects, 62% were practical or socially-relevant, but still 16% had no practical context. We recommend that educators, through their assignments, place increased emphasis on demonstrating that computer science can be used to aid society and/or produce products of practical value to society.
SEED
Authors: Du Wenliang , Teng Zhouxuan , Wang Ronghua
Published: April 2007

To provide students with hands-on exercises in computer security education, we have developed a laboratory environment (SEED) for computer security education. It is based on VMware, Minix, and linux, all of which are free for educational uses. Based on this environment, we have developed ten labs, covering a wide range of security principles. We have used these labs in our three courses in the last four years. This paper presents our SEED lab environment, SEED labs, and our evaluation results.
Resurrecting the applet paradigm
Authors: Roberts Eric
Published: April 2007

Since the introduction of Java in 1995, educators have recognized the potential of Java applets as an educational resource. Sadly, the continuing evolution of Java has made it harder to use applets, largely because it is so difficult to keep those applets compatible with the many different versions of the Java runtime environment supported by existing browsers. Over the past two years, the ACM Java Task Force (JTF) has developed an effective strategy that makes it possible to write applets using up-to-date versions of Java that will nonetheless run on browsers that support only the JDK 1.1 environment. This paper describes the acm11.jar library, which uses this strategy to achieve the desired backward compatibility. It also describes a more general solution strategy for which we have a prototype, although we are unable to release the prototype until we get permission from Sun Microsystems. The acm11.jar library can be used with any Java applet and does not depend on adopting the JTF library packages. That library therefore represents a general resource for teachers and students who want to write Java code that runs in web environments.
Programming studio
Authors: Woodley Michael , Kamin Samuel N.
Published: April 2007

Even after taking numerous programming courses, many students have poor programming skills. This is a problem not only in their post-graduation employment, but even in the higher-level Computer Science courses, where large programs are routinely assigned. Yet, teaching programming skills is expensive; like teaching writing, it can only be accomplished by a repeated cycle of writing, getting informed feedback, and rewriting. In this paper, we describe a computer science course designed around the concept of a studio course like those used in art and architecture. Its key elements are practice, public presentation, and review by peers in a small group. We discuss our experience in teaching the course for two years. We believe this course can be replicated and taught, at reasonable cost, even in large CS departments.
SimpleDB
Authors: Sciore Edward
Published: April 2007

In this paper we examine the probl of how to give hands-on assignments in a database syst internals course. We argue that current approaches are inadequate, either because they are not sufficiently comprehensive or because they require using software that has a steep learning curve. We then describe
SimpleDB
, which is software written expressly for such a course. SimpleDB is a database syst in the spirit of Minibase. Unlike Minibase, however, it supports multiple users and transactions via JDBC, and its code is easy to read and modify. We then describe a course that we teach using SimpleDB, and discuss the educational benefits resulting from it.
An easy to use distributed computing framework
Authors: Pheatt Chuck
Published: April 2007

This paper introduces a client-server suite, which provides a readily configurable and simple to use network distributed computing framework. The suite will allow users to easily operate a distributed computing environment and solve real probls with a hybrid peer-to-peer (P2P) grid. This tool is most useful in a pedagogical setting such as an introductory computing course or as an adjunct to a computationally intensive course that addresses parallel computing issues.
The development and deployment of a multi-user, remote access virtualization system for networking, security, and system administration classes
Authors: Border Charles
Published: April 2007

We have combined four industry standard technologies to create a flexible, modular and easily extensible virtual server environment for both distance and local students to use in our networking, security, and system administration classes. By combining the remote access technologies of Remote Desktop, the multi-user capabilities of Microsoft Terminal Services, the ability to share sessions of Remote Assistance, and the ability to manipulate virtual machines and virtual networks using VMWare Workstation, the Remote Laboratory Emulation System (RLES) allows students to conduct labs very similar to our local labs from either inside or outside our lab facility. While other people have been experimenting with various combinations of these technologies we have aggressively developed and implemented this system and feel that it has become a very important tool in our ability to cost-effectively provide computing infrastructure for local and distant students, and student and faculty research.
Dynamic data reallocation in disk arrays
Authors: Arnan Ron , Bachmat Eitan , Lam Tao Kai , Michel Ruben
Published: April 2007

We present an application which optimizes the configuration of data in a disk array. The application relies on very little input data which is readily available from many storage devices. We validate the application in a controlled experiment and in a production environment. In both cases, the reconfiguration process led to a 20--30% improvement in response time.
SLAS
Authors: Zhang Guangyan , Shu Jiwu , Xue Wei , Zheng Weimin
Published: April 2007

Round-robin striping, due to its uniform distribution and low-complexity computation, is widely used by applications which demand high bandwidth and massive storage. Because many systems are nonstoppable when their storage capacity and I/O bandwidth need increasing, an efficient and online mechanism to add more disks to striped volumes is very important. In this article, it is presented and proved that during data redistribution caused by scaling a round-robin striped volume, there is always a reordering window where data consistency can be maintained while changing the order of data movements. Furthermore, by exploiting the reordering window characteristic, SLAS is proposed to scale round-robin striped volumes, which reduces the cost of data redistribution effectively. First, SLAS applies a new mapping management solution based on a sliding window to support data redistribution without loss of scalability; second, it uses lazy updates of mapping metadata to decrease the number of metadata writes required by data redistribution; third, it changes the order of data chunk movements to aggregate reads/writes of data chunks. Our results from detailed simulations using real-system workloads show that, compared with the traditional approach, SLAS can reduce redistribution duration by up to 40.79% with similar maximum response time of foreground I/Os. Finally, our discussion indicates that the SLAS approach works for both disk addition and disk removal to/from striped volumes.
The ADO.NET entity framework
Authors: Blakeley José A. , Campbell David , Muralidhar S. , Nori Anil
Published: April 2007

This paper describes the ADO.NET Entity Framework, a platform for programming against data that raises the level of abstraction from the logical (relational) level to the conceptual (entity) level, and thereby significantly reduces the impedance mismatch for applications and data services such as reporting, analysis, and replication. The conceptual data model is made real by a runtime that implements an extended relational model (the Entity Data Model aka the EDM), that embraces entities and relationships as first class concepts; a query language for the EDM; a comprehensive mapping engine that translates from the conceptual to the logical (relational) level, and a set of model-driven tools that help create entity-object, object-xml, and entity-xml transformers.
Report on the Second International Workshop on Data Management on Modern Hardware (DaMoN'06)
Authors: Ailamaki Anastassia , Boncz Peter , Manegold Stefan
Published: April 2007

This report summarizes the presentations and discussions that occurred during the Second International Workshop on Data Management on Modern Hardware (DaMoN). DaMoN was held in Chicago on June 25th, 2006, and was collocated with ACM SIGMOD 2006. The aim of this one-day workshop is to bring together researchers interested in optimizing database performance on modern computing infrastructure by designing new data management techniques and tools.
A report on the Eighth ACM International Workshop on Data Warehousing and OLAP (DOLAP'05)
Authors: Trujillo Juan , Song Il-Yeol
Published: April 2007

Research in data warehousing and OLAP has produced important technologies for the design, management and use of information systems for decision support. Much of the interest and success in this area can be attributed to the need for software and tools to improve data management and analysis given the large amounts of information that are being accumulated in corporate as well as scientific databases. However, in spite of the maturity of these technologies, new data needs or applications currently run at companies not only demand more capacity, but also new methods, models, techniques or architectures to satisfy these new needs.
Report on the Models of Trust for the Web workshop (MTW'06)
Authors: Finin Tim , Kagal Lalana , Olmedilla Daniel
Published: April 2007

We live in a time when millions of people are adding information to the Web through a growing collection of tools and platforms. Ordinary citizens publish all kinds of content on Web pages, blogs, wikis, podcasts, vlogs, message boards, shared spreadsheets, and new publishing forums that seem to appear almost monthly. As it becomes easier for people to add information to the Web, it is more difficult, and also more important, to distinguish reliable information and sources from those that are not.
Program director's column
Authors: Fleisch Brett D.
Published: April 2007

Jim Cramer's Mad Money program on CNBC points out rules to invest by which are prudent when managing and investing in the stock market. Creating a portfolio of investments is not necessarily an easy thing. Even more long term, being a manager of a research portfolio means knowing how and where to make investments, having a competent set of reviewers to assess those investments, determining what investments are likely to be of value to the community, determining the next generation leading computer scientists and achieving the best reward for the community by a modest investment of $9M to 10Million dollars (which is what I have to work with). NSF invests in people, ideas, and tools proposed by our community. A Program Director is in essence a technical manager of a portfolio of investments; it is hard to gear the "payoff" to the community when one is a good NSF portfolio manager because there is no day-to-day stock price to determine how well the portfolio is doing. In fact, while I have been at NSF we have about the same amount of investment funds for the Parallel and Distributed Operating Systems (PDOS) community. But yes, there is a yearly report and there are nuggets. The yearly report provides a nice indication of research accomplishments, impact, and publication output; let's focus on nuggets however.
Recovering transient data
Authors: Vazhkudai Sudharshan , Ma Xiaosong
Published: April 2007

It has become a national priority to build and use PetaFlop supercomputers. The dependability of such large systems has been recognized as a key issue that can impact their usability. Even with smaller, existing machines, failures are the norm rather than an exception. Research has shown that storage systems are the primary source of faults leading to supercomputer unavailability. In this paper, we envision two mechanisms, namely
on-demand data reconstruction
and
eager data offloading
, to address the availability of job input/output data. These two techniques aim to allow parallel jobs and post-job processing tools to continue execution despite storage system failures in supercomputers. Fundamental to both approaches is the definition and acquisition of recovery-related parallel file system metadata, which is then coupled with transparent remote data accesses. Our approach attempts to maximize the utilization of precious supercomputer resources by improving the accessibility of
transient
job data. Further, the proposed methods are best-effort in nature and complement existing file system recovery schemes, which are designed for persistent data. Several of our previous studies help in demonstrating the feasibility of the proposed approaches.
Implementation of a Linux log-structured file system with a garbage collector
Authors: Jambor Martin , Hruby Tomas , Taus Jan , Krchak Kuba , Holub Viliam
Published: April 2007

In many workloads, most write operations performed on a file system modify only a small number of blocks. The log-structured file system was designed for such a workload, additionally with the aim of fast crash recovery and system snapshots. Surprisingly, although implemented for Berkeley Sprite and BSD systems, there was no complete implementation for the current Linux kernel. In this paper, we present a complete implementation of the log-structured file system for the Linux kernel, which includes a user-space garbage collector and additional tools. We evaluate the measurements obtained in several test cases and compare the results with widely-used ext3.
Should disks be speed demons or brainiacs?
Authors: Gurumurthi Sudhanva
Published: April 2007

Disk drives play a critical role on the performance of I/O intensive applications. Over the years, disk drive performance has grown as a result of advances in magnetic recording density and faster rotational speeds. In essence, the performance driver in disks has been the data rate. In this paper, we show that data rate is going to be increasingly difficult to optimize, due to power/thermal constraints. We argue that disk drive designers should instead focus their efforts on providing more computational capabilities that data intensive applications could leverage in order to boost performance. We also discuss the scope for provisioning powerful processors inside disk drives to provide these computational capabilities.
Reliability tradeoffs in personal storage systems
Authors: Chandy John A. , Narayan Sumit
Published: April 2007

RAID has long been established as an effective way to provide highly reliable disk subsystems. However, reliability in RAID systems comes at the cost of extra disks and somewhat lower performance. In this paper, we examine some mechanisms to reduce this cost in the context of integration with backup processes. These methods are most useful in storage systems where complete data protection or availability is not necessary such as in desktop personal computers, laptops, and other mobile storage devices. We will in particular investigate strategies with disk and flash that trade off between availability and reliability, snapshotting tradeoffs of reliability between time and space, and user directed redundancy.
Complete delete vs. time machine computing
Authors: Garfinkel Simson L.
Published: April 2007

Users are increasingly demanding two contradictory system properties - the ability to absolutely, positively erase information so that it cannot be recovered, and the ability to recover information that was inadvertently or intentionally altered or deleted. Storage system designers now need to resolve the tension between
complete delete
and
time machine computing
.
CS 736 project highlights from U. Wisconsin
Authors: Arpaci-Dusseau Remzi H.
Published: April 2007

Welcome! I found myself quite excited at this opportunity to wax poetic (
i.e.
, drone on and on) about class projects here at the University of Wisconsin, Madison. Why, you ask? Or perhaps you have already stopped reading. For the simple reason that while one so often gets a chance to describe research (in papers, grants, talks, and late-night discussions with one's spouse), there are seemingly so few times where one can present pedagogical material.
Adding parity to the Linux ext3 file system
Authors: Apte Himani , Rungta Meenali
Published: April 2007

Modern disks no longer operate in a simple "fail-stop" manner, yet commodity operating systems assume they do. We design and implement a parity based approach to improve the robustness of journaling file systems. We modify the existing ext3 file system for data and ordered journaling modes to incorporate parity and call it the "Parity File System". Using PFS, we are able to recover from a single latent sector error or silent block corruption within a given file. We show that the performance overhead for PFS compared to ext3 is minimal while the robustness is significantly improved.
An empirical study of the robustness of MacOS applications using random testing
Authors: Miller Barton P. , Cooksey Gregory , Moore Fredrick
Published: April 2007

We report on the fourth in a series of studies on the reliability of application programs in the face of random input. Over the previous 15 years, we have studied the reliability of UNIX command line and X-Window based (GUI) applications and Windows applications. In this study, we apply our fuzz testing techniques to applications running on the Mac OS X operating system. We continue to use a simple, or even simplistic technique: unstructured black-box random testing, considering a failure to be a crash or hang. As in the previous three studies, the technique is crude but seems to be effective in locating bugs in real programs.We tested the reliability of 135 command-line UNIX utilities and thirty graphical applications on Mac OS X by feeding random input to each. We report on application failures - crashes (dumps core) or hangs (loops indefinitely) - and, where source code is available, we identify the causes of these failures and categorize them.Our testing crashed only 7% of the command-line utilities, a considerably lower rate of failure than observed in almost all cases of previous studies. We found the GUI-based applications to be less reliable: of the thirty that we tested, only eight did not crash or hang. Twenty others crashed, and two hung. These GUI results were noticeably worse than either of the previous Windows (Win32) or UNIX (X-Windows) studies.
What keeps online customers repurchasing through the internet?
Authors: Atchariyachanvanich Kanokwan , Okada Hitoshi , Sonehara Noboru
Published: April 2007

Factors affecting the intention of purchasing online have been investigated for many years. On the other hand, the question of what keeps online customers repurchasing through the Internet has rarely been examined. By expanding the existing customer satisfaction/continuance model based on the expectation-confirmation model, this study aims to provide a theoretical model that can support technical, business, and consumer issues involved in online repurchasing. The results of an online questionnaire of 1,215 Japanese online customers pointed out that not only basic factors of confirmation, satisfaction, perceived usefulness, and perceived incentives, but a new factor, customer loyalty, are factors significantly influencing the online customers' intention to repeat purchase through the Internet. This study sheds light on the development of online incentive technology and the means of enhancing customer loyalty to promote online repurchasing.
Forth & small systems report
Authors: Frenger Paul
Published: April 2007

This column begins a multipart series describing various projects in which I was involved, which for one reason or another, did not live up to their full potential. They are reviewed here in the hope that these exemplars may help others to avoid the traps and pitfalls which have ensnared the author during his career. Most are "small systems", or subsystems of other projects; many involve the Forth programming language.
Goodness criteria for programming language grammar rules
Authors: Dubey Alpana
Published: April 2007

The grammar of a programming language is important as it is used in developing software engineering tools. Sometimes grammars of programming languages are not readily available or they are incomplete; hence they are inferred from a set of valid programs. An exact grammar can not be learned from a set of positive samples (set of valid programs) alone as there exists many grammars which accept the given input programs; we call these grammars complete grammars. Therefore, given an incomplete grammar, there exists many sets of grammar rules which can make it complete. Due to many possible sets of grammar rules, the grammar inference process faces the problem of selecting a good set of grammar rules. We address the problem of grammar rule selection when they are inferred using an automatic are traditionally used for assessing the complexity of grammar based software. The experiments show that the grammar based metrics are not sufficient for this purpose as there exist several rules which have the same metric value. Hence we propose two rule selection criteria. Experiments are done to assess different criteria. Experiments show that proposed criteria, when coupled with grammar metrics, select reasonably good grammar rules.
Genetic algorithm plays a role in municipal water systems
Authors: Wu Zheng Yi
Published: April 2007

Tap water has been taken for granted as a daily resource for many people, but it may not be well known that genetic algorithm optimization has been playing an important role in managing and operating municipal drinking water systems by means of hydraulic and water quality models. Computer models have been built for analyzing water distribution systems since the mid-1960s. The models have become important tools for engineers to simulate various system scenarios. More recently, water quality models have been a critical means for conducting distribution system evaluation studies in order for water companies to comply with USA EPA's latest water quality regulations. However, before hydraulic and water quality models can be used for analysis and operational study of a real system, a model must be able to accurately predict what happens in a real system. The accuracy of modeling results is dependent on a set of model parameters that must be optimized for each water system. Parameter optimization is often referred to as model calibration, that is to minimize the difference between the simulated values and the field observed values. Model calibration is a vitally important process, but a time consuming task.
APIs with an Appetite
Authors: Neville-Neil George
Published: April 2007

Dear KV, This may sound funny to you, but one of my co-workers recently called one of my designs fat. My project is to define a set of database APIs that will be used by all kinds of different front-end Web services to store and retrieve data. The problem is that a one-size-fits-all approach can’t work because each customer of the system has different needs. Some are storing images, some are storing text, sound, video, and just about anything else you can imagine. In the current design each type of data has its own specific set of APIs to store, search, retrieve, and manipulate its own type of data. If I constrain the API too much, then some group won’t be able to use it and will build its own local API. That means we will lose the advantages of having a central store for all different types of data. As it stands now, there are about 500 different API calls in the library. Is that too fat?
A Conversation with Cullen Jennings and Doug Wadkins
Authors: Stanik John
Published: April 2007

In our interview this month, Cisco Systems’ Cullen Jennings offers this call to arms for SIP (Session Initiation Protocol): "The vendors need to get on with implementing the standards that are made, and the standards guys need to hurry up and finish their standards." And he would know. Jennings has spent his career both helping define IP telephony standards and developing products based on them. As a Distinguished Engineer in Cisco’s Voice Technology Group, Jennings’s current work focuses on VoIP, conferencing, security, and firewall and NAT traversal. His primary responsibility is setting the direction of the technology that will make up the next generation of Cisco’s voice products, especially those concerned with conferencing, presence, and rich media systems.
SIP: Basics and Beyond
Authors: Sparks Robert
Published: April 2007

Chances are you’re already using SIP (Session Initiation Protocol). It is one of the key innovations driving the current evolution of communications systems. Its first major use has been signaling in Internet telephony. Large carriers have been using SIP inside their networks for interconnect and trunking across long distances for several years. If you’ve made a long-distance call, part of that call probably used SIP.
Review of “Essential Software Architecture by Ian Gorton”, Springer-Verlag New York Inc., Secaucus, NJ, 2006, $59.95, ISBN: 3540287132
Authors: Bhattacharya Shantanu
Published: April 2007

Review of “Essential Software Architecture by Ian Gorton”, Springer-Verlag New York Inc., Secaucus, NJ, 2006, $59.95, ISBN: 3540287132
Review of “The Geek Gap: Why Business and Technology Professionals Don’t Understand Each Other and Why They Need Each Other to Survive by Bill Pfleging, Minda Zetlin”, Prometheus Books, 2006, $25.00, ISBN: 1591024153
Authors: Goodman Brian D.
Published: April 2007

Review of “The Geek Gap: Why Business and Technology Professionals Don’t Understand Each Other and Why They Need Each Other to Survive by Bill Pfleging, Minda Zetlin”, Prometheus Books, 2006, $25.00, ISBN: 1591024153
Calendar
Authors: Stanik John
Published: April 2007

DAMA International Symposium and Wilshire Meta-Data Conference
As Big as a Barn?
Authors: Kelly-Bootle Stan
Published: April 2007

The Texas rancher is trying to impress the English farmer with the size of his property. "I can drive out at dawn across my land, and by sundown I still haven’t reached my ranch’s borders." The Englishman nods sympathetically and says, "Yes, yes, I know what you mean. I have a car like that, too."
Reinventing the PC
Authors: Rowell Laurie
Published: April 2007

The innovative "$100 laptop" may force us to reassess what computers can do, especially as regards education and learning
Is abstraction the key to computing?
Authors: Kramer Jeff
Published: April 2007

Why is it that some software engineers and computer scientists are able to produce clear, elegant designs and programs, while others cannot? Is it possible to improve these skills through education and training? Critical to these questions is the notion of abstraction.
Consumer support systems
Authors: Orman Levent V.
Published: April 2007

The interaction between businesses and their customers is ripe for the next leap, and it will require a collection of technologies to build new organizational structures such as demand chains, task-based intermediaries, and consumer communities.
Investigating value-based decision bias and mediation
Authors: Hall Dianne J. , Paradice David
Published: April 2007

Individual perspectives reflect one's innate value structure and have direct bearing on how one examines problems, classifies information, and makes decisions. The results of this study indicate that when an information system forces decision makers to consider the perspectives of others, their own performance deviates from their personal set of values.
Hiding data, forensics, and anti-forensics
Authors: Berghel Hal
Published: April 2007

Delving into the digital warrens for concealing data.
Cad needs for analog IC design
Authors: Shaw Charles A.
Published: April 2007

The development of CAD tools for Integrated Circuit engineers designing digitial circuits is much more advanced than that of tools for analog circuit design. This paper discusses specific analog needs in modeling and simulation, layout and verification, and test development. The advent of mixed analog and digital ICs, sometimes combining bipolar and MOS processes on the same chip increases the need for CAD improvements. The need for better MOS models is stressed, including the need for mismatch and temperature differential analyses. Simulators with better analog functionality, layout tools which recognize thermal and stray coupling effects, and better test programming tools are also needed.
The implementation of a digital filter bank
Authors: Lin Haiyan
Published: April 2007

A review of the VLSI implementation methodology for real-time digital signal processing, particularly for a digital filter bank design, is presented in this paper. The emphasis is placed on exploiting multilevel parallelisms in the computation algorithm and implementation conditions. Some of the parallel processing techniques for maximum efficiency based on VLSI multiprocessor implementation are discussed. A special purpose systolic array architecture for a second-order recursive digital filter module is developed.