Use-Modify-Create (UMC) is a learning strategy that uses scaffolding to develop computational thinking (CT) and computer science (CS) skills. UMC allows students to progress gradually through three iterative stages. During the “use” stage, students explore an existing program, model, or game to figure out how it works. Teachers provide guiding questions to focus students during exploration. After students become more familiar with the program, they begin making minor modifications. As they become more comfortable with the program, they can increase the complexity of their changes. After modifying various aspects of the program, students gain more confidence and are ready to complete a programming challenge using what they learned from the “use” and modify” stages to create an artifact. Teachers can increase the complexity of each stage as students gain more confidence and skills.
As a learning strategy, use UMC when you want students to:
As an instructional strategy, use UMC when you want to:
Advance Prep
Implementation
Use-Modify-Create aligns with culturally responsive teaching because it supports student ownership and agency over their learning. As students work toward creating their own computational artifacts, they can explore and make sense of the computer science and computational thinking concepts embedded in the activity. Rigor and complexity build over time with an experiential approach that meets the needs of diverse learners. Ultimately, students have the freedom to create their own artifacts, applying the understanding they developed through the “use” and “modify” stages. This strategy promotes confidence and encourages creative thinking, which is essential for culturally responsive teaching.
Also a way to create sense of “ownership” in learning.
Students go from users to creators in the Use-Modify-Create lessons, their sense of ownership of the project will increase to match that of students who participate in lessons where they always create code from scratch.
5.3 Data & analysis, 5.4 Algorithms & programming