2:15 - 3:30 |
KEY NOTE TALK: Using MOOCs to Reinvigorate Software Engineering Education
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.
|
3:30 - 4:00 |
Functional Programming For All! Scaling a MOOC for Students and Professionals Alike
Massive open online courses (MOOCs) have launched a scale shift in higher education, with several individual MOOCs now boasting tens or hundreds of thousands of participants worldwide. Our MOOC on the principles of functional programming has more than 100,000 registered students to date, and boasts one of the highest rates of completion (19.2%) for its size. In this paper, we describe our experience organizing this popular MOOC, and demonstrate how providing innovative supporting tools (IDE plugins, testing frameworks, interactive build tools, automated cloud-based graders, style checkers) and considering key human-computer interaction factors potentially contributed to this markedly high completion rate. We collect an unprecedented volume of course statistics and survey results and have made them available, along with scripts for generating interactive web-based visualizations, as an open-source project.
|