This is just a list of possible ideas with related research projects: see the bigger picture in the research page.

When approaching your thesis, ask yourself:
What do I want to learn?
What do I have fun doing?

OpenCL, CUDA & Co.

Usually we think about the CPU when doing work, and GPUs just for games. Things are a little blurry, however. We can use GPUs to make computations immensly faster.

High Performances

A computer is not a Von Neumann machine, it relies on a multi-level memory hierarchy, and RAM access isn't cheap. Smart data structures exploit the real underlying hardware.

Smart Data Structures

The available data exceeds the capabilities of a laptop, but it is highly redundant. We need to compress it, remove useless bits, and optimize data structures for modern architectures, without resorting to an expensive cluster.

Physics and Graphics

Computers are useful tool for enabling new engineering efforts. Developing algorithms to handle meshes and physics is quite exciting, and essential in modern graphics.

Past Theses

Ventricle Animation

Non linear elastic heart animation in Maya with Finite Elements.

Bridge Animation

Non linear aeroelastic "Tacoma Narrows" bridge animation in Maya.

Dissipation & Data Structures

Effects of cache-oblivious data structures on power dissipation.

DNA Assembly on Smartphones

Out-of-core DNA analysis and assembly on mobile devices.