Research Projects for Summer 2013

HMC Projects

CS5, from a Different Perspective

(Funded, 1–2 students)

Liked CS 5? Interested in improving the CS5 experience for future students? Would you like to learn/develop Javascript, AJAX, web-framework skills, etc. by making our CS 5 submission system even better? If any of these apply, join us for an NSF-funded project to adapt CS 5 for many different audiences. (If middle- and high-school audiences are your particular interest, see the MyCS project, below.)

Directed by one or more of the CPATH team of Profs. Dodds, Kuenning, and Libeskind-Hadas.

MyCS — Middle Years Computer Science

(Funded, 2–4 students)

This project seeks to increase computational awareness in students at an age when they are open to new ideas — in particular, at the middle-school and early high-school level. If you'd like to help develop a middle-school CS curriculum and present two week-long summer workshops to a small group of middle- and high-school teachers, join us!

Directed by Profs. Erlinger and Dodds

Trace Repository

(Funded, 2–3 students)

The SNIA Trace Repository contains several terabytes of data collected by observing the behavior of real file systems. Harvey Mudd is responsible for the management and enhancement of this repository. Students will develop tools related to traces, help write standards, locate, convert, and post new traces, and integrate tools contributed by researchers.

Directed by Prof. Kuenning.

Storage Modeling and Analysis

(Funded, 2–3 students)

This project, which is in cooperation with Professor Erez Zadok of Stonybrook University, is developing ways to analyze, model, and reproduce the behavior of storage systems. At the moment we are working on modeling traces, on file systems for virtual machines, and on "deduplication," which involves finding duplicate data on a disk drive and getting rid of it. This work will take place at either HMC or Stonybrook University, under the supervision of both professors. A travel and housing allowance will be provided for students who work at Stonybrook.

Directed by Prof. Zadok and Prof. Kuenning.

Games Network

(Funded, 4 students)

Students in CS 121 design and develop educational games for social studies middle school students. Given the semester time limits, these games are not always completed. Summer research students on this project will work with middle school student 'customers' to evaluate the games, propose modifications/enhancements of the games to make them classroom-ready, and implement the changes so the games are ready to be deployed.

Directed by Profs. Erlinger and Sweedyk.

Observationally Cooperative Multithreading

(Funded, 6 students)

Programmers face a multi-core future but no one knows how to take advantage of it. Current techniques for concurrency tend to be primitive, complicated, and error-prone. This project will investigate OCM, a new approach to writing concurrent code without the hassle and bugs of locks. Programmers write code as if each thread has the machine to itself until it explicitly yields control; under the hood, the system detects noninteracting threads and runs them simultaneously.

Students are needed both to continue past work on the design and implementation of OCM, and to apply OCM to real problems (to measure efficiency and ease-of-use). Work on the system would benefit from CS 131 (Programming Languages) and/or CS 105 (Computer Systems) as background, but the application and measurement work should be accessible to students finishing their first year at HMC.

Directed by Profs. O'Neill and Stone.

Programming Analysis for JavaScript

(Funded, 1–2 students)

JavaScript is becoming more ubiquitous, and JavaScript programs are performing more sophisticated computations. However, JavaScript is a notoriously difficult language to understand — for humans and for machines. This project will explore new ideas for automatically analyzing JavaScript. We will implement JavaScript program analyses and evaluate them, either theoretically or empirically. You need not have taken PLs to participate (though you will make more progress if you have).

Directed by Prof. Wiedermann.

Programming Language and Environment for Group Theorists

(Funded, 1–2 students)

This project will design and implement a Domain Specific Programming Language and programming environment for group theorists. The goal is to provide group theorists with high-level tools that help them work faster and smarter. This project is in development and we may choose to pursue or not pursue it based on student interest. If you're interested, let's talk!

Directed by Profs. Wiedermann and Orrison

Analyzing Middle School Students' Pair Programming

(Funded, 2–4 students)

Are you interested in how young students learn to program? This project includes both preparing curriculum for a sixth-grade computer science class and analyzing videos of sixth grade students engaged in pair programming. The videos capture two different ways of structuring pair programming and we will investigate the cost and benefits of the classroom structures to make recommendations to teachers. Students may have the option to spend three weeks in the bay area to assist in teaching the sixth grade computer science class. Students who have a place to stay within driving distance of Richmond, CA are encouraged to apply.

Directed by Prof. Lewis.

HMC REU Projects

The REU program takes ten students in total, with up to five coming from HMC. The exact distribution of students among the three projects will be determined after students apply. See the REU website for project details (but use the HMC application process, not the form for external REU applicants).

Restrictions: Due to funding restrictions, you must be a US citizen or permanent resident to work on REU projects.

Garbage Collection

(Funded, 2–3 students)

If you've enjoyed classes in operating systems or programming languages, there is a very good chance you'll be interested in garbage collection.

Directed by Prof. O'Neill.

Robotics — Aerial Autonomy

(Funded, 2+ students)

Want to work with flying robots? In this project, we will continue our lab's foray into autonomous flight: our goal will be to collect movies of HMC's Libra-complex by conducting fly throughs and build 3D models capable of supporting virtual fly-throughs. We plan to use Andrew Davison's Monocular SLAM work as an inspiration and/or starting point. Check out our project page for details.

Directed by Prof. Dodds.

Intelligent Music Software

(Funded, 2+ students)

Possible problems for the summer 2013 include:

Learning Melodic Components based on Harmonic Bricks: We currently use a method for extracting grammars from a corpus of jazz solos based on clustering and hidden-markov models. The proposed research will reorganize solo generation and learning based on idiomatic harmonic bricks, as outlined in our paper A Creative Improvisational Companion Based on Idiomatic Harmonic Bricks.

Audio Input and Enhancement Real-Time Aspects of Impro-Visor: We would like Impro-Visor to become a better companion for accompanying and trading melodies with the user. Ideally, the real-time improvisor would emulate the thought processes of a human improvisor at a macro scale. Many of the features of the tool are capable of working in real-time, but there are ergonomic interface and knowledge-representation issues to be researched. Initial work was done in this area in the summer of 2012 (cf. Halpern, et al. reference), but a number of interesting problems remain.

Other related topics: genetic and principal components approaches to improvisation, music information-retrieval aspects, and general computational creativity in music, to name a few possibilities.

Please see for intelligent music software for more details and references. Ask me for additional information.

Directed by Prof. Keller.

Vice-chancellor of fun position

(Funded, 1–2 students)

If you are applying to an REU position and would enjoy working as the social coordinator for the program and for all of HMC CS summer research, then this vice-chancellor of fun position will be of interest. You need to be a rising jr. or sr., have a driver's license, a willingness to drive the large HMC van, and enthusiasm for organizing activities! Also, this position extends by one day both ends of the REU calendar.