About‎ > ‎


Armando and Dave have visited a few schools to give a presentation on this. Contact us if you’d like us to come give the presentation at your school.

Below are the abstract and speaker bios; here are the presentation slides (>10MB).


The spectacular failure of the Affordable Care Act website ("Obamacare") has focused public attention on software engineering. Yet experienced practitioners mostly sighed and shrugged, because the historical record shows that only 10% of large (>$10M) software projects using conventional methodologies such as Waterfall are successful. In contrast, Amazon and others successfully build comparably large and complex sites with hundreds of integrated subsystems by using modern agile methods and service-oriented architecture.

This contrast is one reason industry has complained that academia ignores vital software topics, leaving students unprepared upon graduation. In too many courses, well-meaning instructors teach traditional approaches to software development that are neither supported by tools that students can readily use, nor appropriate for projects whose scope matches a college course. Students respond by continuing to build software more or less the way they always have, which is boring for students, frustrating for instructors, and disappointing for industry.

This talk explains how the confluence of cloud computing and Massive Open Online Courses (MOOCs) have allowed us to greatly improve both the effectiveness and the reach of UC Berkeley's undergraduate software engineering course. The shift toward Software as a Service has not only revolutionized the future of software, but changed it in a way that makes it easier and more rewarding to teach. UC Berkeley’s revised Software Engineering course leverages this productivity to allow students to both enhance a legacy application and to develop a new app that matches requirements of non-technical customers. By experiencing the whole software life cycle repeatedly within a single college course, and by using the same tools and techniques that professionals use, students actually use and learn to appreciate the skills that industry has long encouraged. The course is now popular with students, rewarding for faculty, and praised by industry.  The technology developed for the course has also been used to offer a subset of the material as a MOOC to hundreds of thousands of students, and through an arrangement with edX, is available to classroom instructors interested in trying this approach as a SPOC (Small Private Online Course) offering instructor support far beyond what is usually available for traditional textbooks. Indeed, our experience has been that despite recent hand-wringing about MOOCs destroying higher education, appropriate use of MOOC technology can improve on-campus pedagogy, increase student throughput while raising course quality, and even reinvigorate faculty teaching.

Speaker Bio

Armando Fox (fox@cs.berkeley.edu) is a Professor in Berkeley's Electrical Engineering & Computer Science Department as well as the Faculty Advisor to the UC Berkeley MOOCLab. He co-designed and co-taught Berkeley's first Massive Open Online Course on Engineering Software as a Service, currently offered through edX, through which over 10,000 students worldwide have earned certificates of mastery. He also serves on edX's Technical Advisory Committee, helping to set the technical direction of their open MOOC platform. With colleagues in Computer Science and in the School of Information, he is doing research in online education including automatic grading of students' computer programs and improving student engagement and learning outcomes in MOOCs. His other computer science research in the Berkeley ASPIRE project focuses on highly productive parallel programming. While at Stanford he received teaching and mentoring awards from the Associated Students of Stanford University, the Society of Women Engineers, and Tau Beta Pi Engineering Honor Society. He has been a "Scientific American Top 50" researcher, an NSF CAREER award recipient, a Gilbreth Lecturer at the National Academy of Engineering, a keynote speaker at the Richard Tapia Celebration of Diversity in Computing, and an ACM Distinguished Scientist. In previous lives he helped design the Intel Pentium Pro microprocessor and founded a successful startup to commercialize his UC Berkeley Ph.D. research on mobile computing. He received his other degrees in electrical engineering and computer science from MIT and the University of Illinois. He is also a classically-trained musician and performer, an avid musical theater fan and freelance Music Director, and bilingual/bicultural (Cuban-American) New Yorker living in San Francisco.

Photo to accompany bio

Armando Fox,
Mar 5, 2014, 10:47 AM