Why everybody should learn coding?...
"Everybody in this country should learn to program computer because it teaches you how to think" -Steve Jobs
Anybody can code
President Barack Obama asks Every American to give it a shot to learn to computer science
Is it important for all children to learn how to write? After all, very few children grow up to become journalists, novelists, or professional writers. So why should everyone learn to write?
Of course, such questions seem silly. People use writing in all parts of their lives: to send birthday messages to friends, to jot down shopping lists, to record personal feelings in diaries. The act of writing also engages people in new ways of thinking. As people write, they learn to organize, refine, and reflect on their ideas. Clearly, there are powerful reasons for everyone to learn to write.
In STEM4kids, we see coding (computer programming) as an extension of writing. The ability to code allows you to “write” new types of things – interactive stories, games, animations, and simulations. And, as with traditional writing, there are powerful reasons for everyone to learn to code.
But we see much deeper and broader reasons for learning to code. In the process of learning to code, people learn many other things. They are not just learning to code, they are coding to learn. In addition to learning mathematical and computational ideas (such as variables and conditionals), they are also learning strategies for solving problems, designing projects, and communicating ideas. These skills useful not just for computer scientists but for everyone, regardless of age, background, interests, or occupation.
Why Learn Scratch or Do STEM Robotics ?
21st Century Learning Skills
The following quoted information is extracted from the document "Learning with Scratch, 21st Century Learning Skills," written by By Natalie Rusk, Mitchel Resnick, and John Maloney, Lifelong Kindergarten Group, MIT Media Laboratory.
Nine Learning Skills in Three Areas
"The report Learning for the 21st Century identifies nine types of learning skills, divided into three key areas. This handout highlights the ways Scratch supports the development of these 21st Century learning skills."
Area-1: Information and Communication Skills
1. Information and Media Literacy Skills
"By working on Scratch projects, students learn to select, create, and manage multiple forms of media, including text, images, animation, and audio recordings. As students gain experience creating with media, they become more perceptive and critical in analyzing the media they see in the world around them."
2. Communication Skills
"Effective communication in today’s world requires more than the ability to read and write text. Scratch engages young people in choosing, manipulating, and integrating a variety of media in order to express themselves creatively and persuasively."
Area-2: Thinking and Problem Solving Skills
3. Critical Thinking and Systems Thinking
"As they learn to program in Scratch, young people become engaged in critical reasoning and systems thinking. In order to build projects, students need to coordinate the timing and interactions between multiple “sprites” (programmable moving objects). The ability to program interactive input provides students direct experience with sensing, feedback, and other fundamental systems concepts."
4. Problem Identification, Formulation & Solution
"Scratch supports problem finding and solving in a meaningful design context. Creating a Scratch project requires thinking of an idea, then figuring out how to break the problem into steps and implement them using Scratch programming blocks. Scratch is designed to be “tinkerable”: students can dynamically change pieces of code and immediately see the results (e.g., doubling a number to see how it changes a graphic effect). Throughout the design process, students engage in experimenting and iterative problem-solving."
5. Creativity and Intellectual Curiosity
"Scratch encourages creative thinking, an increasingly important skill in today’s rapidly changing world. Scratch involves young people in seeking innovative solutions to unexpected problems—not just learning how to solve a predefined problem, but being prepared to come up with new solutions as new challenges arise."
Area-3: Interpersonal & Self-Directional Skills
6. Interpersonal and Collaborative Skills
"Because Scratch programs are built of graphical blocks, the programming code is more readable and shareable than other programming languages. The visual objects and modular code supports collaboration, enabling students to work together on projects and exchange objects and code."
"Taking an idea and figuring out how to program it in Scratch requires persistence and practice. When young people work on project ideas they find personally meaningful, their ideas provide internal motivation for overcoming challenges and frustrations encountered in the design and problem-solving process."
8. Accountability and Adaptability
"When students create Scratch projects, they have an audience in mind, and need to think about how other people will react and respond to their projects. Since Scratch projects are easy to change and revise, students can modify their projects based on feedback from others."
9. Social Responsibility
"Because Scratch programs are shareable, students can use Scratch to provoke discussion of important issues with other members of their immediate learning environment, as well as with the wider international Scratch community."