Summer 2013 Research Projects
Below you will find a list of faculty that will be conducting research during the Summer of 2013 and are looking for research students.
Project: Self-Healing Home Networks (Amy Csizmar Dalal, 1-2 students)
Self-healing networks, or networks that can detect potential problems and fix them before the end user is aware of the problem, are the holy grail of networking research. Self-healing networks make computer networks more usable and more user-friendly, as well as easier to deploy and manage. These features make self-healing networks especially attractive for the home: home users are often not technical experts, yet home networks are increasingly as complex or more complex than institutional networks, requiring a high level of technical expertise to deploy and maintain. Self-healing networks have the potential to make high-functioning, well-designed networks available to all home users. The existence of such networks in turn paves the way for the creation and deployment of new and innovative rich media applications (immersive gaming, telepresence, and high-quality entertainment, to name a few).
In this project, we'll explore self-healing home networks. This is a brand new project, so there are tons of interesting questions to consider! The focus this summer will be designing and building, from scratch, an appropriate home network testbed. We'll also design and execute preliminary experiments to determine how the home network behaves and performs under various conditions: different mixes of devices and application, different mobility models, different topologies, etc. Finally, we'll explore some usability issues in home network design and consider strategies to mitigate these.
In addition, this year the CS department is starting a new 3-week summer program for high school students. One of the students on this project will be the teaching assistant for this program for those three weeks. In this role, the student will work with the high school students each weekday afternoon on a human-computer interaction project tied to our home networking research project.
CS 201 or its equivalent is appropriate preparation for this project. Experience with statistics, networks, and/or psychology is a plus, but is not required.
Project: Analyzing Multithreaded Java Programs (Laura Effinger-Dean)
Multithreaded programs can be faster or more responsive than normal "sequential" programs that only use one processor. However, multithreaded programs are also more difficult to write because of hidden bugs that may not manifest during testing. Multithreaded programs are also harder for the compiler to optimize. In this project, we will investigate applying recent advances in C++ multithreading to the Java setting, where matters are complicated by Java's safety guarantees. Specifically, we will look into building a program analysis that enables detection of concurrent bugs and also enables more aggressive compiler optimizations. Students should be familiar with Java. Experience with shared-memory multithreading or compilers is a plus.
Project: Evolutionary Computation Research (Sherri Goings)
One of the goals of artificial intelligence is to be able to view the computer as a “black box”, you simply give it the problem you want to solve, and it gives you the answer, without you needing to understand all of the internal workings. Evolutionary computation seeks to create this black box by harnessing the power of Darwinian evolution to solve computational problems. Instead of programming a solution, the user simply initializes a population of very simple (and probably very bad) solutions, and then sits back while the population evolves until a good solution appears. However in order to find a good solution, the parameters and dynamics of the evolutionary system have to be set appropriately, and to set them appropriately we have to understand the dynamics in the first place. Therefore my research has two sides, the first is to harness the power of evolution to solve real problems, and the second is to use computational power to study and understand the dynamics of evolution itself. This summer I will be continuing work on several different projects and students will be able to choose which interests them most. The three main possibilities are:
1. Diversity/Ecosystems - looking into how diversity evolves, how a population maintains it, how speciation occurs and how organisms come to specialize in specific tasks, and especially how diversity in an Evolutionary Algorithm's population can help it evolve better solutions more quickly.
2. Altruism - exploring how altruism evolves and how it is maintained in a population.
3. Evolving cooperative behavior in actual physical robots using neural networks.
Students interested in any (or all) of these areas are encouraged to apply for summer research. Students should have taken Data Structures, and background in biological evolution is helpful but not required. Classes such as AI or EC/A-Life would also be helpful background, but not necessary.
Project: Wikis That Can Update Themselves; or at least Wikis That Know How To Ask For Help (Dave Musicant)
Wikipedia has become the default encyclopedia that everyone goes to. And it's awesome. But it doesn't always stay current. The article on Barack Obama is updated roughly once an hour, it seems; on the other hand, the article on Northfield MN (at the time I'm writing this) doesn't consistently even have the new mayor listed yet. The article for my own hometown of Freeport, NY doesn't have any content at all on the impact of Hurricane Sandy, despite extensive news coverage for the damage that was sustained.
I've got a vision: imagine a system that could read the news on any subject, and automatically update Wikipedia articles accordingly.
While that entire vision is entirely optimistic, there are a number of subgoals that are interesting and achievable. We'll be working on implementing techniques to make progress on helping people make better progress in keeping Wikipedia current.
In addition, this year the CS department is starting a new 3-week summer program for high school students. One of the students on this project will be the teaching assistant for this program for those three weeks. In this role, the student will work with the high school students during this three week period... on robotics! Students will be learning how to program LEGO Mindstorms via NXC (a C-like programming language) to participate in sports and perform dance routines.
Work on the project will be a mix of data analysis, recommeder-system techniques, user-interface design, and effect studies. We'll be looking to build algorithms and/or tools, and estimate their effectiveness. Students interested in this project should have completed CS 201 (Data Structures). No other courses are required, but any subset of CS 202 (Math of CS), CS 321 (Artificial Intelligence), CS 322 (Natural Language Processing), CS 324 (Data Mining), CS 334 (Databases), or CS 348 (Parallel/Distributed Computing) would be helpful.