How We Approach Coding in our Schools: What is Coding?

It’s an interesting exercise siphoning up all the articles and opinions on coding in the classroom, especially in a country like Ireland where it’s been thrust, front and center, into the spotlight (and curriculum plans).

A little bit of coding
A little bit of coding


Of course, I’m in favor of it, especially if it’s done in a way that mirrors the curriculum I developed, which emphasizes learning how to think like a computer over a specific toolset. I tend to favor programming languages like Logo that let you teach a concept first, then optimize, and repeat the lesson with follow languages like Python, Java, Swift. A bit like Simon Lewis mentions in his opinion piece in The, “Opinion: ‘We don’t need to teach computer science and coding in our schools’.” I think the title is geared to get a bit more traffic, but his general idea is about right:

The most important thing pupils need to learn about problems is how to break them down into smaller pieces and then tackle them in different ways.

He urges us not to add computer science to the curriculum as a separate subject based on his experience in the UK and with the worry that computer science will become divested of its true power: allowing students to solve problems in a creative fashion. And I tend to agree, to a point. I think that a well-designed curriculum, and maybe mine is not 100% there yet, it needs more meat, but Apple’s Intro to App Development with Swift is an excellent candidate. I’m a little biased — I spent 13 years with Apple, after all — but I think their course has an excellent balance of teaching concepts and problem solving techniques. It’s like an apprenticeship for the 21st century; teaching them real-life, hands-on skills they could use to get a tech job. It may be done in one of Apple’s programming languages and on Apple’s platform, but the skills would transfer to any other software platform.

But overall, I agree with Simon: not every kid is going to become a programmer, but I think the point is to introduce them (even at primary age) to coding as a problem solving tool, and show them that it could be an option, either in their personal lives or as a professional route.


On the other side of the coin are odd, straw men kind of articles like

Coding is not “fun,” it’s technically and ethically complex

I’m guessing the author ran across a program that thought it needed to dress up coding as more than it is, as he takes issue with classes “insisting on the glamor and fun of coding” that make coding a frivolous pursuit. And while I agree with him that learning how to code, as with just about anything, carries with it ethical considerations, but that’s no reason that it can’t also be enjoyable. There is certainly a mindset that’s required when coding, but the author sets up a false dichotomy that programming must either be taught as a deadly serious topic that requires “superhuman focus” or as a “fun and interactive” activity that anyone can do.

Now, again, I don’t know what courses the author has run up against, but I don’t know that I’ve seen any that pitch programming as a subject in which you don’t need discipline to progress. In that it’s like any other skill: it requires practice and usually more learning outside of the classroom if you expect to progress and become really good at it.

We have plenty of hobbyists in all sorts of fields, I don’t think it’s that harmful to introduce a student to a skill that might lend them the ability to throw together a little app for themselves that would fulfill a very personal need, the way someone might build a shoddy bookshelf for themselves, with just a little knowledge of carpentry.

Sure, programming is hard at a certain level, but that doesn’t mean it can’t be fun and broken down in a way that more people can grok the concepts…


ARKit Demo as a Playground

If any of that title makes sense to you, you might want to check out a little Swift playground I threw together just now to exercise Apple’s new ARKit framework inside of a Swift playground.

Spot the fake object in the picture...
Spot the fake object in the picture…

It’s nothing super special, but it’s something to get you started on your iPad (with the iOS 11 Beta and the new Swift Playgrounds Beta).

Fraser Speirs – Teaching Swift

Great write-up (as usual) by Fraser Speirs on his experience teaching Apple’s Learn to Code Swift courses.

I particularly like this insight:

I took the approach of simply being far more active in the classroom.

Instead of relying on Seesaw for grading and inspecting students’ work during class, Fraser was up and about the classroom helping out.

I know I’ve found that being active in the classroom seems to work out better for the kids’ understanding.