Category
Algorithms & Theory
Language
C++

Ligra is a lightweight framework for processing graphs in shared memory. It is particularly suited for implementing parallel graph traversal algorithms where only a subset of the vertices are processed in an iteration. The project was motivated by the fact that the largest publicly available real-world graphs all fit in shared memory. When graphs fit in shared-memory, processing them using Ligra can give performance improvements of up orders of magnitude compared to distributed-memory graph processing systems.

MIT License
Last Updated
Category
Algorithms & Theory
Language
C++

FALCONN is a library with algorithms for the nearest neighbor search problem. The algorithms in FALCONN are based on Locality-Sensitive Hashing (LSH), which is a popular class of methods for nearest neighbor search in high-dimensional spaces. The goal of FALCONN is to provide very efficient and well-tested implementations of LSH-based data structures.

MIT License
Last Updated
Category
Algorithms & Theory

The Virtual Glass software lets anyone, with any or no glass experience, design and visualize glass cane, and to get a sense of what that cane will look like on a blown piece, all on your computer (without lifting a pipe!). The goal is to allow the exploration of cane designs, especially new cane designs, and settle on a nice-looking design before going through the effort of making it.

MIT License
Last Updated
Category
Algorithms & Theory
Language
Java

Coauthor is a tool for group collaboration, discussion, keeping track of notes/results of meetings, etc. Its primary goal is to ease multiauthor collaboration on unsolved problems in theoretical computer science, so e.g. you'll find LaTeX math support; hopefully it will have applications in other fields too.

MIT License
Last Updated
Image
robots do chores
MIT news article

Training interactive robots may one day be an easy job for everyone, even those without programming expertise. Roboticists are developing automated robots that can learn new tasks solely by observing humans. At home, you might someday show a domestic robot how to do routine chores. In the workplace, you could train robots like new employees, showing them how to perform many duties.