bluuebunny/crossref_metadata_2025 huggingface dataset:
Predictive log-synchronization
Authors: Shalev Ori , Shavit Nir
Published: April 2007

This paper proposes
predictive log-synchronization
, an alternative paradigm to the software transactional memory approach for simplifying the design of concurrent data structures. Predictive log-synchronization simplifies concurrent programming and program verification by requiring programmers to write only specialized
sequential code
. This sequential code is then automatically transformed into a
non-blocking
concurrent program in which threads coordinate all data structure operations via a shared lock-controlled
log
. The non-blocking progress property is achieved by having threads that fail to acquire the lock
predict
the outcome of their operations by reading the log and state and computing the effect of these operations without modifying the actual data structure.Log-synchronization is founded on the belief (at this point unsubstantiated by statistical data) that in many concurrent data structures used in real-world applications, the ratio of high level operations that modify the structure to ones that simply read it, greatly favors read-only operations, and what's more, that many natural data structures have inherent sequential bottlenecks limiting the concurrency among operations that modify the structure. It follows that delegating all data structure modifications to a single lock-controlled thread at a time will not significantly harm the throughput of modifying operations. Moreover, as we show, it can boost read-only throughput by significantly reducing the overhead of coordination among concurrent operations, and provides a way to simplify concurrent data structures.Initial experimental testing using a Java-based implementation of predictive log-synchronization showed that a log-synchronized concurrent red-black tree is up to five times faster than a simple lock-based one. This paper presents our current understanding of the advantages, drawbacks, and scope of predictive log-synchronization.
Ferret
Authors: Lv Qin , Josephson William , Wang Zhe , Charikar Moses , Li Kai
Published: April 2007

Building content-based search tools for feature-rich data has been a challenging problem because feature-rich data such as audio recordings, digital images, and sensor data are inherently noisy and high dimensional. Comparing noisy data requires comparisons based on similarity instead of exact matches, and thus searching for noisy data requires similarity search instead of exact search.The Ferret toolkit is designed to help system builders quickly construct content-based similarity search systems for feature-rich data types. The key component of the toolkit is a content-based similarity search engine for generic, multi-feature object representations. To solve the similarity search problem in high-dimensional spaces, we have developed approximation methods inspired by recent theoretical results on dimension reduction. The search engine constructs sketches from feature vectors as highly compact data structures for matching, filtering and ranking data objects. The toolkit also includes several other components to help system builders address search system infrastructure issues. We have implemented the toolkit and used it to successfully construct content-based similarity search systems for four data types: audio recordings, digital photos, 3D shape models and genomic microarray data.
URICA
Authors: Mohomed Iqbal , Cai Jim Chengming , de Lara Eyal
Published: April 2007

Usage-awaRe Interactive Content Adaptation (URICA) is an automatic technique that adapts content for display on mobile devices based on usage semantics. URICA allows users who are unsatisfied with the system's adaptation decision to take control of the adaptation process and make changes until the content is suitably adapted for their purposes. The successful adaptation is recorded and used in making future adaptation decisions. To validate URICA, we implemented a prototype system called Chameleon that performs fidelity adaptation on web images. We conducted a user study in which participants used Chameleon to browse image-rich web pages on bandwidth-limited cellular links and used the collected traces to evaluate our system. We show that Chameleon reduces the latency for browsing web content by up to 65% and reduces bandwidth consumption by up to 80%. Chameleon also allows users to exchange bandwidth consumption for user interaction based on their personal preferences.
Peer sharing behaviour in the eDonkey network, and implications for the design of server-less file sharing systems
Authors: Handurukande S. B. , Kermarrec A.-M. , Le Fessant F. , Massoulié L. , Patarin S.
Published: April 2007

In this paper we present an empirical study of a workload gathered by crawling the eDonkey network --- a dominant peer-to-peer file sharing system --- for over 50 days.We first confirm the presence of some known features, in particular the prevalence of free-riding and the Zipf-like distribution of file popularity. We also analyze the evolution of document popularity.We then provide an in-depth analysis of several
clustering
properties of such workloads. We measure the
geographical
clustering of peers offering a given file. We find that most files are offered mostly by peers of a single country, although popular files don't have such a clear
home country
.We then analyze the overlap between contents offered by different peers. We find that peer contents are highly clustered according to several metrics of interest.We propose to leverage this property by allowing peers to search for content without server support, by querying suitably identified
semantic neighbours
. We find via trace-driven simulations that this approach is generally effective, and is even more effective for rare files. If we further allow peers to query both their semantic neighbours, and in turn their neighbours' neighbours, we attain hit rates as high as over 55% for neighbour lists of size 20.
Balancing power consumption in multiprocessor systems
Authors: Merkel Andreas , Bellosa Frank
Published: April 2007

Actions usually taken to prevent processors from overheating, such as decreasing the frequency or stopping the execution flow, also degrade performance. Multiprocessor systems, however, offer the possibility of moving the task that caused a CPU to overheat away to some other, cooler CPU, so throttling becomes only a last resort taken if all of a system's processors are hot. Additionally, the scheduler can take advantage of the energy characteristics of individual tasks, and distribute hot tasks as well as cool tasks evenly among all CPUs.This work presents a mechanism for determining the energy characteristics of tasks by means of event monitoring counters, and an energy-aware scheduling policy that strives to assign tasks to CPUs in a way that avoids overheating individual CPUs. Our evaluations show that the benefit of avoiding throttling outweighs the overhead of additional task migrations, and that energy-aware scheduling in many cases increases the system's throughput.
Segmenting object space by geometric reference structures
Authors: Agarwal Pankaj K. , Brady David , Matoušek Jiří
Published: April 2007

A model for segmentation of an object space by an array of binary, radiation-field sensors and geometric reference structures is described. Given a family of binary, radiation-field sensors and a geometric reference structure, we refer to the set of sensor states induced by a source at point
p
as the signature of
p
. We study the segmentation of an object space into signature cells and prove near optimal bounds on the number of distinct signatures induced by a point source, as a function of sensor and reference structure complexity. We also show that almost any family of signatures can be implemented under this model.
Modeling spatially correlated data in sensor networks
Authors: Jindal Apoorva , Psounis Konstantinos
Published: April 2007

The physical phenomena monitored by sensor networks, for example, forest temperature or water contamination, usually yield sensed data that are strongly correlated in space. With this in mind, researchers have designed a large number of sensor network protocols and algorithms that attempt to exploit such correlations.There is an increasing need to synthetically generate large traces of spatially correlated data representing a wide range of conditions to carefully study the performance of these algorithms. Further, a mathematical model for generating synthetic traces would provide guidelines for designing more efficient algorithms. These reasons motivate us to obtain a simple and accurate model of spatially correlated sensor network data.The proposed model is Markovian in nature and can capture correlation in data irrespective of the node density, the number of source nodes, or the topology. We describe a rigorous mathematical procedure and a simple practical method to extract the model parameters from real traces. We also show how to efficiently generate synthetic traces on a given topology using these parameters. The correctness of the model is verified by statistically comparing synthetic and real data. Further, the model is validated by comparing the performance of algorithms whose behavior depends on the degree of spatial correlation in data, under real and synthetic traces. The real traces are obtained from remote sensing data, publicly available sensor data, and sensor networks that we deploy. We show that the proposed model is more general and accurate than the commonly used jointly Gaussian model. Finally, we create tools that can be easily used by researchers to synthetically generate traces of any size and degree of correlation.
LEAP+
Authors: Zhu Sencun , Setia Sanjeev , Jajodia Sushil
Published: April 2007

We describe LEAP+ (Localized Encryption and Authentication Protocol), a key management protocol for sensor networks that is designed to support in-network processing, while at the same time restricting the security impact of a node compromise to the immediate network neighborhood of the compromised node. The design of the protocol is motivated by the observation that different types of messages exchanged between sensor nodes have different security requirements, and that a single keying mechanism is not suitable for meeting these different security requirements. LEAP+ supports the establishment of four types of keys for each sensor node: an individual key shared with the base station, a pairwise key shared with another sensor node, a cluster key shared with multiple neighboring nodes, and a global key shared by all the nodes in the network. LEAP+ also supports (weak) local source authentication without precluding in-network processing. Our performance analysis shows that LEAP+ is very efficient in terms of computational, communication, and storage costs. We analyze the security of LEAP+ under various attack models and show that LEAP+ is very effective in defending against many sophisticated attacks, such as HELLO flood attacks, node cloning attacks, and wormhole attacks. A prototype implementation of LEAP+ on a sensor network testbed is also described.
Generating interaction test cases for mobile phone systems from use case specifications
Authors: de Figueiredo André L. L. , Andrade Wilkerson L. , Machado Patrícia D. L.
Published: April 2007

The mobile phone market has become even more competitive, demanding high quality standards. In this context, applications are built as sets of functionalities, called features. Such features are combined in use scenarios of the application. Due to the fact that the features are usually developed in isolation, the tests of their interactions in such scenarios are compromised. In this paper, we present a proposal of specifying feature interaction requirements with use cases; generating a behavioral model from such specification; and a strategy for generating test cases from the behavioral model that aims to extract feature interaction scenarios in such a way that interactions can be tested.
Improving software documentation using textual entailment
Authors: Kotb Yasser , Katayama Takuya
Published: April 2007

Formal online errors/bugs documentation of real-time software is a difficult and error prone task. Conceptual and tool support for this activity plays a central role in the agenda of building large complex software products, especially if this software targets market abroad that requires a continuous massive inflow of data customers' needs and a regarding product requirements. Unfortunately, the manual linkage that is routinely performed today is cumbersome, time-consuming, and error-prone. This paper presents a framework to explore the redundancy of error reports in online documentation. The framework employs a recent natural language processing technique called
Textual Entailment
.
Osiris
Authors: Memmert Juri , Rajan Hridesh
Published: April 2007

Comprehending software is hard. There's an inversely proportional relationship between a software system's complexity and size on the one hand and the usability of existing approaches for program comprehension on the other. Ironically, the need for these approaches increases directly proportional with the size of the system. In this work, we describe our approach and tool
Osiris
for automatic generation of concern models from source code. Our approach helps in program comprehension by identifying coherent sets of methods, grouping them into concerns and propagating these concerns along the
concern graph
of the application.
SLEDE
Authors: Hanna Youssef , Rajan Hridesh
Published: April 2007

The semantic gap between specification and implementation languages for sensor networks security protocols impedes the specification and verification of the protocols. In this work, we present
SLEDE
, an event-based specification language and its verifying compiler that address this semantic gap. We demonstrate the features of
SLEDE
through an example specification of the μTesla, secure broadcast protocol for sensor networks.
Book review: Inside TOPS: The Complete Guide to Networking Macs, PCs, and Printers, ed. by Jesse Berst, (New Riders Pub., 1989)
Authors: Clarke Wil
Published: April 2007

TOPS
is a local area network designed to link Apple Macintoshes and IBM PC's. It comes with software (and hardware for PC's) for translating data files for exchange between Macs and PC's. It also comes with a print spooler. It uses an Appletalk network, but unlike the original Appletalk, it doesn't require a dedicated file server.
Computer-looking for non trivial repetitions in the Pascal triangle
Authors: Molinelli J. M. , Freire J. L. , Blanco A.
Published: April 2007

An exploration of the Pascal triangle, finding some non trivial repetitions, using a PC environment with Turbo-Pascal and REDUCE (3.3) is given. Some of the experimental results are also mathematically classified.
Book review: USING BASIC by Tom Rugg and & Phil Feldman (Que Corporation, 1990)
Authors: Myers William
Published: April 2007

This book is similar to a number of books published by Que Corporation; they are written as tutorials for persons wishing to learn or more thoroughly learn a software package. This book is written to teach versions 2.0 through 3.3 of Microsoft's GW-BASIC and IBM's BASICA; this book is the most thorough, yet highly readable guides to BASIC that I have read.
The 7 habits of highly effective technology leaders
Authors: Andriole Stephen J.
Published: April 2007

What do CEOs expect from technology? What do they expect from their technology leaders? How should technology leaders "brand" themselves? Today'stechnology leaders would do best to learn the specific leadership skills required to meet IT's ever-changing challenges.
The Sarbanes-Oxley Act
Authors: Hall James A. , Liedtka Stephen L.
Published: April 2007

Until they are certain that outsourcing IT management is the best possible option, firms would do well to maintain and invest in their own in-house IT assets.
Open source software for disaster management
Authors: Currion Paul , Silva Chamindra de , Van de Walle Bartel
Published: April 2007

Evaluating how the Sahana disaster information system coordinates disparate institutional and technical resources in the wake of the Indian Ocean tsunami.
Calibration of locomotion resulting from visual motion in a treadmill-based virtual environment
Authors: Mohler Betty J. , Thompson William B. , Creem-Regehr Sarah H. , Willemsen Peter , Pick, Jr. Herbert L. , Rieser John J.
Published: April 2007

This paper describes the use of a treadmill-based virtual environment (VE) to investigate the influence of visual motion on locomotion. First, we establish that a computer-controlled treadmill coupled with a wide field of view computer graphics display can be used to study interactions between perception and action. Previous work has demonstrated that humans recalibrate their visually directed actions to changing circumstances in their environment. Using a treadmill VE, we show that recalibration of action is reflected in the real world as a result of manipulating the relation between the visual indication of speed, presented using computer graphics, and the biomechanical speed of walking on a treadmill. We then extend this methodology to investigate whether the recalibration is based on perception of the speed of movement through the world or on the magnitude of optic flow itself. This was done by utilizing two different visual displays, which had essentially the same magnitude of optic flow, but which differed in the information present for the speed of forward motion. These results indicate that changes in optic flow are not necessary for recalibration to occur. The recalibration effect is dependent, at least in part, on visual perception of the speed of self-movement.
Engineering graph clustering
Authors: Brandes Ulrik , Gaertler Marco , Wagner Dorothea
Published: April 2007

A promising approach to graph clustering is based on the intuitive notion of intracluster density versus intercluster sparsity. As for the weighted case, clusters should accumulate lots of weight, in contrast to their connection to the remaining graph, which should be light. While both formalizations and algorithms focusing on particular aspects of this rather vague concept have been proposed, no conclusive argument on their appropriateness has been given. In order to deepen the understanding of particular concepts, including both quality assessment as well as designing new algorithms, we conducted an experimental evaluation of graph-clustering approaches. By combining proved techniques from graph partitioning and geometric clustering, we also introduce a new approach that compares favorably.
Creating significant learning experiences in introductory artificial intelligence
Authors: McGovern Amy , Fager Jason
Published: April 2007

We introduced an arcade-style gaming environment for use in a mixed undergraduate and graduate introductory artificial intelligence (AI) course. Our primary goal in this course was to provide students with a "significant learning experience" [3]. We achieved this goal by creating projects based in the game environment that illustrate several major AI topic areas. These projects were designed to be challenging, enjoyable, and to demonstrate AI programming in a realistic environment. Each of the projects was designed to be feasible for all the students yet flexible enough to allow the stronger students to explore alternative solutions. We evaluated our success in achieving these goals through student evaluations, comments, and exam grades.
Give students a clue
Authors: Hansen David M. , Bruce Joseph , Harrison David
Published: April 2007

We have developed a simple yet motivating course-project for use in a one-semester undergraduate course in Artificial Intelligence. The project is well-suited to small liberal arts college environments that lack specialized hardware, software, and faculty, fulfilling an unmet need for many faculty at such institutions.We describe the project and how to deploy and use supporting software for faculty wishing to adopt this project.
The virtual tele-tASK professor
Authors: Linckels Serge , Repp Stephan , Karam Naouel , Meinel Christoph
Published: April 2007

This paper describes our
e-librarian service
that understands students' complete questions in natural language and retrieves very few but pertinent
learning objects
, i.e., short multimedia documents. The system is based on three key components: the formal representation of a domain ontology, a mechanism to automatically identify learning objects out of a knowledge source, and a semantic search engine that yields only pertinent results based on the freely formulated questions in natural language.We report on experiments about students' acceptance to enter complete questions instead of only keywords, and about the benefits of such a virtual personal teacher in an educational environment.
Web-based tools for active learning in information theory
Authors: Hamada Mohamed
Published: April 2007

The idea of using web-based technologies in education as a means of interactive learning has been erging for several topics in computer science and engineering. It proves to be more effective in the learning process and hence rapidly expanding. In this paper we introduce an integrated environment for active learning in the information theory course and related fields. Our environment is designed to meet the learning preferences of computer engineering learners. The environment integrates several different materials to support the learners' preferred style. It includes a movie-like welcome component, an animated hyper-text introduction for the basic concepts of information theory, a communication model simulator, and an interactive set of exercises for self assessment. All the components of the environment are integrated into a single interface based on Java2D of Sun Microsysts. Being a Java applet, our environment is portable and web-based enabled, which makes it possible for learners to study at their convenience. An initial study shows that our integrated environment is a useful tool for learners of information theory and related fields.
Groupwork activities in synchronous online classroom spaces
Authors: Bower Matt
Published: April 2007

This paper shares insights about the deployment of groupwork activities in synchronous online classroom spaces. It is based upon analysis of 48 hours of online lesson recordings from an Introduction to Programming (in Java) subject conducted over two semesters. Key observations are shared about how factors such as the type of the activity, the level of student technological and communicative competencies, the interface design and the task specification influenced discourse and learning. On this basis recommendations for teaching using virtual classroom groupwork are offered in order to assist academics who may be considering similar approaches to teaching online.
A course on simulation, probability and statistics
Authors: Anderson Scott D.
Published: April 2007

Simulation is an important topic in Computer Science, as is probability and statistics. Most undergraduates who take a course in probability and statistics do so through the mathematics department, and often to fulfill a college quantitative reasoning (QR) requirement. However, a course that combines the two topics can exploit some useful synergies between them. This paper describes those synergies and a one-semester course that covers both topics.
Increasing student retention in computer science through research programs for undergraduates
Authors: Peckham Joan , Stephenson Peter , Hervé Jean-Yves , Hutt Ron , Encarnação Miguel
Published: April 2007

To address the alarming decrease in students in Rhode Island computer science programs and the under-representation of women and minorities, we have devised a program to introduce students to research in computer graphics, art and new media. This program integrates good mentoring practice and pedagogy, including problem-based learning. Special attention is paid to creating a cohort of students who come together every week to learn about the research process, and ethical and societal issues related to it. Each student takes a small project from the proposal stage, through design and implementation, to publication and presentation. We report on the first two years of the program.
A course in software development
Authors: Noonan Robert E. , Hott John R.
Published: April 2007

The paper discusses a course in software development, as advocated by the CC2001 report. The course revolves around a single project divided into six assignments. In addition, the course includes lab assignments covering the
tool of the week
. The order of coverage of topics and the order of labs is determined using just-in-time learning. Grading criteria and an assessment of the course are discussed.
Algorithm explorer
Authors: Carson Erik , Parberry Ian , Jensen Bradley
Published: April 2007

Computer science courses have increasingly made use of visualization tools to illustrate common algorithms. This paper describes Algorithm Explorer, an educational tool designed for use by instructors and students to examine algorithms in a rich environment composed of 3D data representations, 3D audio cues, and easy-to-use controls. Instructors and students can easily add calls to Algorithm Explorer's C++ API to their programs to quickly develop engaging visualizations, and every detail of the scene can be customized as the developer desires.
Using virtual characters in personalized recommendations
Authors: Reategui Eliseo , Boff Elisa , Campbell John A.
Published: April 2007

This paper describes a virtual character placed in an educational environment with the purpose of motivating and involving students in the activities proposed. The character can communicate with users in natural-language; it can learn students' profiles and use this knowledge to recommend appropriate contents and activities. Three main elements compose the character's architecture: an AIML-based mechanism, which endows the character with its communication abilities; a profile management system, which collects and organizes students information; and a recommender system, which uses the student's profiles and behavioral patterns to make content recommendations. The character was placed in an educational environment and used in an experiment with 53 computer science students. The results of the experiment are presented here, as well as conclusions and directions for future work.
Treisman workshops and student performance in CS
Authors: Chinn Donald , Martin Kristofer , Spencer Catherine
Published: April 2007

Active learning techniques, including collaborative programming and problem solving environments, have been widely adopted by many computer science educators. A related approach is the Treisman model, which was originally designed for the first-year calculus course and involves intensive workshops where students collaborate in small groups to solve problems. We have adapted the model for both the data structures and algorithms courses at our institution. Regression analysis indicates that students who participate in the workshops for the algorithms course perform better (0.561 grade points on a 4-point scale) than those who do not, even after accounting for prior academic performance. However, the workshops appear to have less of an effect on student grades in the data structures course. This study provides evidence that the workshop model can be an effective learning environment for students in courses primarily involving analysis, but that for courses that involve large amounts of programming, further adaptations to the model might be needed.
Interactive visualization for the active learning classroom
Authors: Schweitzer Dino , Brown Wayne
Published: April 2007

Engaging students in the learning process has been shown to be an effective means for education. Several methods have been proposed to achieve this engagement for computer science and other disciplines. Active learning is one such technique that incorporates interactive classroom activities to reinforce concepts and involve the students. Visualizations of computer science concepts such as algorithm animations can be used for these activities. To be most effective in this environment, they need to be designed and used with active learning in mind. This paper describes the design characteristics of such visualizations, ways of using them in the classroom, and our experience with developing and using visualization tools across different courses in the computer science curriculum.
Killer "killer examples" for design patterns
Authors: Alphonce Carl , Caspersen Michael , Decker Adrienne
Published: April 2007

Giving students an appreciation of the benefits of using design patterns and an ability to use them effectively in developing code presents several interesting pedagogical challenges. This paper discusses pedagogical lessons learned at the
"Killer Examples" for Design Patterns and Objects First
series of workshops held at the Object Oriented Programming, Systems, Languages and Applications (OOPSLA) conference over the past four years. It also showcases three "killer examples" which can be used to support the teaching of design patterns.
Experiencing aspects of games programming in an introductory computer graphics class
Authors: Sung Kelvin , Shirley Peter , Rosenberg Becky Reed
Published: April 2007

Our computer graphics (CG) programming class uses games development as a means to help students understand CG concepts. Many students mistakenly thought this CG class was a games programming class. We present a simple frame-work for discussing games programming classes. Based on the framework, the paper describes our efforts in integrating competencies associated with games programming into our CG programming class. Our results show that the resulting class maintains the integrity of the original CG class while allowing students to develop projects with more interesting games features.
Engagement and frustration in programming projects
Authors: Hansen Stuart , Eddy Erica
Published: April 2007

Attracting and retaining quality students is an ongoing concern in Computer Science. Retention can be enhanced by keeping students engaged in the learning process while preventing them from becoming overly frustrated. While engaging students during class is certainly important, most students spend a significant amount of time working on programming projects outside of class. The goal of this research was to collect and analyze some initial data on how engaging and frustrating our students find our programming projects. During the Spring 2006 semester we surveyed our students after each programming project. This paper presents some initial findings from the surveys and discusses strategies on how to improve our projects based on this feedback.
Pep8CPU
Authors: Warford J. Stanley , Okelberry Ryan
Published: April 2007

This paper presents a software simulator for a central processing unit. The simulator features two modes of operation. In the first mode, students enter individual control signals for the multiplexers, function controls for the ALU, memory read/write controls, register addresses, and clock pulses for the registers required for a single CPU cycle via a graphical user interface. In the second mode, students write a control sequence in a text window for the cycles necessary to implement a single instruction set architecture (ISA) instruction. The simulator parses the sequence and allows students to single step through its execution showing the color-coded data flow through the CPU. The paper concludes with a description of the use of the software in the Computer Organization course and its availability for download on the Internet.
Improving secondary CS education
Authors: Ericson Barbara , Guzdial Mark , Biggers Maureen
Published: April 2007

The Institute for Computing Education (ICE) was created in the spring of 2004. ICE is a partnership between the Georgia Department of Education and the College of Computing at Georgia Tech. The goals for this partnership are to increase the number and quality of computer science teachers and increase the number, quality, and diversity of computer science students. One specific goal is to increase the number of students taking the CS-Advanced Placement (AP) course. In this paper we report on both the progress we have made towards these goals and the problems we have encountered. We hope that other states will create similar partnerships and leverage our experience.
Alice, middle schoolers & the imaginary worlds camps
Authors: Adams Joel C.
Published: April 2007

Research indicates that (i) many women who take CS1 feel less experienced than (and therefore at a disadvantage to) their male counterparts at computer programming, and that (ii) by the time they reach high school, many young women view computing as "geeky" and "for nerds." This paper describes our Imaginary Worlds Camps -- a summer program in which we use Carnegie Mellon's Alice software to address these problems before students reach high school. The preliminary results are quite encouraging.
Leveling the CS1 playing field
Authors: Townsend Gloria Childress , Menzel Suzanne , Siek Katie A.
Published: April 2007

This paper includes several reasons for the underrepresentation of women in computing, and then describes two low-cost project instances that address the reasons for the decline in women's enrollment in computing classes. One project spans seven semesters from fall 2000 to spring 2006 at a small liberal arts school; the other, the spring 2006 semester at a large research institution. Concluding sections provide anecdotal and statistical evidence that the project is successful over two time periods within two diverse schools.
A case for smaller class size with integrated lab for introductory computer science
Authors: Boyer Kristy Elizabeth , Dwight Rachael S. , Miller Carolyn S. , Raubenheimer C. Dianne , Stallmann Matthias F. , Vouk Mladen A.
Published: April 2007

Prompted by changes in the numbers and demographics of students enrolled and being retained in computer science, the Department of Computer Science at NC State University is revising its undergraduate curriculum to better meet the needs of its students, and increase student attraction and retention. One set of changes concerns introductory computer science courses (CS1). This paper reports on a study conducted to assess the impact of class size and active learning in our CS1 courses. We find that smaller classes with integrated laboratories improve both learning and retention, as well as satisfaction of the students. Among other benefits, we found retention rates in small classes to be about 20% better than large classes.
Taking students out for a ride
Authors: Lim Darren
Published: April 2007

This paper describes the use of a board game as a device for introducing graph theory to computer science students. By experiencing a hands-on demonstration of graphs, students can better understand the basic principles of graph theory and can better design algorithms and programs which manipulate graph data. The programming assignment tied to the game forces the students to come to grips with the algorithmic aspects of graph theory, including the proper choice of data structures and the implementation of graph algorithms.
Mobile and ubiquitous computing in an innovative undergraduate course
Authors: Barbosa Jorge , Hahn Rodrigo , Barbosa Débora N. F. , Geyer Cláudio F. R.
Published: April 2007

The increasing use of mobile devices and the dissemination of wireless networks have stimulated mobile and ubiquitous computing research. In this context, education is being considered one of the main application areas. This paper proposes the use of mobile and ubiquitous computing to support and improve learning in a new kind of academic structure called
Undergraduate Course of Reference
(nicknamed GRefe). The GRefe was proposed in Unisinos, a university located in south of Brazil. Currently, there are four GRefes. These courses are organized in
Learning Programs
and
Learning Projects
. They use a practical and multidisciplinary approach to stimulate the learning. We proposed the use of mobile and ubiquitous computing technology to articulate and improve the academic activities of a specific GRefe called
Computer Engineering
. We believe that GRefe organization simplified and stimulated the use of these technologies in a learning environment.
Exploring the potential of mobile phones for active learning in the classroom
Authors: Lindquist David , Denning Tamara , Kelly Michael , Malani Roshni , Griswold William G. , Simon Beth
Published: April 2007

Research has shown that educational technology can broaden and enhance the use of active learning in large classrooms. An educational technology platform often relies on students to bring laptops or specialized wireless devices like clickers to interact through the system. Mobile phones are an attractive alternative, as most students already possess them, they have more capabilities than dedicated clickers, and yet are small enough to minimize interference with note taking on a classroom desk.This paper presents the design and use of a mobile phone extension to Ubiquitous Presenter, which allows students to submit solutions to active learning exercises in the form of text or photo messages. In an exploratory study, students found that text messaging worked well for exercises with multiple choice or short answers. Entering symbols common to computer science was difficult. Many problems were more suitable to photo messaging of a handwritten answer, although image quality must be managed. The phone's small size left space for the use of a notebook. The students had concerns about the message charges that would accrue in use. In conclusion, we offer recommendations to instructors and system designers interested in leveraging mobile phones to increase communication in the classroom.
Podcasting computer science E-1
Authors: Malan David J.
Published: April 2007

In recent months have teachers become publishers of content and students subscribers thereof by way of podcasts, feeds of audio, video, and other content that can be downloaded to clients like iTunes and devices like iPods. In the fall of 2005, we ourselves began to podcast Harvard Extension School's Computer Science E-1 in both audio and video formats, the first course within Harvard University to do so. Our goals were to provide students with more portable access to educational content and to involve them in technology itself.To evaluate this experiment, we have analyzed logs and surveys of students. We find that our students valued E-1's podcast more as a vehicle for review (45%) than as an alternative to attendance (18%). We also find that most students (71%) tended to listen to or watch lectures on their computers, with far fewer relying upon audio-only (19%) or video (10%) iPods. We argue, meanwhile, that podcasting, despite its widespread popularity, is but a marginal improvement on trends long in progress. It is this technology's reach that we claim is significant, not the technology itself. Logs suggest that E-1's own podcast, available not only to students but to the public at large, has acquired (as of September 2006) between 6,000 and 10,000 subscribers from over 50 countries. We argue, then, that podcasting offers to extend universities' educational reach more than it offers to improve education itself.
Interdisciplinary application tracks in an undergraduate computer science curriculum
Authors: Zhang Mingrui , Lundak Eugene , Lin Chi-Cheng , Gegg-Harrison Tim , Francioni Joan
Published: April 2007

The Computer Science Department at Winona State University revised its curriculum to include an interdisciplinary approach adapted to the study of computer science. The new curriculum consists of a traditional Computer Science option and an Applied Computer Science option consisting of four separate tracks, namely: bioinformatics, computer information systems, geographic information technology, and human computer interaction. This paper describes the design strategy and implementation plan as well as the content of our multi-track Applied Computer Science curriculum.
Inter-University software engineering using web services
Authors: Kurtz Barry L. , Fenwick James B. , Ellsworth Christopher C. , Yuan Xiaohong , Steele Adam , Jia Xiaoping
Published: April 2007

We have been funded by the National Science Foundation [6] to investigate the feasibility of distributing large software engineering projects across multiple universities at remote locations. This paper reports on the use of web services to make such inter-university cooperation feasible. The TRavel Itinerary Planner (TRIP), a year long project, was implemented at three universities: Appalachian State University, North Carolina A&T, and DePaul University. After discussing our methodology based on web services we describe the inter-university cooperation that was achieved on this project. We then describe problems encountered and their solutions and conclude with a brief description of a different project that we will develop during the 2006-2007 academic year.
Teaching experiences with a virtual network laboratory
Authors: Wong Ken , Wolf Tilman , Gorinsky Sergey , Turner Jonathan
Published: April 2007

The
Open Network Laboratory
(ONL) is an Internet-accessible virtual laboratory facility that can deliver a high quality laboratory experience in advanced networking [3,7]. Our experience with ONL indicates that it has potential to improve student understanding of fundamental networking concepts and increase enthusiasm for experimentation with complex technology. Furthermore, these benefits can be delivered with less effort from the instructor than using a traditional approach of socket programming and ns-2 simulation exercises. The system is built around a set of high-performance, extendible routers which connect personal computers acting as end systems. Users configure their virtual network through the
Remote Laboratory Interface
(RLI), an intuitive graphical interface. The RLI's real-time charts and user data facility make it easy to directly view the effect of system parameters on traffic behavior. These features can enhance learning by providing users with multiple representations of network phenomena. We describe how the ONL facilities have improved our ability to meet instructional objectives and discuss some approaches to improving the laboratory experience.
Opening the door of the computer science classroom
Authors: Tenenberg Josh , Fincher Sally
Published: April 2007

The
Disciplinary Commons
project had two primary objectives: to
document
and
share
knowledge about teaching and student learning in Computer Science (CS) classrooms, and to establish practices for the scholarship of teaching by making it
public, peer-reviewed
, and amenable for
future use and development
by other educators. The mechanism for achieving these goals was through a series of monthly meetings involving Computer Science faculty, one cohort of ten CS faculty in the US and one cohort of twenty in the UK. Meetings were focused on the teaching and learning within participants' classrooms, with each person documenting their teaching in a
course portfolio
. Surveyed on completing the project, participants discussed the value of the
Disciplinary Commons
in providing the time and structure to systematically reflect upon their practice, to exchange concrete ideas for teaching their courses with other CS educators in the discipline, to learn skills that apply directly to course and program evaluation, and to meet colleagues teaching CS at other institutions.
Squint
Authors: Murtagh Thomas P.
Published: April 2007

Squint is a Java library developed to support the use of event-driven programming and network applications in programming examples for a CS1 curriculum. We present the design of the library, emphasizing techniques employed to minimize the effort students expend learning features specific to the library. We also compare Squint to an established library that supports event-driven programming in CS1, emphasizing ways in which the two libraries support similar pedagogical approaches.
A Java execution simulator
Authors: Robbins Steven
Published: April 2007

This paper describes JES, a Java Execution Simulator that allows users to explore how a Java program executes. This interactive simulator displays a representation of a Java program and animates the running of the program. Instructors can use JES to demonstrate how data is moved when variables are assigned, when parameters are passed, and when values are returned by a method. JES is useful for comparing how primitive and object values are manipulated. The simulator also demonstrates scope rules, object creation, inheritance and polymorphism. While the simulator only supports variables of type double and object and does not support conditionals or looping, it allows users to write general Java programs that might be used as examples in the first weeks of a CS 1 course. JES also has support for arrays of doubles and objects. The simulator is written in Java and can be run as an application or an applet. Support for the simulator includes a simple mechanism for quickly running the simulator on a program developed with a standard Java development system.
Making service learning accessible to computer scientists
Authors: Rosmaita Brian J.
Published: April 2007

Service learning can play an important role in computer science education: it can address declining enrollments and increase current student satisfaction. Although computer science poses some serious problems for effectively implementing service learning, these can be surmounted by reconfiguring a course to include a substantial treatment of accessibility. I describe such a course, explain how it overcomes the problems, and discuss the results of the course from a student perspective.
BabyOS
Authors: Liu Haifeng , Chen Xianglan , Gong Yuchang
Published: April 2007

In this paper, we present BabyOS, a compact educational kernel designed to facilitate the preliminary learning of operating systs. It is an in-mory syst running on real hardware, with a multi-phase project covering concurrency, scheduling, inter-process communication, mory management, and networking. Compared with other educational operating systs, BabyOS is a nontraditional project frame; an important distinction lies in that it reflects some design ideas in bedded operating systs. In this way, BabyOS provides a complentary approach to educational operating syst projects.
The games computers play...
Authors: Schaeffer Jonathan
Published: April 2007

Artificial intelligence has had notable success in building high-performance game-playing programs to compete against the best human players; Deep Blue is the obvious example, but there are many more. However, the availability of fast and plentiful machines with large memories and disks creates the possibility of solving a game. This has been done before for simple or relatively small games. Checkers is a popular game of skill with a search space of 5x10
20
possible positions. Within a year, checkers will be solved; our program will never lose (assuming that perfect-play checkers is a draw, as seems likely). But getting from the idea of solving checkers to the final result, well, thereby hangs a tale.
TPCC-UVa
Authors: Llanos Diego R.
Published: April 2007

This paper presents TPCC-UVa, an open-source implementation of the TPC-C benchmark version 5 intended to be used to measure performance of computer systems. TPCC-UVa is written entirely in C language and it uses the PostgreSQL database engine. This implementation includes all the functionalities described by the TPC-C standard specification for the measurement of both uni- and multiprocessor systems performance. The major characteristics of the TPC-C specification are discussed, together with a description of the TPCC-UVa implementation, architecture, and performance metrics obtained. As working examples, TPCC-UVa is used in this paper to measure performance of different file systems under Linux, and to compare the relative performance of multi-core CPU technologies and their single-core counterparts.