Research projects

Information Extraction, Semantic Web, Intelligent User Interfaces

The Intelligence in Wikipedia Project

work with Fu Wei and Daniel S. Weld

(more info coming soon)

more info

User Interfaces

Evaluating Visual Cues for Window Switching on Large Screens

work with Patrick Baudisch and Daniel S. Weld

(more info coming soon)



Information Retrieval, Software Engineering

Searching for Code by Utilizing Web Structure

work with Daniel S. Weld

Code search on the web is becoming increasingly important, but our experiments suggest that current web search engines and code search engines do not work well for code. We are developing and evaluating new search engines for code that utilize the structure of code on the Web.

slides [PPT]

Human Computer Interaction, Machine Learning

Customizing Model-Based User Interfaces

work with Daniel S. Weld and Krzysztof Gajos

Noticing that users often make many similar customizations to a user interface, we developed a system that applies machine learning to automatically propose new customizations to a user.


Machine Learning

Model Selection for Support Vector Machines

work with Bernhard Sick

We compared a great number of model selection algorithms for Support Vector Machines in extensive experiments on benchmark datasets.

report [PDF]

Machine Learning

Algorithms for Non-Linear Discriminant Analysis

work with Bernhard Sick

We developed a novel algorithm for non-linear discriminant analysis that applies Backpropagation learning on a radial basis function network and compared it to other approaches that are based on multi-layer perceptrons and kernels.

report [PDF], slides [PPT]

Undergraduate Projects

Robotics, Vision, Scheduling, Machine Learning

Programming robots that play soccer

joint work with Michael Coduro, Thorsten Kamp, Michael Mandl, Florian Tausch, Markus Ramsauer

We developed the control software for a soccer playing robot. My responsibilities included the development of algorithms for image processing, sensor fusion and real-time scheduling.

slides [PPT]

Class Projects

CSE 574 - Artificial Intelligence II
(winter 2006, instructor: Daniel S. Weld)

ASSIEME: A Recommender System for Application Extensions

Studies have shown that users rarely customize their software, even if it would make their work more efficient. One form of customization is the installation of plug-ins that extend applications with new features. I built a system, that automatically recommends plug-ins to the user when they appear to be useful.

report [PDF], slides [PPT]

CSE 501 - Implementation of Programming Languages
(winter 2006, instructor: Craig Chambers)

Extending the Whirlwind compiler with analyses and transformations

together with Ning Chen

We extended the Whirlwind compiler, developed at UW, with Points-To-Analysis, Scalar Replacement, and Rapid Type Analysis. The Whirlwind compiler is written in the Diesel language.


CSE 567 - Principles of Digital Systems Design (autumn 2005, instructor: Gaetano Borriello)

Zhiphone - A Phone that Learns Context and User Preferences

together with Jing Liu

Users are often required to change the alarm type of their mobile phone when they enter a meeting or when they leave a building. We propose setting the alarm type automatically, based on context-information obtained from a variety of low-cost sensors. Our phone also adapts to user preferences by reinforcement learning.

report [PDF], slides [PPT]

CSE 561 - Computer Communication and Networks (instructor: Tom Anderson)

Design and Implementation of a wireless ad hoc network over sound

together with Rob Nash and Michael Piatek

We built a wireless network that uses sound waves as the means for communication. Our system is reliable, supports ad hoc routing, and applies a fair and efficient resource allocation mechanism.

report [PDF]

CSE 503 - Software Engineering (instructor: Rob Deline)

Design of a Secure Email System

together with Robert Franzen, Mattias Engelblom, Johan Hesselberg, and Ramy Shahin

We designed an email system for a multinational corporation focusing on the security aspect. We applied a variety of Software Engineering techniques, such as problem frames, and verified critical security issues using the SPIN model checking framework and the Alloy lightweight modelling and analysis tool.

slides [PPT]

CSE 527 - Computational Biology (autumn 2003, instructor: Larry Ruzzo)

Finding Regulatory Modules Using a Linear HMM and the Viterbi Algorithm

To fully understand the function of genes, one has to know the complex regulatory mechanisms that control gene expression. I applied the Viterbi algorithm with a linear hidden markov model to both synthetic and real data and showed that it can be used to find regulatory modules.

report [DOC], slides [PPT]

CSE 573 - Artificial Intelligence I (autumn 2003, instructor: Daniel S. Weld)

MARVIN: A Robocode controller

together with Daniel Lowd

Marvin is a Robocode controller that intelligently combines online and offline search. The online search considers all possible movements, then weights them by a heuristic function. Heuristic weights and other parameters are trained using offline hill climbing.

report [PDF], slides [PS]

Other classes

  • CSE 590 - Statistical Methods in Computer Science
    (spring 2004, instructor: Pedro Domingos)
  • CSE 521 - Design and Analysis of Algorithms
    (winter 2004, instructor: Anna Karlin)
  • CSE 574 - Artificial Intelligence II
    (winter 2004, instructor: Henry Kautz)