8 ms·
Forget about teaching kids to code
- chezzwizz 5y agoI get that the term "coding" to a jaded programmer or engineer is just translating, but as part of his post he talks about teaching problem solving. Programming languages, or rather the knowledge of how to "speak" in a programming language (coding) provides a medium to express a problem's solution. So maybe I'm not understanding why we shouldn't teach kids to code.
- lern_too_spel 5y agoExactly. Yes, coding by itself is useless, but arithmetic by itself is useless by the same token. Both are tools that give you the ability you solve many useful problems.
- neura 5y agoI think this quote really shows exactly the point you're making. "I bet there is many an undergrad CS student who doesn’t really understand the algorithm they are trying to write a program for. They read the requirements once, and then begin to code. Code it seems is the only tool at their disposal." Also, if they don't understand the algorithm they're trying to write a program for, they missed the point of the lesson. This is an education problem, the student probably thinks they're not there to do anything other than get their degree in the easiest way possible, so they find an existing algorithm and copy/paste it. It's the whole reason why in math focused classes, you're instructed to show your work and that it will be part of your score. In response to the article writer's point, how and why would you teach someone an algorithm without the modern tools to implement it?
- gus_massa 5y agoFibonacci doesn't look like an interesting problem for children. Also, the idea of recursion and/or sequence is complicated. [1] A good topic for children is a turtle like in Logo. Make some nice drawings. Make smalls programs so you can repeat the drawings. Parameterize the function, so you can change the size of the drawings. Perhaps add some other tweaks, like customizable colors, or optional parts. Bonus points for making the turtle return to the original position and direction. Extra bonus points for understanding why that is useful. Another good topic is solving recreational math problems. Some problems involve equations with small integer numbers and if they can nest a few `for`s and `if`s then they can bruteforce the solution. Bonus point for discussing the bounds, to ensure that all the options are considered. Extra bonus point for an informal idea of the complexity of the program, and guessing if it will finish instantly, after a wile, or never. [1] I'd teach Fibonacci for kids if I were teaching them Excel, because you can see the whole sequence. Excel is a very powerful tool and is a gateway to programing. Remember to tech you kids Excel. (Not VBA, just plain cells, lot's of cells.)
- marcalc 5y agoI've learned Logo when I was 8 (around 1993), the school also invited me to a robotics class that also used Logo, so I was able to not only draw interesting stuff with that little turtle but also learn how to use external interfaces to control stepper motors, led lights, etc. I think this was all very fun and resembled playing with Lego, allowing me to occasionally show some cool tech stuff to my friends. Being visual and interactive is key, I believe, to engage with kids on what can be considered most of the times an abstract endeavour.
- jventura 5y ago> I'd teach Fibonacci for kids if I were teaching them Excel, because you can see the whole sequence. Excel is a very powerful tool and is a gateway to programing. Not a kid myself, but I've never thought about implementing the fibonacci sequence in Excel/Libreoffice, so I just did it, and yeah, it's very easy to do it..
- Koshkin 5y ago> they feel that coding is just as important as reading, writing and arithmetic. That computer science should be included in every school curriculum. It is. It shouldn't. They are two different things.
- ubu7737 5y ago
- kant_adorn_arts 5y agoThey talk al ot about "coding" at primary school, but what they mean is making the turtle follow simple instructions - inputed via tablet. These lessons are teaching children how to use technology, not how to be coders, makers or engineers. We will end up with a lot of kids pushing buttons, not with a lot of engineers. IMHO teach kids to use a keyboard first and get them out of these walled garden button pressing labyrinths.
- pyrale 5y agoAlso, don't teach them to read. Just give them an alphabet and let them sort it out.
- neura 5y agoAlso, don't give them apples, only oranges!
- hexo 5y agoI stared with coding in primary school. I was 6! (no thats not 6 factorial) We did stuff in a Logo variant. It was life-changing and I remember enjoying it so much. edit: We had a teacher and special "after school class".
- friedman23 5y agoCoding should be taught after algebra. Don't really know how you can learn to code without understanding the concept of a variable.
- csande17 5y agoPersonally, I don't know how anyone could learn algebra without first understanding the concept of a variable. In programming, one generally thinks of variables like "boxes" that you can put values in (with, eg, `i = int(input("Enter a number: "))`) and take values out of (by referring to `i` later in the program). Algebra, then, expands on this by introducing more advanced ideas like "solving for a variable". Of course, I'm probably biased because I learned programming before algebra myself.
- jrm4 5y agoHonestly, an idea I've been kicking around in my head: "Don't teach kids to 'code.' Teach them to HACK."
- tremon 5y agoDon't unteach kids the desire to hack. Kids are naturally inquisitive and full of imagination. A pillow fort is just hacking the furniture and bedding. When I was young, we turned every street into a football court by marking some goalposts with our jackets. We didn't even need a ball, an empty soda can was enough sometimes. Trying to force kids to keep inside an adult's narrow track does a lot of damage. They need guidance much more than they need fences.
- daenz 5y ago>Because the problems they solve can’t be that challenging, largely because the students won’t have the requisite problem solving skills. Now we hit the actual problem – coding is useless without the ability to solve problems, and I don’t see anyone advocating for teaching problem solving skills (in any form). The author seems to miss the point that "teaching coding" is "teaching problem solving" by proxy. Problem solving is not taught on its own, in a vacuum. There needs to be an adequate environment where feedback is quick, problems are manageable, and information is available. Appropriate coding exercises provide that environment. It's an excellent way to teach problem solving.
- paulryanrogers 5y agoIndeed. Problems are a great motivator. Circa 1990 I had to solve math problems to get the characters to respond in the school's edutainment games. A few years later I had to learn DOS and batch files to play computer games from ID and Origin Systems. Finding problems and interactive experiences that'll motivate students is the hardest part IMO. Perhaps that's why some resort to Minecraft.
- threatofrain 5y agoIf you're saying that programming is a sufficiently rich world of problem solving, then so too is math, but I've found it very motivationally important with kids to provide interesting applications to the knowledge which is covered by some curriculum. One can metaphorically sell to an adult that polynomials deserve study on their own and is internally applied all over mathematics, but IMO that is a very adult motivation and very few children buy that. What they do buy is that adults want it done and school says they have to. Children can also buy that math is important to STEM careers. What they might not buy is that math is sufficiently motivating by itself. I think there's a reason why coding programs in general have gravitated towards the narrative of "programming is cool because" you can (1) make apps, (2) make games, or (3) make websites.
- derekp7 5y agoOn the math side, the one thing that is supposed to make math real is story problems. And story problems seem to cause a lot of grief for a number of students (I know that virtually no one in my class liked or could do well on story problems). However without them I don't think I would have advanced as much in math studies, because they did have that effect on me of making the raw numbers actually mean something.
- JoeAltmaier 5y agoWhat kid can't put up a web page, paste some controls on, make a personal mail tool with a friends list or some fun game links? You teach kids step by step, like anybody else. And make each step fun.
- another_story 5y agoKids already have fun, and it's way better than anything we can do in the classroom. Different kids will be motivated to learn for different reasons. Some will just want to do it, some need it attached to grades, others need a real life reason or peer encouragement. In the end, with almost any subject, you won't be able to pull all kids in. Some just won't like it, while others can't get enough.
- epr 5y ago> Coding is not fun. Unlike writing, which can be a very creative endeavour, coding is not. Coding formulates algorithms into logical instructions for a machine. This statement is completely at odds with how I view _coding_. I cannot think of a more powerful or free-form method of creative expression.
- e9 5y agoI’m on the same page with you. Only recently I realized how coding is a lot more like writing and coders are just as different in their skills as writers. Replacing good coder is more comparable to replacing a good screen writer and less comparable to replacing a construction worker.
- pawelmurias 5y agoYes, the article is just stupid. What he describes as coding is some equivalent of spelling instead of writing.
- AA-BA-94-2A-56 5y agoI’ve always had a lot of fun programming, even as a kid. This article is so dumb.
- deleted 5y ago[deleted]
- shawnz 5y agoAgreed, this was upsetting to read. Why is the author wasting their life in a field which they don't even see as a valid creative endeavor?
- mcphage 5y agoThe author redefined coding to something very narrow, and then pretended that when people speak of "teaching kids coding", they also meant that narrow definition (which is clearly not true), all to claim that it’s a waste of time.
- friedman23 5y ago> Some people think everyone should learn to code. I think not Knowing what I know as a software developer by trade. I would want my kids to know how to code. Even if that doesn't end up being their career I'd like them to have this ability. I think it would make their lives easier and allow them to achieve more. So given my thoughts on what I would want for my own children, I feel like it would be dishonest to say that other children should avoid learning to code.
- threatofrain 5y ago> So given my thoughts on what I would want for my own children, I feel like it would be dishonest to say that other children should avoid learning to code. That's not dishonest, it's just having a mind focused on your children. That does not mean you have a moral obligation to support a policy which generalizes what works with your kids to everyone else.
- sys_64738 5y agoKids should learn assembler programming. Fundamentals.
- nikolay 5y agoI hate when kids are underestimated and taught "programming" via Scratch - it's one of the certain ways to make them not interested in programming!
- thrower123 5y agoWhen I learned programming in school, we used QBasic. I still don't think it has been topped for that purpose. It was relatively simple and forgiving. It had an all-in-one IDE. It had comprehensive built-in help documentation. Most importantly, it had graphics and sound capabilities out-of-the-box. By the end of one semester, we could build a multiscreen, singing Christmas card. A very tangible project.
- empressplay 5y agoWe used Turbo Pascal. By the end of the first term we did the Christmas card, by the end of the second term we made a Tron Light Cycles clone
- __bjoernd 5y agoWe should teach kids coding for the same reason we teach them woodworking or repairing stuff. It's a basic craft that may help you later in life. Of course you still have to apply the craft in the right situations. But just because you're not going to build a house right now, there's still sense in teaching you how do hold a hammer.
- curiousllama 5y ago> Here’s an example of the Fibonacci algorithm implemented in Fortran: I, uh, think I see the problem
- fungiblecog 5y agoI think the only benefit of teaching kids to program a computer (i hate the term code as a synonym) is that it teaches problem solving - assuming it's being taught well of course
- analog31 5y agoIn my view, how math & science are taught is at odds with how people actually do and use those things outside of school. It's all pencil and paper arithmetic and symbol manipulation. Even mathematicians don't do math exclusively that way. It's also something that most kids end up hating. Also, "coding" and "programming" by this point are intimidating to people, especially when we raise the stakes by tying them to high paying career. I might call it "computation" which is just using the computer to solve problems. You can start by just playing with numbers. I'm about killing two birds with one stone: Making math and science more realistic, and getting kids into coding by the back door. Use it to blend subjects together, for instance by trying to create art with the computer, or do a crude analysis of a literary text. Automate something. Nothing serious, but just getting used to "doing" things with the computer. Show kids that the computer can be an empowering tool, not just the whip hand of social manipulation.
- codingdave 5y agoMost of the people pushing coding in schools fully agree that not everyone will grow up and code. They want literacy of what coding can do, literacy in what problems it can solve and what it cannot. They want the kids to understand logic and computational thought, to inform what tools they will use throughout life. Most adults don't use all the math they have been taught either. Nor the science, nor even the language arts skills. Elementary education is a broad swipe at general education, not detailed skill training for adulthood. Also, the coding programs in schools have had positive side-effects in schools where it has been implemented, with students using the problem solving, logic, and debugging toolkits they have been taught to improve their academics in all subjects. It has taught kids to treat poor performance on tests as a problem to be solved, and not a personal failure.
- pnathan 5y ago> Coding is not fun. Unlike writing, which can be a very creative endeavour, coding is not That's just like, your opinion, man. I think coding is amazingly fun, I've thought so for 25 years, as a teen, as a college kid, as a grad student, and as an industry professional.
- kazinator 5y ago> Coding is just a way of building something. Let’s forget that the term “code” really just means taking an existing algorithm, and implementing it in a programming language. It doesn’t mean solving the problem, nor creating the algorithm. It is just coding. But maybe that’s just part of the problem with how people misinterpret the act of writing programs. I don't think that when people say "teach kids to code" they necessarily mean "teach kids to interpret descriptions of existing algorithms and write implementations"; it's a strawman argument. But, anyway, coding someone else's algorithm requires thought. You have to adapt the description of the algorithm to the features of a programming language. You have to think about how that will fit with programs: the API, the naming and the manner of passage of data in and out and all that. It's not a bad exercise. It comes up in software development from time to time. > Sure, you can use it to build games, but not exciting games at the level children are coding. Yeah these games would have seemed fun as a kid in the 1980s (when we were coding them in BASIC), Games you were working on in BASIC as a kid "sucked" compared to the commercial games running on the same machine, yet were tons of fun to work on. Kids exploring programming positively don't think they have to produce a polished 3D title for a game console, complete with a huge world built of gigabytes of assets. Just like people tinkering with woodwork don't think they have to replicate the Kiyomizu temple, and such nonsense thinking isn't the reason to cancel shop class.
- spion 5y agoGuess I'll be the first one to say it, so here it goes... Terrible combination of font weight and color. I know its considered bad form to comment on something so irrelevant, but this is an example so bad that it makes the article unreadable and is therefore serious enough to warrant a comment.
- gexla 5y agoI was part of the spectrum of students who hated school and all subjects these schools covered. I do feel thankful for relatively strong reading and writing skills, which I credit my 5th grade English teacher and a technical writing instructor in college. All my other English and writing classes seemed useless. Even though I'm grateful for these classes today, I still hated them at the time. I feel that I would have hated any coding classes just the same. I would have put in the bare minimum to pass, and would have forgotten everything I learned before I had a chance to do anything useful with it. If I were to talk to my past self about learning to code, that person would have protested about already having too much homework and difficult classes. Where would coding fit within a typical workload? Would it have to knock something else off the schedule? Would it add more homework? Would it burn out young brains who already have to sit through nearly a full work day of classes? I already had Math teachers calling me out in class to make sure I was paying attention and I could solve problems they were working on. The language (Spanish for me) instructors wouldn't leave me alone. Thank goodness, the science instructor let me kick back and chill out. Sorry, coding instructor, I have no more mental bandwidth to deal with you. School started to feel pointless after 10th grade (sophomore in high school.) Maybe learning to code fits best in those last couple of years when students are closer to graduating into the real world. But that's not really teaching kids to code at that point. That's more like prepping young adults with a potential technical skill they could use when they get released. Good luck to them getting a job if they don't go on to graduate college. I don't know that teaching kids to code is worth the investment. They aren't going to retain much if they don't do it regularly throughout school. It's not important enough to be part of the core. On graduation, you would still have kids with no college degree and rusty coding skills, who would have to learn a lot on the job. Or you would have those who would go on to college and do well enough without having learned to code before college.
- idleproc 5y agoJust teach coding to the anally retentive and let everyone else enjoy their lives.
- nikolay 5y agoI think all kids should be introduced to programming (I hate "coding" and "hacking" as terms!), but should not be forced to learn it.
- tialaramex 5y ago> I’m talking basic math here, like the ability to do the 12× table in your head No. That's not basic math, that's a memory trick. Being able to do simple arithmetic without the help of a calculator is marginally useful but will tend to come with practice anyway, in contrast understanding this idea is actually basic mathematics. Memorising 12 x 12 = 144 is no cleverer than memorising long religious texts (also something historically parents seemed oddly keen on having children do) whereas understanding why 12 x 12 = 144 is fundamental. If a 10 year old understands that the successor operator, addition, and multiplication are the same idea at different degrees, that child won't have any problem when they're shown exponentials, because that's just the same idea again, and they will probably ask without being prompted if there are also super-exponentials (maybe under another name) which of course there are. Mathematics is a system of beautiful patterns, it's not about memorising a bunch of numbers by rote. Anyway, this person's ideas about coding (why we teach it, why we should teach it) are bogus, and I guess what they tell me is that maybe there are better choices than the University of Guelph if you want to be taught CS by motivated academics who have their fingers on the pulse.
- mkoubaa 5y agoAt the dawn of writing, you could do almost any job without it. Now, you can't sell lemonade without knowing how to write. Does that mean everyone needs to be Jane Austen? Of course not. Coding will be necessary in tomorrow's economy and the sooner we realize that the sooner we stop screwing over our kids' futures.
- tmaly 5y agoI teach Scratch to kids including my own. But I teach it with a focus on creative expression and problem solving. I would argue that memorizing multiplication tables is equally bad as what he argues about coding. Read mathematician's lament for reference.
- shannifin 5y agoI started learning BASIC at age 8 and it was a great aid in learning logic and math later on in school as it gave me a foundational context for these related subjects. That said, I was self-motivated to explore programming on my own, and had complete control over what I was trying to do with it. Had it been forced upon me by school, I fear it may have become a chore. I guess I'd advocate introducing kids to coding but not forcing it.
- elboru 5y agoSame with other subjects, I used to hate my history class in elementary school. It was a chore, as just say, to have to remember dates for things I didn’t really care about. Later in life, I became a history lover after finding really interesting subjects.
- sjtindell 5y agoReally bad content. This person seems totally disconnected from the experience of coding.
- ankaAr 5y agoI was teaching robotics for students for some years. Coding with code blocks like the ones in Lego or using scratch. Of course you must to teach problem solving (anyway, is not the only method to engage people or make them think) and the coding is just how they approach to the solution (it is just one of the approaches). But you cannot do that without reading comprehension, and that, for me, and for that students was the Achilles heel.. Teaching code is amazing for kids, but think, for what kids?, not even in a country, a state, a neighborhood, or a school you will find two groups if students that need the same, not even from year to year. If people wants that kids learn to code, they must to know well that those kids first needs what the author said. If coding or even read or understand what is the problem to solve with code is not a problem to reach the knowledge that they need to know, I'm ok. But if the tool became a problem over other difficulties of my students, sorry, but coding will come later. For me and for the kids on my country, text comprehension is a key, and for that we need to go back to read, read things from comics to books, then think what happened there.