This is just a list of possible theses with related projects, in case you need them: a thesis should interest you, and you should have fun in doing it.

If you want to see the bigger picture—and I strongly recommend it—to see where these ideas can be applied in real life, check the research page, where you can find a broader description (and images: an image is worth a thousand words).

Choose what you really like.

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.

Distributed Analyses

Today's analyses, from DNA sequencers to physical simulations, are providing gigabytes and terabytes of data, exceeding the current computing power. Hence we need to go distributed, on a real 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.

Compressed Data Structures

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

Bare Metal Algorithms

Data analyses require a huge amount of memory with long times. We need to strongly scale from a smartphone to a workstation, using only the needed abstractions and knowing the underlying hardware.

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.