How should kids learn programming?
1/14/2018
Coding, or プログラミング (programming) as it is called in Japan, is a hot topic in education at the moment. As the workforce moves increasingly towards automation, it's easy to worry about what the kids of today will be expected to do tomorrow. Though there are many types of code that do amazing, invisible things in our world, I am focusing on visible products in this post. "What will make my child an adaptable coder?" What is Coding (or Programming)? Coding involves using written languages (codes) to create graphics (e.g. posters, stickers), websites, games, apps and software. Learning codes is much like learning a new language. English has many Greek and Latin roots; code languages are based in logical connections. Languages like HTML and CSS are suited for website design, while Javascript and C# (pronounced "C sharp") allow creators to make functioning, animated games. Every year, new languages are invented, paving the way for new discoveries and innovations that haven't yet been fully imagined. For kids, coding languages that are dominate in the workplace now could have changed many times over by the time they are old enough to join the workforce. So what we should be asking is "What will make my child an adaptable coder?" In my teaching, I like to separate coding into simpler, actionable areas: Coding as KNOWLEDGEWhat your kids are doing! Kids practice correct spelling, use of punctuation and ordering of different phrases to build basic code. They are learning words and phrases that connect to different actions or outcomes in code. They can read and understand block or lines of code. Teacher terms Coding languages are made up of series of typed commands that can be memorized. Capitalization, syntax (e.g. use of punctuation marks), and order affect how code is processed. Coding as APPLYING SKILLSWhat your kids are doing! Kids apply their skills to coding:
Teacher terms Coding requires learners to adapt and further develop their existing skills in the context of coding. Coding as a PROCESS What your kids are doing! Kids identify types of games or apps they want to recreate. They write the initial code, using a guide, and then must debug their code to get a functional final product. Usually debugging is >50% of the process. It helps them develop patience and perseverance. Teacher terms Complex actions in any game/app need to be broken down logically into their basic functions before they are translated into code. Debugging, or fixing coding errors, is a major part of writing code and requires problem-solving and critical thinking Coding as a TOOL FOR CREATIONWhat your kids are doing! Kids can imagine a game or product they want to create, break that project up into its parts and create it. They can integrate their knowledge, skills, and processes to make something new or improved! Teacher terms Creating a successful product involves using the Design Cycle and an understanding of how codes interact. Balancing technical knowledge & experience with risk-taking & flexibility leads to better products. So, how should kids learn to code?Learning to code is a long process that is littered with far more failures than successes. For seasoned coders, the sting of the failures along the way only makes success sweeter, but, for new learners, the failures can make coding seem impossible, frustrating and boring. The big question is how do we teach all these facets of coding to kids? Are there some parts more important than others? The end-all of coding is to create something from nothing, but just learning coding languages as knowledge or skill won't teach you that. Coders code because they are creating something that works, so kids should learn how to code by creating things that work in real life. The big question is how do we teach all these facets of coding to kids? Are there some parts more important than others? Authentic learning is essential to teaching coding usefully. Here's my answer:
Teach coding by addressing all of the areas listed above, but always aim towards making something of value. Teach skills, but apply them towards creating functional products. Teach coding languages, but emphasize how to use those new codes in flexible contexts. Authentic learning is essential to teaching coding usefully.
0 Comments
|
Ms. Lee & Ms. Kat's Blog
Learning without Boundaries! Archives
May 2018
Categories |
Learning without boundaries
HoursM-F: 14:00-21:00
Sat: 9:00-16:00 SUN: 11:00-21:00 SUMMER HOURS (June 19 to August 18): M-F: 9:00-19:00 |
LOCATION〒658−0051
兵庫県神戸市東灘区 住吉本町2丁16−2 第二山口ビル1F 〒658−0051 Hyogo-ken higashinada-ku sumiyoshi honmachi 2-16-2 Daini Yamaguchi Building 1F |
CONTACT |
©2017-2023 Lee Hanae Ung