4 ms·
Just based on my experience teaching elementary-school kids things, I think kids would be most helped by making an iPad-native environment for programming. Thin
by lacker 5y ago
Just based on my experience teaching elementary-school kids things, I think kids would be most helped by making an iPad-native environment for programming. Things like using a cursor in a multi-line text input are not natural for kids in early grades even when I think mentally they have the problem-solving ability to start programming. It ends up being a "tax" on teaching things and they spend more of their time struggling with the interface than they do struggling with the actual programming concepts.
Plus it is just really boring to struggle with syntax and typing. It is much more interesting to think about how to get a program to work, and kids are only really going to learn things well if they find it interesting. At least my kids.
- quacked 5y agoOut of curiosity, why do kids need to learn programming early at all? It seems like you could just wait until cursor and multi-line text entry wasn't difficult for them to comprehend, and start teaching them then. I could be totally wrong, but I've never seen an instance where kids exposed to dumbed-down "reduced complexity" material outperform those that weren't, except in sports and art. You can teach the mechanics of a tennis swing with small racquets and oversized balls, but can you really teach pointers with an iPad environment?
- seanmcdirmid 5y agoI learned programming in the 2nd grade on a TRS 80, in mouse or even text editor, just a command line to add lines of basic. If you needed to add a line, hopefully you had some numbers left between lines you already entered :) I think the simplicity and limitations of computers at the time had a lot to do with them being accessible to a second grader.
- vanderZwan 5y ago> Out of curiosity, why do kids need to learn programming early at all? Simon Peyton Jones gave a great lecture on this topic at Strange Loop a few years ago. Basically, "computer science" can be reframed as the study of information, computation and communication. Thinking about these subjects rigorously and solving the problems surrounding them is a foundational skill that is much more broadly applicable than just in programming, and really does not need to involve computers at all (as he shows in his lecture. > I could be totally wrong, but I've never seen an instance where kids exposed to dumbed-down "reduced complexity" material outperform those that weren't, except in sports and art. I'm not sure I follow. I mean, that's how children learn to read and write, it is not? Or how they learn maths at school: one step at a time. [0] https://www.youtube.com/watch?v=y-xgWLYQc4g https://www.youtube.com/watch?v=y-xgWLYQc4g
- quacked 5y agoI have no quarrel with the assertion that computing is one of if not the single most important field to learn in modern society; what I am suspicious of is that there's any long-term performance benefit of making children learn "pre-computing" through iPad apps at an age where they're not ready to learn real computing. Of course if a particular child shows great initiative and engagement with pre-computing, they'll do well with real computing, but then why not just start with computing? For the ones that don't care, why not let them continue reading books they enjoy and playing outside? That's how American children learn to read and write. It's not how Russian children used to learn to read and write; they started school much later, and immediately began fairly mature studies of classic Russian literature and poetry (Pushkin, for example).
- lacker 5y agomaking children learn "pre-computing" through iPad apps at an age where they're not ready to learn real computing I just think there's a bit of a gap right now. I think apps like Tynker that provide sort of pre-computing problem-solving are pretty good. I also like environments like Replit that are easy to jump right into and get a Python environment without a bunch of random setup. And all of this is way better than I had when I was a kid! But I think there could be something in the middle, maybe something that started to engage with topics like list manipulation a bit more than the current batch of pre-computing apps do.
- Syntonicles 5y agoI have no quarrel with the assertion that reading is important. I'm suspicious of the need for pre-reading (letters) If a child shows great initiative with letters, they'll do well with reading. But why not just start with reading? Russian children don't start with letters on an IPad. They start later, immediately tackling classic literature.
- quacked 5y agoThis analogy is not accurate. It is impossible to read without understanding letters; it is not impossible to program without completing simple pre-programming exercises on an iPad. Other people in this thread are pitching simplified programming exercises as an advantageous performance benefit for children to show them before real programming. This is akin to showing kids simplified reading exercises before reading. I do not believe there is any tangible long term benefit to making kids look at a picture of a dog and choose the letter "D" from a floating letter cloud to complete __OG, and I also do not believe there is any tangible long term benefit to making kids complete simple loop structures on an iPad or in a video game in advance of actually starting to program. It is not crucial for the development of children for adults to provide them with neutered facsimiles of reality.
- watwut 5y agoBecause when you are older, people treat programming as talent and not as skill to be learned. So if you don't come into it already knowing how to think, you will be written off as "not technical type" or some such. And you will write yourself off too. Pointers don't matter at all. Loops and ifs matter a lot.
- quacked 5y agoI certainly agree with that, but I also believe that the "writing off" is a the direct result of a system that takes it upon itself to distill the utter chaos of human knowledge into a learnable "system" that can be fed to humans of different ability levels. "Teaching kids computing through iPad apps" sounds like more systematic reduction. The kids that don't get it won't care, and the kids that do get it would have got regular computing, too.
- schwartzworld 5y ago> I've never seen an instance where kids exposed to dumbed-down "reduced complexity" material outperform those that weren't Isn't literally every subject taught exactly this way? Books for toddlers don't have chapters for a reason. Practicing basics as early as possible, means that you don't have to think about little things when you move on to more complex subjects. You spent a long time practicing addition before anybody even told you about the concept of multiplication.
- Jtsummers 5y agoYep. We don't start 1st graders with calculus, we start them with arithmetic. Variables are called variables by late elementary school, algebra is more properly taught as algebra in 8th or 9th grade (US), with geometry, trig, and calculus following that. You can develop a similar plan for teaching programming that starts with basics and progressing (variables, linear control flow (aka, no conditionals or loops), conditionals, loops, functions/subroutines, complex types like records, recursion, modules and classes; in roughly that order). You aren't hiding anything, you aren't misstating anything, you just don't move on to advanced things until it's time to. Of course, this progression would probably be a lot faster than the arithmetic -> calculus progression.
- quacked 5y ago"Until it's time to" is a completely arbitrary choice, though. I still am not convinced that it's tremendously important to introduce loops and conditionals before typing symbols into a computer is introduced. Would a class of students introduced to pre-programming seriously outperform a class of students not introduced to pre-programming in the long term? Certainly the short-term gains would be obvious, but I don't think there would be any difference in the long term, and the brilliant students from each group would be roughly equally matched after many years, with the primary differentiating factors being genetic ability and amount and type of studying, like it is in most other subjects. The ex-Soviets I know speak reverently of the superiority of Soviet mathematics education, which begun much later than American mathematics education, and was far more rigorous. There's certainly nothing wrong if a child wants to explore pre-programming on their own, but I think there is little to no value in deliberately exposing them to it in a bastardized form in order to "prepare them for what they'll see later". Also, the assumption that there actually should be an arithmetic -> calculus progression is itself a pernicious issue- reference page 24 of this PDF for an extremely accurate takedown of the American mathematics curriculum: https://www.maa.org/external_archive/devlin/LockhartsLament.pdf https://www.maa.org/external_archive/devlin/LockhartsLament....
- lacker 5y agoWell compare to mathematics for example, you could wait until kids are good at using a pencil and paper to start teaching them mathematics. But there's really no need, with modern iPad apps you can teach addition, subtraction, multiplication and some of the associated reasoning skills before kids have the motor skills to be able to write numerals well. Do they need to learn math this early? I don't know, why not try? If you can get kids to like learning things then why not.
- userbinator 5y agoYou're right, they should learn digital logic first... I'm not entirely joking either; a lot of these "teach kids to code" efforts either start far too high-level and don't really help to dispel the myth that computers are magic, or border on outright corporate indoctrination ("use this locked-down environment, don't even think of trying to go outside it".)
- quacked 5y agoHell, teaching me to code started too high-level, and I was an engineering student. On review, I think I probably took too aggressive of a stance against the concept. If you look at my other comments in the thread, I made a lot of references to the fake "ladder of math", and I thought I detected a similar attitude in "teaching kids to code without using real code". I just don't think there's any benefit in the pedagogical method of "teaching by pruning away the actual realities of the subject", and I think that believing that method is useful leads to more dire consequences down the line. I mean, if you want to teach a kid piano, you can just start teaching them piano once their fingers are nimble enough to act independently of each other. It's not particularly important to give them a "starter piano" with four keys, and it's more satisfying to bang away on the real one anyway.
- mkesper 5y agoBut you want to start with simple songs and not with playing Bach directly. Much what we believe about teaching/learning (computers) is also influenced by survivor bias. I learned programming because I absolutely wanted to and read programming books before even having a simple home computer. That approach doesn't work for everybody, though.
- einpoklum 5y ago> making an iPad-native environment for programming Why be US-centric? > Things like using a cursor in a multi-line text input are not natural for kids in early grades Sure it is. In past decades, many children start working their family computer at ages 6-10. Maybe they started with games like Space Invaders or Digger or Xonix, but soon enough they were editing text files. > it is just really boring to struggle with syntax and typing Yeah, so let's not teach children to express themselves in writing... that stuff is boring.
- imiric 5y agoAlan Kay has worked on that problem space since the late 1960s. Here's his recounting of the history of the Dynabook and how it compares to the iPad: https://www.quora.com/American-computer-pioneer-Alan-Kay-s-concept-the-Dynabook-was-published-in-1972-How-come-Steve-Jobs-and-Apple-iPad-get-the-credit-for-tablet-invention/answer/Alan-Kay-11 https://www.quora.com/American-computer-pioneer-Alan-Kay-s-c... It's a shame that his vision of tech education isn't shared by hardware manufacturers. There was the OLPC project, which didn't seem to gain much traction. The iPad could easily fulfill this role, yet the OS still limits the device to media consumption and any programming on it is cumbersome. There's an iPad Scratch app that might be worth a try: https://apps.apple.com/us/app/scratchjr/id895485086 https://apps.apple.com/us/app/scratchjr/id895485086
- lacker 5y agoI tried iPad Scratch, to me it really seems like a desktop app that was directly ported to iPad, awkward to use. Also I could be wrong it seems like it is not really designed to engage kids directly, as much as it is to be used as a tool to be used in conjunction with some other sort of content. I appreciate the effort but it doesn't seem as high-quality as for example some of the mathematics apps like MathTango.