Having students modify an actual operating system kernel or network protocol stack opens their eyes to what is going on "beneath the hood" of a computer. However student modifications to a system may result in an unstable computer. Because of this, giving students such experience has in the past required a lab and/or computers dedicated to the students in… (More)
With Pascal waning in popularity as the CS1 language of choice, many colleges and universities are considering the adoption of C++ (an imperative and object-oriented hybrid language) as its replacement. An important issue that must be addressed in making such a change is the question of what software design methodology should be taught to CS1 students. Two… (More)
Drag-and-drop learning environments like Alice (alice.org) and Scratch (scratch.mit.edu) eliminate syntax errors, making them attractive as ways to introduce programming concepts to students. Alice is closely associated with storytelling, Scratch was designed for creating music videos, and both can be used to create games. Having had students create each… (More)
Most people enjoy playing games. Most CS-1 students will enjoy a final project that involves computational game-playing. <b>Chance-It</b> is a simple two-person dice game with many possible strategies at varying levels of sophistication and complexity. These features make the problem of formalizing and encoding a strategy to play Chance-It an interesting… (More)
The gender imbalance in computer science in the U.S. and other countries has attracted much attention. This paper presents - for comparison - the computing-related gender ratios in Mauritius, a developing country in the Indian Ocean. These ratios suggest that far from being a universal phenomenon, the gender imbalance in the U.S. is a cultural problem.
A Beowulf cluster is a distributed memory multiprocessor built from commodity off-the-shelf PC hardware, an inexpensive network for inter-process communication, and open-source software. Today's multi-core CPUs make it possible to build a Beowulf cluster that is powerful, small, and inexpensive. This paper describes Microwulf, a Beowulf cluster that cost… (More)
Each July since 2003, the author has directed summer camps that introduce middle school boys and girls to the basic ideas of computer programming. Prior to 2009, the author used Alice 2.0 to introduce object-based computing. In 2009, the author decided to offer these camps using Scratch, primarily to engage repeat campers but also for variety. This paper… (More)
A Beowulf cluster is a MIMD multiprocessor built from commodity off-the-shelf personal computers connected via a dedicated network, running free open-source software. Such a cluster can provide a supercomputer's performance at a small fraction of one's cost. For small colleges and universities, the relatively low cost of a Beowulf cluster makes it an… (More)