Search:

Events

Event Archives

Upcoming Events

Helping Unleash Parallel Speedup from Sequential Programs

Colloquium

Speaker(s)
Satarnino "Sat" Garcia
Date
February 14, 2012
Time
4:15 PM – 5:30 PM
Location
Beckman Auditorium

For decades, programmers enjoyed a free lunch: their programs would become exponentially faster as new generations of processors were released, all with little-to-no changes. That free lunch is now over. Programmers now shoulder much of the burden in attaining scalable performance on today’s multi-core processors. This burden largely entails introducing parallelism into existing sequential programs, a notoriously difficult task that many programmers are currently unequipped to handle. In this talk I will discuss the challenge of introducing parallelism into sequential programs (parallelization) and describe my work on Kremlin, an automated tool that assists the programmer during this challenging task. Kremlin fills an important gap in the current set of parallelization tools, improving programmer productivity by helping answer the questions: “What parts of this program should I spend time parallelizing?” and “How much speedup can I expect if I parallelize this program?”.

Premature Optimization is the Root of All SQL

Colloquium

Speaker(s)
Dr. Ben Wiedermann
Date
February 15, 2012
Time
4:00 PM
Location
Galileo Edwards

All our major financial, health, and government enterprises rely on software systems that manipulate large datasets. These “enterprise applications” are notoriously difficult to design, debug, and maintain. To implement them, programmers typically use a general-purpose, object-oriented programming language to access a relational database. These things don’t mix. As a result, today’s programmers are forced to sacrifice good programming practice for the sake of program efficiency.

This talk presents a different approach, namely that program analysis and programming language design can help programmers write enterprise applications that are both well-designed and efficient. The premise of our approach is that programmers perform premature optimization when they write SQL queries. Instead, programmers should describe computations over database data the same way they describe computations over in-memory data. The compiler should differentiate the computations and arrange for the program to prefetch database values efficiently. We explore how to implement this compiler-assisted “batching” of database requests and present an elegant language feature that generalizes the technique to many other forms of distributed computing.

Improving and Evaluating Computer Science Education

Colloquium

Speaker(s)
Colleen Lewis
Date
February 16, 2012
Time
4:15 PM – 5:30 PM
Location
Galileo Pryne

At UC Berkeley, many lower-division CS courses have been drastically restructured to emphasize hands-on learning, with six hours of lab a week and only a single hour of lecture. This shift has supported the development of what we call lab-centric instruction. This pedagogical approach emphasizes collaboration, individual support from course staff, and helping students make use of formative assessment. The approach and results regarding the effectiveness of the pedagogy will be presented and will demonstrate the importance of improving and evaluating computer science education.

Computational Tools for Building Machines That Effectively Interact with People

Colloquium

Speaker(s)
Paul Ruvolo
Date
February 21, 2012
Time
4:15 PM – 5:30 PM
Location
Galileo Pryne

I will discuss my research on developing technologies to enable machines to effectively interact with and sense the physical and social world. While Artificial Intelligence has succeeded in creating machines that exceed the performance of even the best humans in symbolic processing tasks (e.g. Chess and Jeopardy), progress on achieving human-level perceptual and motor abilities has lagged considerably behind. I will present three projects that are each aimed at either creating computational methods for extending the perceptual and motor capabilities of machines, or applying these methods to create machines that effectively interact with people. In the first part of the talk, I will discuss my work on the RUBI project in which we put together a robot that served as a teaching assistant in a San Diego preschool. RUBI combined touchscreen-based games with machine perception to interact with the children and teach them new words. Next, I will present work on utilizing online crowdsourcing services, such as Amazon’s Mechanical Turk, to address a daunting challenge for machine learning: obtaining large quantities of high-quality labeled data from which to learn. I will present a method of automatic quality control of human judgments obtained from such services that is able to automatically infer which labelers are more reliable and optimally combine their judgments to obtain an accurate consensus label for each piece of data. Lastly, I will present my work on using machine learning approaches to infer the goal of an agent from examples of its behavior. I will show how these new algorithms can be used as analytical tools for answering questions in the study of natural behavior as well as for interpreting the intentions of and imitating the behavior of humans.

Intelligent Music Software

Speaker(s)
Robert M. Keller
Date
February 23, 2012
Time
7:00 PM – 9:00 PM
Location
CGU ACB 214
More information
Flyer (PDF)

Dr. Robert M. Keller will survey the expanding space of music software, motivating the uses of such software and giving particular attention to cases having attributes that could be called “intelligent”. After demonstrating a few examples, he will describe work conducted at Harvey Mudd College on the Intelligent Music Software project, which includes Impro-Visor, an open-source project designed to help jazz musicians improve their improvisation skills. Dr. Keller will include a demonstration of how a computer can learn grammars capable of generating jazz melodies, as well as other nuances.


Spring vacation begins after the last class. Classes resume on March 19.

Spring break ends

Date
March 19, 2012

Spring vacation ends at 8:00 a.m. Classes resume today.