The Chapel Parallel Programming Language

Chapel in Education

Parallel programming is becoming an increasingly crucial skill due to the dominance of multicore processors and the resulting need for familiarity with parallelism in mainstream computing. As a result, we expect that Computer Science courses will increasingly want to cover such diverse topics as:

  • data parallelism
  • task parallelism
  • concurrent programming
  • synchronization
  • deadlock, livelock, and other pitfalls
  • locality/affinity
  • shared- and distributed-memory programming
  • scalability and performance
  • ...

The Chapel group believes that most parallel programming models that are in practical use today are insufficient for teaching all of these topics; moreover, most of them are not very good at teaching many of these concepts clearly at all.

Until now: We believe that Chapel has the potential to play an important role in parallel programming education due to its elegance and integrated support for diverse styles of parallelism. Moreover, Chapel's open source implementation makes it well-suited for more advanced project-based courses in which students take on longer-term research or programming projects.

Chapel Educators Mailing List

If you're interested in participating in discussion about Chapel's use in an educational setting, please consider subscribing to the chapel-education discussion list at SourceForge.

Chapel Tutorials Developed by Educators

The following is a list of tutorials developed by educators to help teach Chapel to their students:

(also see the tutorials page for tutorials developed for HPC practitioners)

Research on Chapel in Education

The following are research efforts looking at the use of Chapel in education:

Use of Chapel in Courses

The following is a list of educators and courses in which they've used Chapel, provided as a resource for others who are thinking of using Chapel in their teaching. If you've used Chapel in your courses and would like to propose adding them to this list, please let us know at chapel_info@cray.com