The design and analysis of algorithms and data structures is one of
the core areas within computer science. Our group investigates a broad
range of theoretical and practical aspects of modern algorithmics. We
address both fundamental problems and new challenges raised by
technological developments of computer platforms and by new computing
phenomena, such as communication networks and massive data sets. We
use both analytical and experimental methods to support the design and
Our interests include algorithms for graphs and networks, parallel,
distributed and randomized algorithms, resilient algorithms and data
structures, graph drawing, algorithms for massive data sets, and Web
More information about our research activities (including lists of
publications) can be found on the Web pages of the individual members
of the group.
- Algorithm Engineering
- In this context we study how the general models and techniques used by theoreticians can fit to actual existing machines...
- Algorithms for Massive Data Sets
- We study how algorithm design techniques and technological aspects of complex memory systems interact and adapt to each other...
- Distributed Algorithms
- We study basic combinatorial problems in a distributed setting, such as vertex and edge colorings. In recent work we succesfully extended the primal-dual schema...
- Graph Coloring Generalizations
- We focus on some graph coloring generalizations that arose first from a channel assignment problem in radio networks, looking for exact and approximation efficient coloring algorithms on specific graph classes...
- Graph Drawing
- We design algorithms for authomatically generating clear and readable geometric representations of graphs, networks and related combinatorial structures...
- Probabilistic Protocols for Networks
- Probablistic networks are often the solution of choice for many network problems. In recent work we developed simple and very effective probabilistic protocols...
- Resilient Algorithms and Data Structures
- In this context, we are interested in the design of algorithms and data structures that are able to perform efficiently the tasks they were designed for, even in the presence of unreliable or corrupted information...
- Tree Encoding
- We work on algorithmic aspects related to encoding, decoding, and properties of these codes...
- Web Information Retrieval
- We are interested in basic algorithmic issues that remain central to (web) information retrieval such as nearest neighbour algorithms, caching policies and optimization...
More details and link to courses can be found here.
- A first course on Algorithms
- A second course on Algorithms
- A first course on Computer Programming
- Computability and Complexity
- Network Algorithms
- Parallel and Distributed Algorithms
- Probabilistic Algorithms
- Visualization Algorithms
- Algorithmic Principles for Building Efficient Overlay Computers. [more]
- Dynamically Evolving Large-scale Information Systems. [more]
- Grant of Yahoo! Research. [more]
- ENEA CRESCO
- Centro computazionale di RicErca sui Sistemi COmplessi. [more]
- Algorithms for Massive Information Structures and Data Streams. [more]
- Web Ram
- Web Retrieval and Mining. [more]