A blueprint for introducing disruptive technology into the Internet
ACM SIGCOMM Computer Communication Review
BOINC: A System for Public-Resource Computing and Storage
GRID '04 Proceedings of the 5th IEEE/ACM International Workshop on Grid Computing
Seattle: a platform for educational cloud computing
Proceedings of the 40th ACM technical symposium on Computer science education
Globus toolkit version 4: software for service-oriented systems
NPC'05 Proceedings of the 2005 IFIP international conference on Network and Parallel Computing
Experiences teaching MapReduce in the cloud
Proceedings of the 43rd ACM technical symposium on Computer Science Education
Using clouds for MapReduce measurement assignments
ACM Transactions on Computing Education (TOCE)
Hi-index | 0.00 |
In Fall 2008, we moved Harvard College's introductory computer science course, CS50, into the cloud. Rather than continue to rely on our own instructional computing infrastructure on campus, we created a load-balanced cluster of virtual machines (VMs) for our 330 students within Amazon Elastic Compute Cloud (EC2). Our goals were both technical and pedagogical. As computer scientists, we wanted more control over our course's infrastructure (e.g., root access), so that we ourselves could install software at will and respond to students' needs at any hour without an IT department between us and our systems. As teachers, we wanted easier access to our students' work (as via su) as well as the ability to grow and shrink our infrastructure as problem sets' computational requirements demanded. But we also wanted to integrate into the course's own syllabus discussion of scalability, virtualization, multi-core processing, and cloud computing itself. What better way to teach topics like those than to have students actually experience them. Although Amazon supported our experiment financially with credits, it was not without costs. Serving as our own system administers cost us time, as did some self-induced late-night technical difficulties. But the upsides proved worth it, as we accomplished our goals. We present in this paper what we did right, what we did wrong, and how we did both so that others can more easily build their own home in the cloud.