Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Q: Who can enroll in this course?
A: The course is for undergrads at Berkeley, and is oversubscribed. This means that there will not be room for graduate or exchange students.
Q: What are the prerequisites for this class?
A: There are no specific course prerequisites, though CS162 and CS186 will be useful. It is more important that you are a fluent programmer, happy to pick up new languages quickly. You should have the desire to build intricate systems, coupled with the patience to reason about specifications before jumping in to build.
Q: I am a Berkeley undergraduate currently on the waitlist. How do I get enrolled?
Q: I heard there is an entrance exam. Is that true?
A: Enrollment in the class–whether you are officially listed as enrolled or on the wailist–depends on a questionnaire and take-home programming exercise given the first day of class. By the third day of class (the following Tuesday) you will be notified if you will be allowed to enroll for the semester.
Q: Why are you teaching this class?
A: Modern software is moving toward a hosted model, where large-scale services run across many computers. These distributed "cloud" services are widely considered to be hard to build–both because standard programming tools were not designed for distributed systems, and because programmers were not trained to think about distributed systems. We aim to attack both sides of this problem: develop new programming models, and educate a new generation of developers. This class is intended to explore both those issues via a new curriculum, and by furthering our work on the Bloom language for distributed computing.