Skip to main content
Article thumbnail
Location of Repository

Torwards Concrete Concurrency: occam-pi on the LEGO Mindstorms

By Christian L. Jacobsen and Matthew C. Jadud


In a world of ad-hoc networks, highly interconnected mobile devices and increasingly large supercomputer clusters, students need models of computation that help them think about dynamic and concurrent systems. Many of the tools currently available for introducing students to concurrency are difficult to use and are not intrinsically motivating. To provide an authentic, hands-on, and enjoyable introduction to concurrency, we have ported occam, a language whose expressive powers are especially compelling for describing communicating dynamic reactive processes, to the LEGO Mindstorms

Topics: QA76
Publisher: ACM
Year: 2005
OAI identifier:

Suggested articles


  1. (1998). A concurrency simulator designed for sophomore-level instruction. doi
  2. (1995). A laboratory for teaching parallel computing on parallel structures. doi
  3. (2003). Ada/mindstorms 3.0: A computational environment for introductory robotics and programming. doi
  4. (2000). An Ada interface to LEGO Mindstorms. doi
  5. (2003). An innovative course in parallel computing.
  6. (1998). An integrated course on parallel and distributed processing. doi
  7. BrickOS for the LEGO Mindstorms. doi
  8. (1999). Challenging the computational metaphor: Implications for how we think, doi
  9. (1994). Circuits to Control: Learning Engineering by Designing LEGO Robots.
  10. (1999). Communicating and mobile systems: the pi-calculus. doi
  11. (1999). Communicating and mobile systems: the π-calculus. doi
  12. (2004). Communicating Mobile Processes. doi
  13. (1985). Communicating Sequential Processes. doi
  14. (2004). Concepts, Techniques, and Models of Computer Programming. doi
  15. (1996). Concurrent Programming in Erlang. doi
  16. (1999). Dave Baum’s Definitive Guide to Lego Mindstorms. APress doi
  17. (2003). Dynamics and Pragmatics for High Performance Concurrency.
  18. (2004). Enhancing lisp instruction with RCXLisp and robotics. doi
  19. (1996). Handel-C Language Reference Guide.
  20. (2004). Measuring API usability.
  21. (2001). Starving philosophers: experimentation with monitor synchronization. doi
  22. (2000). Teamstorms as a theory of instruction. doi
  23. (1996). The Kent Retargetable occam Compiler.
  24. The OpenMP Architecture Review Board. OpenMP Specifications version 2.0.
  25. (2004). The pbForth Home Page,
  26. (2000). The ROBOLAB system,
  27. (1993). The SR Programming Language: Concurrency in Practice.
  28. (2004). The Transterpreter: A Transputer Interpreter.
  29. (2003). Threadmentor: a pedagogical tool for multithreaded programming. doi
  30. (1994). Turtles, Termites, and Traffic Jams: Explorations in Massively Parallel Micorworlds. doi
  31. (1999). Using autonomous robotics to teach science and engineering. doi
  32. (2004). Using robotics to motivate ’back door’ learning. doi

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.