Providing a supported online course on parallel computing

Learning the principles of computational modeling and parallel computing requires more than a short workshop. Workshops generally run from a few hours to a few days and are therefore limited in the amount of material that can be covered. In addition, it is more difficult for participants to retain large amounts of new material under the time pressures of a workshop. Deeper understanding of such complex materials can come from more traditional academic courses. Yet, many institutions either lack the expertise or the curriculum flexibility to offer such courses. In the spring of 2013 we offered the equivalent of a full semester course entitled Applications of Parallel Computing as an open, online course in an effort to address these issues. The course was offered over a period of thirteen weeks using materials captured from the University of California Berkeley course CS267. Enrollment was initially limited to 345 students. Creating and implementing the course involved decisions in several areas: design of the instructional materials, creating an environment to run programming assignments, support mechanisms for the large number of students taking the course, and automatic grading of assignments. In this session, we will present a summary of the experience in addressing these questions along with an evaluation of the course outcomes.