An image of Amanpreet Kapoor.

Built Programming: Remixing code at Scale

Computing students are expected to contribute to large unfamiliar codebases as they transition from university to industry settings. While core computing courses provide students several opportunities to write code or reuse code from standard libraries, students have less opportunities to read code or extend codebases written by other programmers. This assessment uses a novel instructional strategy, Build Programming, which is designed to promote code reading and comprehension in computing courses. In this strategy, a student (1) solves a programming problem, (2) is assigned a new codebase or solution from a peer who solved the same problem, and (3) is asked to extend the assigned peer’s code to solve another programming problem. This allows a student to understand and extend an authentic codebase which is situated in a context that they are familiar with. Thus, the assessment intends to scaffold code reading whereby the familiar context of the problem acts as a scaffold while the student is expected to navigate the structural and semantic differences in the assigned codebase to build a new product.