1858523
Does Requiring Students to Produce Alternative Solutions Promote a High Quality of Software Design
17667421
Assessing undergraduate experience of continuous integration and test-driven development
A number of agile practices are included in software engineering curricula, including test-driven development. Continuous integration often is not included, despite it becoming increasingly common in industry to code, test, and integrate at the same time. This paper describes a study whereby software engineering undergraduates were given a short intensive experience of test-driven development with continuous integration using an environment that imitated a typical industrial circumstance. Assessment was made of students' agile experience rather than of project deliverables, using a novel set of process measures that examined students' participation and performance in agile testing. Results showed good participation by student pairs, and clear understanding of agile processes and configuration management. Future work will investigate automation of the assessment of continuous integration and configuration management server data.
28448708
The Design of a Pretty-printing Library
In this chapter we have considered the design of combinator libraries. We saw how studying the algebraic properties of the combinators desired can both help to suggest natural choices of representation, and guide the implementation of the operators. We saw several examples — lists, monads, and a pretty-printing library. For this kind of program development we need a language with higher-order functions and lazy evaluation, for which equational reasoning is valid; in other words, Haskell is ideally suited.
15620342
Autocalibration for virtual environments tracking hardware
We describe two instances in which precise mechanical calibration of virtual environments equipment has been replaced by automated algorithmic calibration through software that encapsulates the hardware design and uses a goal-based approach to adjust calibration parameters. We describe a back-projection system for adjusting the assumed locations of beacons in a head-mounted display tracking system; the calculated errors in the navigation system are used to compute adjustments to the beacon positions to reduce such errors. In a second application, a piggyback headtracking/hand-tracking system is calibrated by a similar reduction of computed errors.
42315632
Volume warping
Volume warping, a technique for deforming sampled volumetric data using B-splines that is related to image warping and to the free-form deformations of T.W. Sederberg and S.R. Parry (1986) and S. Coquillart (1990), is presented. The process is accelerated to near-real-time speed, and the compromises that are made to effect such speeds are explained. This technique expands the repertoire of volumetric modeling techniques and can be applied to any form of volumetric data.<<ETX>>
6699728
Art-based rendering with continuous levels of detail
In previous work [6], we presented an algorithm for rendering virtual scenes using art-based styles. We demonstrated the ability to render fur, grass, and trees in a stylized manner that evoked the complexity of these textures without representing all their components explicitly. We achieved this with stroke-based procedural textures that generated detail elements, or graftals, just as needed. Our implementation had several drawbacks. First, each new graftal texture required a procedural implementation that included writing code. Also, graftals were regenerated in each frame in a way that led to excessive introduction and elimination of graftals even for small changes in camera parameters. Lastly, our system provided no way to continuously vary the properties of graftals, including color, size, or stroke width. Such an ability could be used to achieve better frame-to-frame coherence, or more generally to animate graftals. In this paper, we present a new framework for graftal textures that addresses these issues. Our new framework allows all major decisions about graftal look and behavior to be specified in a text file that can be edited by a designer. We have achieved greater frameto-frame coherence by using graftals that remain in fixed positions on the model surface. The look and behavior of graftals as they appear or disappear can now be animated to create smooth transitions. Finally, we introduce the concept of tufts which manage the multiresolution behavior of graftals according to the specifications of the scene designer.
2239491
Voice as sound: using non-verbal voice input for interactive control
We describe the use of non-verbal features in voice for direct control of interactive applications. Traditional speech recognition interfaces are based on an indirect, conversational model. First the user gives a direction and then the system performs certain operation. Our goal is to achieve more direct, immediate interaction like using a button or joystick by using lower-level features of voice such as pitch and volume. We are developing several prototype interaction techniques based on this idea, such as "control by continuous voice", "rate-based parameter control by pitch," and "discrete parameter control by tonguing." We have implemented several prototype systems, and they suggest that voice-as-sound techniques can enhance traditional voice recognition approach.