Armando Fox fala sobre ensino de computação em larga escala

O Prof. Armando Fox, da Universidade da Califórnia em Berkeley, fará uma visita ao CCSL e apresentará uma palestra sobre o ensino da computação, onde descreverá sua experiência como professor de um grande número de alunos simultaneamente. Não perca a oportunidade de conhecer esse trabalho!


Título: Scaling Computer Science Education
Local: Auditório Antonio Gilioli, bloco A do IME/USP
Data: 21 de setembro (segunda-feira)
Horário: 14:00h

Resumo: From 2008 to 2010, Armando Fox and David Patterson refocused UC Berkeley's 14-week undergraduate software engineering course on agile development, emphasizing behavior-driven design (BDD), automated testing, and team skills for working with nontechnical customers, all with a strong "learn by doing" implementation.  This talk describes how the classroom experience of the course imparts the fundamental skills a software developer must have in the 21st century.  A highlight of the course is an open-ended project in which students work in "two-pizza teams" (6 per team in our case) building a real SaaS prototype application for a nonprofit, NGO, or campus unit, using Behavior-Driven Design to engage closely with a nontechnical customer and deploying to the public cloud. This approach means that the customer can always see the latest version, students can point to the deployed app as part of their portfolio, and many customers continue to use the app after the course ends.

Thanks to the automation developed for the MOOC (Massive Open Online Course), the campus course scales exceptionally well: complete programming assignments with detailed autograders give students immediate feedback while relieving professors and teaching assistants of the drudgery of manually grading code, so they can focus their pedagogical effort and time on coaching the student projects.  In fact, with the support of edX, interested instructors can essentially have a SPOC—Small Private Online Course, their own personalized copy of the MOOC materials for delivery in their classrooms—already connected to our "autograding-as-a-service".

As a result, we have found that a teaching assistant can spend about an hour per week per project and give high quality feedback: In our most recent offering to 240 students,  5 teaching assistants working 20 hours per week were easily able to handle 40 project teams of 6 students each (the TAs also had other duties such as office hours, exam reviews, exam grading, etc.).  This scale-up is critical since students, instructors, and employers agree that the project is a critical element of the learning experience.  The resulting course is praised by industry as well as academics and has become one of the most popular upper-division Berkeley courses, earning the highest reviews for any Berkeley software engineering course in 20 years, despite its enrollment growing from 55 to 240 in the four years since the course was relaunched.

The combination of the inexpensive textbook (available as both print and ebook) and MOOC/SPOC materials results in a scalable yet high quality course that fulfills the 2013 ACM/IEEE curriculum guidelines for software education, combining practical skills with a solid basis in more formal software engineering techniques.

Sobre o palestrante: Armando Fox is a Professor in the EECS Department at UC Berkeley and a co-PI of the ASPIRE Lab. As of Fall 2012, he is also the Director of the Berkeley MOOCLab, whose mission is to stimulate and fund research related to online-enhanced education. He received his Ph.D., M.S. and B.S. degrees at Berkeley, Illinois and MIT, respectively. His current research interests include applied statistical machine learning, Software as a Service (SaaS) and cloud computing, highly-productive parallel programming, and online education, especially in programming and software engineering. With Prof. David Patterson, he launched Berkeley's first MOOC (CS 169.1x on based on their successful reinvention of the undergraduate software engineering course, and co-authored the accompanying e-textbook Engineering Software as a Service.