Coding at a Crossroads
Total Page:16
File Type:pdf, Size:1020Kb
contributed articles DOI:10.1145/3375546 and approaches—that is the big chal- While millions of students worldwide have lenge for the next decade. The expansion of coding in educa- enjoyed coding experiences over the last tion has been catalyzed by new types of decade, the next challenge is spreading programming interfaces (particularly educational values and approaches. block-based coding1), a proliferation of nonprofit initiatives supporting com- puter-science education (such as Code. BY MITCHEL RESNICK AND NATALIE RUSK org, CSforAll, and Code Club), and a growing array of programmable devic- es that broaden the range of what stu- dents can code (such as micro:bit,20 ro- botics kits,9 and programmable toys23). Coding at Our own work on Scratch (Figure 1) has both contributed to and benefitted from this broader trend. When we started developing the Scratch pro- a Crossroads gramming language and online com- munity in 2002, our goal was not sim- ply to help children learn to code. We had a broader educational mission. We wanted to provide all children, from all backgrounds, with opportunities to learn to think creatively, reason system- atically, and work collaboratively. These THE EDUCATIONAL USE of coding in schools is at skills are essential for everyone in to- day’s fast-changing world, not just a crossroads. those planning to become engineers We are at a moment of extraordinary opportunity. and computing professionals. And A decade ago, our research group wrote an article these same skills are valuable in all as- pects of life, not just for success in the for Communications titled “Scratch: Programming workplace but also for personal fulfill- for All.”15 At the time, our subtitle was aspirational. ment and civic engagement.13 The use of Scratch has been growing Now, it is becoming the reality. School systems and rapidly throughout the world: in the past policymakers are embracing the idea that coding can year, more than 20 million young people and should be for everyone. Countries from Chile created Scratch projects (Figure 2). Scratch began with use primarily in homes and to England to South Africa to Japan are introducing informal learning settings,11 but use in coding to all students. schools has expanded to more than We are also at a moment of extraordinary challenge. half of all Scratch activity. Around the In many places, coding is being introduced in ways key insights that undermine its potential and promise. If we do not ˽ In many educational settings, coding is think carefully about the educational strategies and introduced in narrow ways that focus primarily on teaching specific concepts, pedagogies for introducing coding, there is a major rather than supporting students in developing the creativity, collaboration, risk of disappointment and backlash. and communication skills needed to During the past decade, we have seen that it is thrive in today’s fast-changing world. ˽ For students to develop computational possible to spread coding experiences to millions of fluency and creative thinking skills, they children around the world. But we have also seen that need opportunities to create projects, based on their passions, in collaboration it is much more difficult to spread educational values with peers, in a playful spirit. 120 COMMUNICATIONS OF THE ACM | NOVEMBER 2020 | VOL. 63 | NO. 11 Figure 1. The Scratch website in June 2020. world, young people are using Scratch learning to code, they are coding to ˲ Too often, schools are introduc- in a wide variety of ways. For example: learn. They are not only learning impor- ing students to computer science by ˲ middle-school students across sev- tant mathematical and computational teaching them definitions of words as- eral countries created Scratch projects concepts, they are also deepening their sociated with computing, without pro- illustrating their visions for how tech- understanding of ideas in other disci- viding them with opportunities to nological innovations would transform plines and developing a broad range of learn and apply computational con- society by the year 2050; problem-solving, design, collabora- cepts and practices in the context of ˲ thousands of young people created tion, and communication skills.7,16 meaningful activities. For example, Scratch animations against racism and Unfortunately, in many educational some school districts introduce com- in support of the Black Lives Matter settings, coding is introduced in much puting to elementary-school students movement; more limited and constrained ways, so by teaching them the definition of the ˲ an elementary-school teacher in that students do not have the opportu- word “algorithm” and the differences Mexico integrated Scratch into a sci- nity to experience the full conceptual between hardware and software, instead ence unit on butterflies, with students and expressive powers of coding. Here of engaging students in active learning creating animations of the butterfly life are some of the challenges: through computing activities, such as cycle and robotic models of butterfly motion, based on their observations of Figure 2. Projects shared in the Scratch online community. real butterflies; Scratch Projects Shared by Year ˲ students from around the world 12,000,000 created a studio called #ProtectOurEarth 10,000,000 where they shared hundreds of projects highlighting issues related to climate 8,000,000 change, including a game where you 6,000,000 Projects guide a polar bear across the melting 4,000,000 Arctic ice caps. 2,000,000 0 Opportunities and Challenges 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 In the process of creating and sharing Year projects like these, students are not just NOVEMBER 2020 | VOL. 63 | NO. 11 | COMMUNICATIONS OF THE ACM 121 contributed articles coding an animated story or program- consideration what the student’s pro- ming a robot to dance. gram is intended to do, how well it ac- ˲ Too often, coding is introduced complishes the student’s goals, wheth- by telling all students to copy the ex- er the code works as intended, whether act same code, rather than encourag- people are able to interact with it, or ing them to experiment, prototype, In our research, how the student’s thinking develops and debug. On the Scratch website, we have seen how over a series of projects. We see greater we once saw 30 identical projects potential in other research and evalua- shared at the same time. At first we coding becomes tion approaches, such as those that thought this duplication of projects most motivating document and analyze teachers’ facili- was a problem with the website, but tation practices and students’ learning then we noticed that each project had and meaningful trajectories over time.6,8 a different username, and we realized For coding initiatives to live up to the projects were all from a single for students their promise and potential, signifi- classroom, where 30 students had fol- when they have cant changes are needed in how coding lowed the same instructions to make is put into practice in educational sys- the same project with the same imag- opportunities tems around the world. es and same code. Although this to create classroom activity may have intro- Computational Fluency duced students to the basic mechan- their own projects In most educational coding initiatives, ics of coding, it did not provide oppor- and express there is a recognition that the goal tunities for creative thinking and should be broader than teaching spe- problem solving. their own ideas. cific programming techniques. Many ˲ Too often, schools allocate only a educational initiatives are framed brief period of time for learning to around the development of computa- code. Within this limited time, stu- tional thinking—that is, helping stu- dents might learn some basic terms dents learn computer-science con- and concepts, but they don’t have the cepts and strategies that can be used in opportunity to put the ideas to use in a solving problems in a wide range of meaningful way, and thus are unlikely disciplines and contexts.22 to be able to apply the ideas in other Computational thinking is certainly contexts and other subjects. And in sit- a worthy goal, but many initiatives focus uations where coding is allocated more too narrowly on teaching concepts out time, the curriculum often pushes of context or presenting students with teachers and students to shift from one problems that have a single correct an- coding tool to another, rather than pro- swer. In our research, we have seen how viding time for learning a tool well coding becomes most motivating and enough for designing projects, solving meaningful for students when they have problems, and communicating ideas. opportunities to create their own proj- One large-scale initiative introduced ects and express their own ideas.18 Scratch to fourth-graders for one hour Through these experiences, children each week, then abruptly shifted to a develop as computational creators as different coding language. After teach- well as computational thinkers. We use ers and students expressed frustration, the phrase computational fluencyto de- the curriculum was revised. scribe this ability to use computational ˲ Too often, researchers and educa- technologies to communicate ideas ef- tors are adopting automated assess- fectively and creatively. ment tools that evaluate student pro- Our ideas about computational flu- gramming projects only by analyzing ency have been informed and inspired the code, without considering the proj- by the long tradition of educational ect goals, content, design, interface, initiatives and research focused on en- usability, or documentation. For ex- gaging students in learning to write. ample, many are using an online Even though most students won’t grow Scratch assessment tool that gives stu- up to become professional journalists dents a “computational thinking or novelists, there is a strong consen- score” based on the assumption that sus that all students should learn to code with more types of programming write.