For example, a software design class might devote a considerable portion of instruction to techniques for debugging.22 Teachers and fellow students might endeavor to “break” vulnerable systems or designs. Professional or lay instructors might also provide specific forms of corrective feedback on individual projects, an activity requiring a common metalanguage shared by both teacher and learner.