Bricks: Extreme Active Learning for Introductory Programming
David Stotts, Yu Ji · 2020
Bricks is an extreme active learning environment developed for teaching intro programming using learn-by-doing: students learn by writing code in class and getting instant feedback on their progress. In use for 6 years at UNC, Bricks has increased class attendance, student comprehension and mastery of content, in-class interactions, and student satisfaction. The demo shows "a day in the life" of a Bricks student, with the presenter as instructor. Audience members with laptops will be able to participate in the student coding and learning experience. In the Bricks pedagogy, the instructor writes code in-class to demonstrate basic language use, as well as algorithmic design thinking. Students "type what I type" and write the same code, for small credit. Every class period is almost entirely coding, and discussing the programs. Out of class, these in-class examples guide students in "do it yourself" programming. Bricks has a client/server web-based architecture. The demo runs both the student programming interface and the instructor dashboard. We illustrate tracking class progress as the audience writes student code, and we project some student work for class discussion and comparisons. We also show the on-line help system, where student questions about program problems are handled in real-time. A new feature called "crowd sourcing solutions" supports collaborative coding of larger programs. Starter code is distributed to students through the Bricks database, and student solution components are collected back for integration and testing. More details can be found in this paper: http://www.cs.unc.edu/~stotts/SIGCSE2020/BricksExLearn.pdf