Approximation Algorithms

Prof. Moses Charikar, Princeton, 2001.

  1. Presentation on the algorithm by Calinescu et al. for the Minimum Multiway Cut problem. [gzipped postscript]

 

Advanced Data Structures

Prof. Ruy Luiz Milidiú, PUC-Rio, 2000.

  1. Monograph on amortized analysis and the union-find data structure. Includes a detailed version of Tarjan's proof that each operation in the forest implementation of the union-find data structure (with path compression and union by rank) can be performed in amortized time proportional to the inverse of Ackermann's function. [gzipped postscript (in Portuguese)]

 

Computational Geometry

Prof. Luiz Henrique de Figueiredo, PUC-Rio/IMPA, 2000.

  1. Final assignment, with Diogo Andrade, Diego Nehab, and Danilo de Oliveira. There are actually two different projects: one is on the simplification of polygonal chains and the other is on the computation of generalized Voronoi diagrams using hardware acceleration. [home page (in Portuguese)]

 

Discrete Structures

Prof. Marcus Poggi de Aragão, PUC-Rio, 2000.

  1. Lecture notes written with Prof. Poggi (I was his T.A. in this course). Although this is not the final version, it is fairly readable. [gzipped postscript (in Portuguese)]

 

Metaheuristics

Prof. Celso C. C. Ribeiro, PUC-Rio, 2000.

  1. Metaheuristics for the Steiner Problem in Graphs. Includes three constructive heuristics, local search (with two different neighborhoods), a GRASP (Greedy Randomized Adaptative Search Procedure) and path-relinking. Applying randomization techniques to the instance itself rather than to the constructive algorithms results in a much simpler (and faster) implementation of the GRASP without any noticeable loss in quality. [gzipped postscript (in Portuguese)]

 

Design and Analysis of Algorithms

Prof. Celso C. C. Ribeiro, PUC-Rio, 1999.

  1. On the placement of 8 pieces (Queen, King, Knights, Bishops and Rooks) on a chessboard so that every position is under attack. This report presents a branch-and-bound procedure that proves that such a placement does not exist. [gzipped postscript (in Portuguese)]

  2. Experimental comparison of sorting algorithms, written with Angela de Lancastre and Alberto Sardinha. Although Sardinha has implemented some of the algorithms as Java applets, our comparisons are based on their implementations in C. [gzipped postscript (in Portuguese)]

 

Computer Graphics

Prof. Jorge Stolfi and Prof. Cândido Xavier de Mendonça, Unicamp, 1998.

  1. Modeling LEGO in POV-Ray. Not very challenging, but the images are cute. [home page (in Portuguese)]

 

Introduction to Programming

Prof. Hans Liesenberg, Unicamp, 1995.

  1. Destroyer ("Batalha Naval"), a nice but boring board game. There are versions for DOS and Windows, both written in Borland Pascal. Enjoy! [DOS version (in Portuguese, 30.6 KB)] [Windows version (in English, 44.7 KB)]