Showing posts with label creativity. Show all posts
Showing posts with label creativity. Show all posts

22 November 2021

Should all Children Learn to Code?

That is a good question—one I am commonly asked by both parents and teachers, but mainly parents.

The answer is no; not all. Should all children have the opportunity to experience coding, and possibly discover they have a gift for it? Yes.

Via Techcrunch.com "Please don't learn to code'. 

I'm not convinced that encouraging kids to become coders (actually computer programmers—coding is more of a slang term) is a great idea, I think they should learn to code, if they're keen, but only so they can understand it better, so they can be creative with it. You see you can employ coders, they are a dime a dozen, they're all over the web. It's the creative 'big picture' aspect that is lacking, ie what to code, not so much how.

That said... It's hard to know what you can do if you don't know how. Basically you don't need to be the best coder, you need to be good enough to really know what its potential is.

"Someday, the understanding of computational processes may be indispensable for people in all occupations. But it’s not yet clear when we’ll cross that bridge from nice-to-know to must-know." 
http://www.nytimes.com/2012/04/01/business/computer-science-for-non-majors-takes-many-forms

"But is it really crucial to be able to code? Many content producers use technology virtually every waking hour of their life, and they don't know a variable from an identifier, or an integer from a string. Personally, I'm conflicted: I have a technical background, but for most people I just don't see how being able to compile code is going to prove useful."
http://m.gizmodo.com/5897020/is-learning-to-code-more-popular-than-learning-a-foreign-language

"Coding is not a goal. It’s a tool for solving problems. [...] However, much of the “learn to code” frenzy seems to spring from the idea that you can achieve fame and riches by starting a tech company and you need to actually code something first. Programming is not a get-rich-quick scheme. Even if you do hit the jackpot, the CEOs of successful tech companies do not spend a lot of time coding, even if they started out behind a keyboard. There are simply too many other tasks involved in running a company. So if coding is what you really love to do, you probably wouldn't want to be a CEO in the first place.."  
http://www.fastcolabs.com/3020126/no-you-dont-need-to-learn-to-code

Please don't advocate learning to code just for the sake of learning how to code. Or worse, because of the fat paychecks. Instead, I humbly suggest that we spend our time learning how to …  research voraciously, and understand how the things around us work at a basic level. communicate effectively with other human beings. These are skills that extend far beyond mere coding and will help you in every aspect of your life.  
http://gizmodo.com/5910497/please-dont-learn-to-code


..."engineering and programming are important skills. But only in the right context, and only for the type of person willing to put in the necessary blood, sweat and tears to succeed. The same could be said of many other skills. I would no more urge everyone to learn to program than I would urge everyone to learn to plumb." 
https://techcrunch.com/2016/05/10/please-dont-learn-to-code/

Clearly there is no shortage of people that want to code, and those that have the predilection will. I mean, the point is it's not hard to act on it, to make it happen, and ... if you can't, then coding is probably not an option for you.

Compare that to say … learning the oboe, well that's not quite so easy to learn if you only have a computer and an internet connection. But there are millions of people out there who do, and are honing their abilities every day, and they don't expect to be paid as much for it as you might think.



A useful analogy to use here are car mechanics, or plumbers—cars and toilets are arguably essential aspects of our lives, in fact it's hard to imagine how we would ever cope without them (especially the latter). But, despite this, does anyone seriously expect car mechanics or the fundamentals of plumbing to be mandated for all students to learn? No. So how do we cope when we need help with a malfunctioning car or toilet? We call the professionals, that's what we do, and that's what we do when we need something to be coded.  That's okay, let those that have the unique competencies and interest in those fields go on to master them, after they have left school, just like all the other professions, there is no rush, no shortage of coders (or plumbers, or car mechanics) nor is their likely to be.

So - how do we learn this stuff?

All the people I know who are competent users of IT and ICTs (yes, there is a difference) are those who basically taught themselves (including myself). It's almost a rite of passage. My instinct tells me that the kind of kids who can code WILL code, and if they can't find ways to teach themselves using the plethora of resources online, then... they probably haven’t got what it takes to code. Despite the glowing 'FUN, FUN, FUN!' messages that proliferate from some quarters of the web, the truth is, if you want to code, really code, you will need to work hard, you will need to persevere, nothing that is worth having comes easy, and coding is no exception. It is as simple as that.

"Top companies expect you to know what a recent comp-sci graduate would know, which could include SQL vs. NoSQL databases, the time complexity of some algorithm, or how to implement binary search. ... opportunities are few and far between."

"While there are some excellent companies willing to hire driven and intelligent self-taught engineers, they lie in the minority. Many companies pass over candidates without a formal degree in computer science before reading on; the stigma of low experience is a hard one to break in any industry but especially in those involving technical abilities."

http://qz.com/193896/no-three-month-course-can-teach-you-how-to-code/

I have never been taught 'IT' but I had to teach myself HTML to design web pages, and ActionScript to create Flash animations—at its best, that is what things like coding 'computer science' and subjects like DT teaches kids - YOU can solve your own problems, and you can teach yourself how to do it. It's all about the WWWHWW of getting from A to B, even if it means going through D, H and X to get there. The first time.

That's another argument for coding, not so much as a skills for the workplace, but the process, the rationale it demands, here's a quote from my colleague Helen Leeming who teaches IT in MS and HS, from an email exchange we had on this subject: This point about developing critical/analytical thinking through coding is powerful - (my emphasis)

"It isn't the coding… it's the critical thinking… they don't need to code any more than they need to be able to do quadratic equations - for most people either would be redundant the minute they walk out of school. But they do need to have stretched their minds, to have made their thoughts work in a different way, which both of those will. Almost none of them need to code (or indeed use a lot of what we teach them in school - oxbow lakes for example), but the ability to problem solve is essential. It could be taught through other things, it simply isn't in many cases… And people rarely choose to learn critical thinking unless they are an 'IT geek' and they are the ones that probably can already do it."

I don't understand why people question that this needs to be taught as people won't be coders, while we still do teach algebra and the periodic table to kids that will not be mathematicians or chemists. Education is not about learning a set of knowledge or practical skills that you can use later, it is about teaching you to think, to think in many different ways, to play with ideas in many different ways and to have a toolbox of techniques to address puzzles or problems you meet later. Abstract, critical thinking is one of the tools…"
It should be remembered that one the best ways to get to grips with the kind of logistical thinking skills demanded by coding is by using spreadsheet functions, such as google spreadsheets, right there in the browser, and then move on to writing your own formulae, to solve basic mathematical problems, that right there is the basis of writing code. Starting with a formula as simple as =A1+B1 to things like IF functions:

=IF(A1<B1, "awesome",IF(B1<A1,"amazing"))


So, my advice to potential coders would be learn to walk before you run, or more precisely, learn to walk (scratch) run (stencyl) jump (alice) then you can really get creative 'dance' with the source code:



All of the the tools below are free, come with great support materials, tutorials, and communities to get you from A to B, even if you have to travel via N and X.

Coding for kids

Some of the iPad Apps we use to introduce kids to coding

Here's a great set of Apps you can use to introduce our child to coding, even from Kindergarten, this is my suggested sequence of progression, from games that teach the kind of logical thinking needed for coding, to Apps that allow free form creation:

  1. Daisy the Dinosaur
  2. Tynker
  3. Lightbot
  4. Move the Turtle
  5. Hopscotch
  6. Swift Playgrounds (Apple)
  7. Grasshopper (Google)

Our Process

  1. Start with iPads to learn the basics of control, computer programming thinking, Apps like Daisy the Dinosaur, Hopscotch, Move the Turtle. Apps like these use a drag and drop interface will intuitively grasp the basics of objects, sequencing, loops and events by solving app challenges. 
  2. Move to Code.org 
  3. Google CS & Scratch http://scratch.mit.edu/ 
  4. Progress to Stencyl http://www.stencyl.com/ for iOS App coding using a similar 'block' interface, or alternatively App Inventor.
One of the problems with Scratch, as powerful a tool as it is, is that it doesn't have much in the way of structure, so the problem is, left to their own devices, kids can easily just end up distracted by the myriad games there are to play, and learn absolutely nothing about coding... A great solution to this is to use Scratch in combination with Google CS, they have a whole curriculum ready to roll, pitched at all sorts of abilities, and all come with prepared Scratch Projects, and step by step video teaching. 

Coding vs Programming

Despite the hype that is common around this area, the fact is that no matter what you may have been told, the block interface that is at heart of most, if not all the apps that purport to be teaching coding, are not really. This article from Quartz clarifies this issue:
"The light and fluffy version of computer science—which is proliferating as a superficial response to the increased need for coders in the workplace—is a phenomenon I refer to as “pop computing.” ... This accessible attraction can be catchy, it may not lead to harder projects that deepen understanding.
... an important distinction must be drawn between learning “coding tutorials” and learning “computer science.” I think of it as playing with coding apps as compared to learning to design an app using code. Building an app takes time and requires multi-dimensional learning contexts, pathways and projects. One thing is for sure, it can’t be done in an hour or two, with a few simple drags, drops and clicks." 
American schools are teaching our kids how to code all wrong - Quartz

So to avoid any confusion, I refer to the control activities that rely on blocks as 'coding'—the blocks act as a code that represents the actual syntax you would normally use with a programming language. So let's call programming, programming; and while the block 'pop computing' 'coding' interface serves as a useful preliminary experience, the actual skill of programming is very different. When a student feels ready, here's a path they could take:
  1. Khan Academy has a great online course for introducing kids to programming (not coding), the introduction to JavaScript is a great place to begin.
  2. Apple have a fantastic app that teaches Swift coding, called Swift Playgrounds, and Google's equivalent Grasshopper, both are available as apps, or can be run in a browser. 
  3. For developing apps, you can download the Xcode App for free from the App store if they feel they are ready to actually use Xcode, there are many online tutorials that can help with this, such as this one.
  4. Try http://www.codecademy.com/ for learning a range of programming languages. 
  5. Then possibly Alice http://www.alice.org/ 
By then you should be ready for the source code, this site hackerbuddies http://hackerbuddy.com/ will help with this final stage... One-on-one mentoring for startup hackers.

… but even then, which language?

C
Python
JavaScript
PHP
C++
Java

or Xcode for coding iOS Apps

And there are many more ... http://langpop.com/

But I would imagine for most kids the biggest motivator would be to create an app, using xCode (a free App from the App store). Which you can port to from Stencyl, but you have to pay $150 to enable that feature, so you can learn for free, you only need to pay when/if you're ready to put into the market place. Clearly it is the desire to create 'Apps' that is driving the current resurgence in interest in coding. For more on this phenomenon, read this article.


We now also facilitate the UWCSEA coding community through our ECA programme, for MS and HS students. If your child is in Primary and impatient to get going, learning Scratch and Stencyl will ensure they are more than ready by Grade 6, and of course from Grade 9 students have the option of choosing to follow a course in Computing, all the way through to grade 12 if they so choose. Middle school includes a module of coding through Lego Mindstorms in DT and we offer IGCSE Computing and IGCSE IT, and IB Computer Science in High School.

Holidays, Screen Time & Parental Guilt

 




Holidays are fabulous, and with them comes, especially for your children, time. In particular, more leisure time. And in a world where “screen time” is becoming simply “time,” for many—while we anticipate some great memories and experiences—with the typical 21st-century family it doesn't take long before the inevitable tensions caused by the multiplicity of screens in the home can start to cause problems. The fact is that a vacation inevitably means more time spent with screens, for the whole family, not just the kids.

Cue the inevitable pangs of parental guilt, brilliantly summed up in this article from The Atlantic:

"Tune into the conversation about kids and screen time, and you’d be forgiven for thinking that before the invention of the iPhone, parents spent every waking moment engaging their kids in deep conversation, undertaking creatively expressive arts-and-crafts projects, or growing their own vegetables in the backyard garden. There’s a tendency to portray time spent away from screens as idyllic, and time spent in front of them as something to panic about. 
But research shows that vilifying the devices’ place in family life may be misguided."

This post outlines practical ways to make screen time more productive. When screen media use can mean writing a short story on a computer, video-chatting with relatives, watching videos, reading the news online, or playing games, what is the point of documenting the total amount of time kids spend using screens? Instead of auditing, focus more on balance. The paltry amount of time our children spend active and creating (as opposed to passive viewing) with screens could be nudged up extensively by replicating at home some of the ways we encourage our students to use screens in school, only this time giving your kids much greater freedom of choice in terms of the focus of their creative endeavours...

Depending on where you will be spending your vacation, you may well find yourself in a situation where your children are stuck indoors for many hours. Obviously a long-haul flight means that kind of scenario and most families are prepared to tolerate a lot more screen time in that situation for the sake of maintaining sanity. But what happens when, at your destination, you are faced with, for example, inclement weather (yes my native Ireland, I'm looking at you). This means that potentially your children are stuck inside for days on end, and there's only so many hours you can spend persuading them to play board games and read books before screens and their many distractions become a temptation... Then when (not if) parents inevitably concede, it causes a great deal of guilt, not to mention potential condemnation from in-laws?


Screen Time - Not just a kid thing [Credit Paul Rogers]

How much is too much?

Common sense media have recently released the results of a huge census that they have taken, 'Media use by Tweens and Teens', researching typical uses of screen time. I've written about the issue of screen time before in the context of early childhood. But what make this census of particular interest is that it's focused on the screen time of older children. The findings are certainly worth reading, and for the most part they handle the issues it represents well, other than their tendency to grandstand with their "9 HOURS OF MEDIA DAILY" (which includes listening to music, something you could be doing while spending a week hiking in the mountains...) But my main gripe is their strange choice to exclude adults from the census—it's my contention (recently confirmed by another media census focusing on parents) that many if not most adults would rack up just as many hours as our children, if not more (especially if they're working on screens during the vacation, which many do). Given a comparison like that, it would put this kind of alarmist rhetoric into a much more reasonable perspective. For example, at least two recent studies show that the typical adult spends between eight and eleven hours on screens, although "to be fair, much of that probably happens while doing other things at the same time." (Statista)

"On any given day, parents of American tweens and teens average more than nine hours with screen media each day. Eighty-two percent of that time (almost eight hours) is devoted to personal screen media activities such as watching TV, social networking, and video gaming, with the rest used for work."  
The Common Sense Census: Plugged-In Parents of Tweens and Teens



As mentioned, the amount of "free time" available to everyone in the family during vacations increases, but you can be sure that especially for your children, with this significant increase, the likelihood is that your children will want to occupy most, if not all of this free time with "entertainment media". This was the focus of the census, and included media like books, not just screens, but as you will not be surprised to learn, screens dominated. A lot.

"entertainment media” is a very broad category, including everything from music, TV shows and videos, books, and websites to computer, video, and mobile games. But the fact that tweens and teens in the U.S. are using an average of six to nine hours' worth of media a day is still astounding. As discussed elsewhere, this does not mean they are stopping all other activity and attending only to media during this time; but it is still a large amount of time spent absorbing a large amount of content.
...
on any given day fully one in five 8- to 12-year-olds in this country is using more than six hours of screen media, and nearly as many teens (18 percent) are using more than 10 hours of screen media." (The Common Sense Census, 2015, p 30)

The survey provides little of anything in terms of advice as to how to manage this, although one particular statistic really stood out to me, and it is at the heart of my advice to parents in dealing with this tricky issue.

Media Use by Tweens and Tweens Report - Page 22

"Only 3% of teens' and tweens' digital media time is spent on content creation" 

Almost every vacation I get bombarded with emails parents and teachers desperately requesting ideas for ways that they can use screen time more productively during their vacation, so here is my advice if you want to try and make screen time more productive in your family this holiday.

Get creative

The notion of screen time as a one-dimensional activity is changing. Computers, tablets, and smartphones are multipurpose devices that can be used for, well, lots of purposes. Designating their use simply as "screen time" can miss some important variations. The Common Sense Census identifies four main categories of screen time.

  • Passive consumption: watching TV, reading, and listening to music 
  • Interactive consumption: playing games and browsing the Internet
  • Communication: video-chatting and using social media
  • ​Content creation: using devices to make digital art or music

21st Century Family Screen Time [image credit: pc.advisor.co.uk]

If your children are dual language learners (DLLs), this is an excellent way to encourage them to reinforce their language other than English (LOTE), by replicating some of their school projects in their mother tongue.

A model I use for framing our use of screens at UWCSEA is something I sum up as 'vitamin digital' of 'VITAD'; five domains of tech use. Even better, as your kids have been working within many (if not all) of these domains, they will already have a good idea of the kinds of tools they need to use, without you needing to teach them! Each of these domains is powerful in its own right, but they really come into their own when you start exploring combinations of them...

VITAD - Video, Image, Text, Audio and Data Handling - Core Domains of Tech

Video editing:

Make music videos, animation, stop motion video, 'supercuts' from YouTube clips. Why not appoint your kids as family 'media journalists', why not give them the job of documenting the holiday? I'm sure they'll let you contribute some of your media to the project...

Many of our students use this model for their iTime projects in the Junior School, see this post for lots of suggestions for holiday iTime projects that are fun for your kids, without being a headache for you to manage as a parent. Below are some examples:

Image creation:

Image montage/mash up, slideshow, add music to convert the slide show into a music video? Image editing, filters, layers, digital artwork... 

Text: 

Make an ebook, presentation, blog, choose your own adventure (hyperlinked Google Slides), coding, website, browse (research holiday destination?) persuade, demonstrate...

Learn to touch-type, for more advice on this see my related post, but it's safe to say that if you/your child dedicated 15-30 minutes a day to this everyday throughout the holidays they could be proficient by the start of the new school term in August! 

Audio: 

Slideshow commentary, soundtrack, podcast/radio show, composition in GarageBand, or remix of favourite tracks? 

Data handling: 

Spreadsheets: pocket money, trip budget, holiday costing, problem solving, graphing stats (choose data and gather ie how many times does 'x' do 'y'???

Maths:

Do not be mistaken, just because they are working with Maths activities on a screen, doesn't make the experience much more palatable for your kids. That said, there is no doubt that using screens to encourage greater numeracy is a no-brainer, these tools are brilliant at enabling practise, with immediate feedback, and developing 'automaticity'. Despite this, Maths practise will most likely need to be encouraged with tangible rewards for completion of certain achievements. I expect my kids to do a half an hour of Khan Academy before they do any other screen activity, half an hour a day during vacations is the goal. Maybe offer them rewards as they complete certain mile posts or missions? In order to keep vacation stress to a minimum, I find it a really good idea to ask them to go back and master grade missions that precede the grade they're in, as this is an effective form of revision/consolidation/practise, even if this means a Grade 5 student working on the Early Years mission to get started, if I did it, so can they! This way you're also less likely to be called on to help with problems that they can't solve independently, and they are more likely to enjoy the sense of fluency and confidence that comes with working speedily through concepts that they have practised in previous years, not to mention the reward of mastering a grade level. That said, both you and they might be surprised at how many foundational skills they are less confident in than they thought, just as well you did this then, isn't it?

... Better still, why not join them in a little Maths revision yourself? The Khan Academy App on the iPad is particularly good for this.

There are plenty of other options besides Khan Academy, especially if you don't have a reliable WiFi connection, these can be really useful. One of my favourites is the Ken Ken App, like Sodoku, but with basic operations thrown in. Also, pretty much anything from the developers behind Squeebles is a safe bet—there are many tried and tested Maths Apps, such as these, and these, that you can install on an iOS device near you, I'm sure many if not most of these are also available on Android.



Coding

Check out my coding posts on this blog and you'll see a complete guide of many kinds of apps and sites to fill any vacation... :)

Focus on the Meaning not the Medium

Now I'm not going to pretend that all these ways to use screens to create are going to trump the use of screens to consume, interact and communicate, any more than you have any intention of only using screens in your life for creating. For this reason you may need some incentives are going to have to be in the form of some essential agreements; with a bit of careful negotiation I'm sure you can work out some sort of compromise...

Finally, some wise words from the American Association of Pediatrics (updated October 2015):
"Media is just another environment. Children do the same things they have always done, only virtually. Like any environment, media can have positive and negative effects. 
Content matters. The quality of content is more important than the platform or time spent with media. Prioritize how your child spends his time rather than just setting a timer."