We are a group of educators and researchers exploring the development of tools that make parallel programming more accessible to more people. Our hope is that concurrency.cc will serve the community of developers surrounding parallel and concurrent languages on large, server-class systems all the way down to the humble Arduino and other low-cost embedded platforms.


occam-π was originally designed under the guidance of David May, implemented by the fine people at Inmos Ltd., and shepherded by Professor Peter Welch at the University of Kent in Canterbury, England for the past 20 years (give or take). Many of the features that put the π in occam-π were implemented by Fred Barnes.

The Transterpreter, which allows us to run occam-π on tiny platforms like the Arduino, was originally designed and written by Christian Jacobsen and Matt Jadud. It was extended and improved by Damian Dimmich, Carl Ritson, Adam Sampson, and Jon Simpson. The c.cc board was designed by Omer Kilic. The concurrency.cc logo was designed by Geoffrey Long.

Contributing Plumbers

The Plumbing library was originally written by Christian Jacobsen, Matt Jadud, and Adam Sampson. Contributors since then include:

  • Drew Pirrone-Brusse completely disassembled and re-assembled the Plumbing libraries, making it possible to write programs using Plumbing for the Arduino, Arduino Mega, Seeed Studio Mega, and ArduPilot Mega. (Summer 2010)
  • Ian Armstrong and Anthony Smith developed filtering algorithms and control code for UAV control, building on top of the Plumbing libraries. (Summer 2010)
  • Radu Creanga did the initial work bringing PWM to the Arduino platform. (Fall 2009)

Getting Involved & Outreach

Our projects are all open; our code, our book, and even this website is a git-hosted project that you can contribute to.

If you’re interested in learning more about parallel programming on real hardware, we’d be happy to talk to you about running hands-on training sessions or workshops that involve everything from soldering to parallel software design and implementation.

Want to know more?

Our group has written many papers and given many talks on our ongoing research regarding concurrent and parallel programming languages. In 2007, we gave a talk at Google titled Robots, Runtimes, and Clusters that you might find useful as an overview. While many things have changed since then, the critical aspects of our project and its motivation remain the same.