The iPad Paradox: Why it Can’t Really Teach Kids to Code

Logitech Crayon stylus for iPad
Swift Playgrounds 1.2 is out with support for five more languages on the iPad
Swift Playgrounds for iPad.

Thanks to the recent Apple “Field Trip” education event, there were many really thoughtful and well-researched articles about Apple in education this week. They may not have even been published if there hadn’t been the backdrop of what Apple announced to trigger further discussion.
Here are four that I thought were really good.

These four articles provide a great overview of Apple’s education standing, how the company fell behind, what it’s doing to catch up and some sober assessment of why the most recent initiatives may not be enough.

The iPad Paradox

However, I want to briefly discuss the last one from The Verge. Overall, I agree with the author about Swift Playgrounds. Apple is in a bit of a pickle with programming on the iPad thanks to the way it’s designed. I have pointed out before that, in the eight years of the iPad’s existence, precious little progress has been made turning it into a code development platform. The security of iOS gets in the way—a double edged sword.

And so when it comes right down to it, macOS is where you want to be to really learn to code. So Apple has had to wade through that conundrum carefully. The iPad is not yet the tool of the future for kids learning to code at a moderate level. That’s why inexpensive MacBook Airs are a crucial augmentation when kids arrive in middle and high school.

That said, I want to offer a (mild) counter argument. And that’s in the form of toy trucks for kids. When a 5 year-old plays with a toy truck, there are some learning elements going on. Imagination, visualization, interaction with sandbox sand, etc. That’s exactly what we want to happen. Later, as a young man, the person may learn to drive a real truck. (Pizza delivery!) Eventually, the former child may become a mature engineer and design trucks for GM.

In a similar fashion, Swift Playgrounds is exactly that. Play. An introductory toy that engages the mind of the child. Sure, no Java enterprise Java code will be written. But the point is to engage the child early in creative play in a fun, productive way.

Later, Xcode will come along soon enough. And that progression, that logic, seems notably lacking in Apple’s focus, perhaps, because it highlights the very limitation of iPads and iOS. It’s confusing to the casual observer unless one thinks it through.

Next Page: The News Debris For The Week of March 26th. Windows 10 security—no longer a laughing matter.

18 thoughts on “The iPad Paradox: Why it Can’t Really Teach Kids to Code

  • If you like Python (one of my favorite programming languages), there are a number of versions of it on iOS, such as Pythonista, which comes with a nice editor and library support including numPY and UI/graphics.

    One nice thing about the iOS environment is that you can actually write programs in Python or other languages that interact with multiple apps (e.g. using x-callback-url) and automate your workflows. It’s quite nifty and reminiscent of using AppleScript or Automator on macOS.

    There are literally dozens of programming environments that have sprung up on iOS since Apple loosened its restrictions several years ago. I haven’t seen Java yet, but I have seen C# (which is like Microsoft’s answer to Java) as well as Python, Lua, C++, BASIC, and many others.

      1. I’d love to publish a listing of all the various dev environments & languages that exist now for iOS. C++ is of particular interest. I AM aware of Pythonista. Would you send me links?

        A few years ago, I looked at all the Perl apps for iOS/iPad, and they were ALL amateurish and incomplete – useless. Is there one you recommend these days? One that’s truly professional.

  • At the risk of bringing the conversation back to the general – coding is a general skill that can benefit anyone who has to process data. If you use a spreadsheet, likely you’d do much better if you knew how to code. Builder, accountant, scientist – if they knew how to code and had the right tools, they would approach problems differently and be more empowered. You can get by with spreadsheets, if that’s all you know, but even that tips pretty quickly into VB.

    I had dreams of high school graduates with typing and HTML skills as basics. The world has moved on from HTML, in part because CSS made ground-up web design incomprehensible, and higher level tools put web design into just about everyone’s hands. Doesn’t mean you don’t need to go off into the HTML weeds at a moment’s notice – I wanted to prevent right-click image download on a squarespace site, and even with their simple code injection, it takes a little experimenting to get the right result.

    These are good basic skills. Doesn’t mean everyone will become a developer, but we all have problems to be solved, computers can help, and fundamental coding knowledge will take us much further.

  • In my experience, most modern researchers need to be able to code in some fashion. It may be as basic as Excel formulas or it may be Python or Fortran operating on Big Data. I think it’s possible to fall into a niche where no computer work is necessary, but that will become rarer and rarer. Also, in many cases, it’s the graduate students who do the number crunching.

    Old UNIX Guy. I did a lot of work in Perl in the past. It’s sad to see how the language failed to keep up. (it’s a story in itself.) Your conversion to Python reflects an industry-wide movement from Perl (such a beautiful language) to Python. But those darn Python indents/spaces will drive you crazy.

    1. John, see my response above. There’s more to the Real World than researchers. There is a whole commercial world that works very differently than academia who hire more people than universities.

      I learned Python and HATE it! I hate Python for the same reason I hate forced structured languages because it is a forced structured language. A language where form changes function is just too obnoxious for me. Even though I learned Python I still turn to Perl when I need to write string handling scripts. I have some really artistic Perl scripts that I used to do things for me. I wouldn’t have it any other way!!

      Now what’s really cool is to write a script to deal with the formatting of data then use Automator to feed it into an AppleScript to integrate it with something on the Mac. One of them is that I can take a list of items, copy all the dates and times out of it, and turn them into Calendar entries. Perl does the scraping of the text then creates an AppleScript with the directives to add the information to the Calendar then the file is piped into osascript to execute the AppleScript. I do this kind of thing a lot!!

      1. Scott: What you’re doing in Perl is very, very cool. The most fun I ever had programming was in Perl. After learning “baby-talk” Perl, my bible became “Effective Perl Programming” by Hall and Schwartz.

  • Scott B. – I’m not meaning to argue with you, but you’ve given me two examples. Would you really like for me to start listing the tens of thousands of counter-examples I could give you? Yes, there may be a very small handful of scientists who don’t need to code, but not only is that a small subset, it’s a subset that is getting smaller by the day.

    We all have to change with the times … Me – I’m a guy who has programmed in Perl for 20 years who is now learning Python. Maybe in the past coding wasn’t a necessary skill for scientists, but the times … they are a changing.

    And yes, spreadsheets are unrelated to coding (mostly). I was just making the point that in my opinion both a skills that anyone graduating from high school in 201 8 should have.

    And I don’t know why I’m not allowed to “reply” to your latest comment like I did previously.

    Again, not arguing with you…

    Old UNIX Guy

    1. I don’t know… I live in the biotech hub of Maryland and with my wife working in the industry and having helped every so often, I do not see a Real World need for programmers in the sciences. I checked the three largest companies in the area and their job descriptions for everything from lab tech to lab managers do not say anything about requiring programming capabilities.

      Same thing for the biotech hub in Loudon County Virginia. There are listings for programmers but not for biotech workers who code. Again, this is not an academic exercise, these are real companies performing Real World work.

      This is not an argument. This is looking at reality and working with people from all aspects of Real Life outside of academics.

      A better discussion would be what would these people benefit from. Based on what I have seen, they would benefit from general skills, as you suggested with Excel. Add Word and Powerpoint to that list as well. They would also benefit from learning how to use COTS or other clown… err… cloud-based packages that they would need. For example, people in various forms of chemistry, statistics, and other areas where mass calculations are necessary, they would benefit from learning SAS or Matlab. Social science people would find benefit in learning SPSS. These are more germane to what they might actually use, not a programming language like C, perl, or Python!

      Allegedly, when COBOL was invented it was supposed to replace dedicated programmers because it was more English-like and anyone could use it. They tried to teach it in business schools up until the early 1980s. How successful were they in replacing programmers like that? Saying that everyone has to learn to program is like repeating history. Not only will it fail but you will get resentment from the people who you try to force it upon.

      (see below for my take on Python)

      1. Isn’t it the same as math? High school makes everyone learn math and those that don’t do so well in it often resent it. But those that do do well can make good use of it in whatever field they go into. (Well, some subset of math. Depends on the field.) Programming is just another tool that people should be exposed to and if they have an aptitude for it then it can be handy in many fields that are not traditional computer science fields.

        Spreadsheets are an interesting example. You can do a lot of programming-like things in them. There are people who are wizards at automating all kinds of things in spreadsheets where I work. Those that are good with them set them up and share them to those people who have the same job description but are not as good with making complex spreadsheets but have other skills useful in the job.

        I’m not in that same job role, I’m a programmer. So when I need something similar I usually write a script in Ruby or Python that generates a spreadsheet with the desired information and organization instead of making fancy spreadsheet logic. But I guess that adds more to my point. I have a tool that I can use, other people have other tools that they can use for similar tasks. We should expose everyone to the tools.

  • Why does everything have to come down to a geek’s version of what is educational? Why does an iPad, or any device for that matter, have to be able to teach people to code? Does everyone have to learn to code?

    All of these articles are by geeks, targeted to geeks, and looking to perpetuate the geek culture. Sorry folks… being a geek is not for everyone. Everyone does not want to learn to write code!

    I wish these geeks would get their heads out of the bit bucket and look at the real world. In the real world, there are all sorts of uses for educational tools that do not require coding. There is no code in the creative processes whether it be art, design, video production, or anything else in that regard.

    Does learning the sciences require you to code? Can the video and touch aspects of the iPad allow students to examine the principles of botany, chemistry, biology, and astronomy? What does code have to do with learning about how seeds germinate?

    For those of us who have lived in the Real World [TM], outside of the geek culture, it is these types of articles that the people find annoying. It is techno-elitism at its worst. How about putting aside your taped glasses, remove your pocket protectors, turn off your HP-16C (go Google it… and I own one!), and see what Tim Cook and company see… the birth of a tool that is not for the geeks but for the masses. A tool to help teach the world outside the world of code. Come join us in this real world… we actually get things done!

    Retired from this industry because of stuff like this!

    1. “Does learning the sciences require you to code?”

      Short answer – yes. I know because I work in a University HPC center and there are very few sciences that don’t or cannot benefit from HPC. It’s not just the “traditional” fields like Physics and Astronomy where this is important … even the psychologists are heavy users of our cluster!

      IMO, no student should graduate from high school without basic proficiency in coding and spreadsheets.

      Old UNIX Guy

      1. My wife has a PhD in biochemistry and she doesn’t code. Her lab doesn’t code. Neither does anyone in her division. She is not an academic. She works in a for-profit enterprise.

        A relative who is working on a PhD in archeology also doesn’t code. In fact, I wrote some Workflow scripts for her to help with data gathering. The data files are then uploaded to another system running a COTS product (I think she said it’s based on SAS).

        Using a spreadsheet is a generic skill unrelated to the coding discussion.

        BTW: I guarantee I am an older Unix guy. My experience dates back to 1979 running Unix Version 7 on a PDP 11/40, one of the last DEC machines with ferrite magnetic core memory!

  • I haven’t used Playgrounds, but I’d only expect it to teach About coding. Good fundamental concepts are a valuable starting point. Not everyone will want to code. As with any subject, there will be those with aptitude and this is a a way of identifying that. If everyone did Playgrounds, perhaps future politicians will have a modicum of understanding so we don’t end up with the situation where they just believe they can pass a law and we’ll all have encryption that keeps our information safe and the government can have backdoors that nobody else can have. Maybe. 😀

    As for Education. Apple’s point is valid. Creative students are better in all areas of achievement. Up against a $200 low maintenance, seamlessly vertically integrated device, whether it falls apart within a year or not… it’s still a big ask of human nature.

  • Google finally got it right, ditch Android and use a real computer OS – not a mobile toy one for their tabs. Chrome. It’s so funny with all that money Apple gets further and further away from thinking esoterically. 🖥

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.