Sergey Brin

Computer Science Department,
Stanford University,
Stanford, CA 94305


September 1993 - Present: Stanford University, Computer Science Department

Ph.D.: expected June 1997.
M.S.: received August 1995.
Advisor: Professor Hector Garcia-Molina.

September 1990 - May 1993: University of Maryland

B.S. in Mathematics and Computer Science. Graduated with high honors in Mathematics and honors in Computer Science.


"Near Neighbor Search in Large Metric Spaces", S.Brin, Proceeding of Very Large Data Bases (VLDB) 1995. (html)

"Copy Detection Mechanisms for Digital Documents", S. Brin, J. Davis, H. Garcia-Molina, ACM SIGMOD 1995. (html)

Research Projects


This project involved indexing multidimensional data for near-neighbor searches. The kind of applications I envision are identity comparisons, information finding, molecular biology, ... A paper (html) appeared in VLDB '95. Different versions of the data structure were implemented using Mathematica, C, and finally C++.


I worked on a project with Hector Garcia-Molina involving automated detection of copyright violations. Together with James Davis (another Ph.D. student here), we developed COPS, the COpyright Protection System. The paper (html) appeared in SIGMOD '95.

Current Research Directions and Hacks

Movie Ratings

A new project I have just started is going to generate personalized movie ratings for users. The way it works is as follows. You rate the movies you have seen. Then the system finds other users with similar tastes to extrapolate how much the you will like some other movies. It is currently written entirely in Python.

LaTeX to HTML Converter

I've been hacking on a LaTeX to HTML converter which was used to generate the HTML versions of the papers above. It is unique in that it is in written mostly TeX and hence is a somewhat more elegant design than other converters. A small portion of it is written in Perl.

Work Experience

Summer 1993: Wolfram Research

I developed a code analysis and extraction tool for the Mathematica source code.

September 1992 - May 1993: University of Maryland Systems Design and Analysis Group

At SDAG, I developed algorithms for scheduling in real time systems. This involved finding approximations for NP-complete problems. Additionally, I worked on profiling tools for real time systems.

Summer 1991 and Summer 1992: General Electric Information Services

In 1991, I developed a macro language library which could be embedded into any application. This was important for GEIS because it demonstrated the use of C++ to them. The following summer I developed a graphical front end for a file transfer program using C++

December 1991 - June 1992: Mathematics Department

Dr. Goldman is in the Mathematics Dept. at the University of Maryland and works in the fields of geometry and topology. I worked with him to develop a portable C++ library for the visualization of objects in non-Euclidean geometries.

June 1990 - June 1991: University of Maryland Institute for Advanced Computer Studies

I developed and implemented of parallel algorithms for image processing. These included connected component analysis, image smoothing, and image enhancement. Additionally, I developed parallel 3-D graphics routines suitable for a flight simulator. Both projects were implemented using C/PARIS and C* (6.0+) on a Connection Machine 2 with 16384 processors.