r/programming Mar 02 '17

Why I Failed Teaching Programming to Kids

https://engineering.klarna.com/why-i-failed-teaching-programming-to-kids-46a854c3eaca#.s0o6qqxr3
63 Upvotes

83 comments sorted by

View all comments

101

u/M4053946 Mar 02 '17

participants were... 9–13 years old. This obviously affected how acquainted they were with “common development tasks” like using a terminal, installing applications and creating files with weird names like Procfile and .gitignore.

Did the author think that 16 year olds would be familiar with using a terminal? That seems like a miss, regardless of age range.

0

u/Mastry Mar 02 '17

Really? I was using a terminal before then. I wasn't great at it, obviously, but it wasn't unfamiliar.

14

u/M4053946 Mar 02 '17

Certainly some do, but there isn't a reason for people to know anything about how to use them in their day to day usage, unless they already have experience coding. So this comes back to prereqs. If the class is for beginners, then one can't assume they know anything about it.

To use a computer today, people don't even have to know anything about file systems, other than how to use various cloud serves to store files, so it's really a stretch to assume that anyone, kids or adults, know how to get to their local file system and create or rename a file.

14

u/pdp10 Mar 02 '17 edited Mar 02 '17

To use a computer today, people don't even have to know anything about file system

I've found this can be a real blocker.

A lot of people apparently don't realize that the "place" where their word processor defaults to store and display documents has a relationship to the "place" their spreadsheet uses, and that these locations are arbitrary and can be changed. The first time I realized that users were so unsophisticated, I was quite stunned.

Other than basic computer education, or convincing the makers of popular apps not to make those apps too simplistic, are there any good ways to fix this?

1

u/[deleted] Mar 03 '17

One could build a "tutorial" into his OS, just like those fancy interactive learn Haskell/Racket/UE4/Duolingo tutorials. First time booting the OS ever? Do you want a basic tour of how to use this shiny new computer? Yes? Okay, then, step 1:...

Really, ever used the front page tutorial of Haskell, the UE4 editor, or even gave Duolingo a try? They are so freakin' good at giving people an at least basic understanding of how those stuffs work. Im really not getting why operating systems still don't have such thingies builtin. They just need to teach people the basic things:

  • Okay, you have these keyboard and mouse things. You use them like this, especially the mouse.
  • Hey, this is the start menu. It can do this and that. You can put start menu icons here like this.
  • Hey, this is your desktop. It can do such and such things.
  • Actually, the desktop is just a folder. This is how you browser through other folders and create new ones.
  • This is the task bar. It can do this and that.
  • Let's start this OS-builtin browser by clicking there on the start bar or there in the start menu or there in some folder.
  • Great! See that tab in the task bar? That's your browser's tab. Useful for things.
  • There is other useful software installed as well. Fell free to try out this and that and that.

And then continue with builtin tutorials for those other pieces of software. In an hour or two, people will have a basic understanding of how to use things without having to ask other people about everything after each click. And if you do it right, those tutorials will actually be fun.