Live data from Hacker News

Ask HN: How would you teach teens to code in 2019?

news.ycombinator.com

21–30 of 88 posts

Re: Ask HN: How would you teach teens to code in 2019?

#21
This is more "resource" than "curriculum" but have you seen Glitch.com? It's a combination hosting service/dev environment/playground that has lots of example projects that can be forked and modified, many of which are things that they might find interesting (messing around with Spotify playlists, etc.).

Re: Ask HN: How would you teach teens to code in 2019?

#22
I would direct them to a game style coding session as gaming can be a stepping stone for some.

For me gaming led to wanting to mod the games, which led me learning how mods were created and learning to 'break' the game.

I am not affiliated with them however I did stumble across a DApp programming 'game'

https://cryptozombies.io/

If they like the above at that point I would direct them to other programming languages.

Re: Ask HN: How would you teach teens to code in 2019?

#23
First one is Beaker Browser. I know this isn’t a popular technology - but that’s not important to a teenager. I have been teaching some teenagers how to build little JavaScript apps in Beaker (no npm or git yet) and it has completely caught on for most of them. These are kids familiar with Scratch but not text-based languages.

The nice thing about Beaker is:

* They can write dynamic apps without needing to write server code. (We are working on note-taking apps and home pages that save to the file system.)

* They can share their stuff and link to each other without needing to publish anywhere. This also makes it a kind of private network, so it feels like a safe place to make mistakes.

* Has a built-in text editor and file manager. Eventually they will learn more - but let’s start with just the HTML, CSS and JS - that’s already a lot to take on.

* Concept of versioning is built-in, so hopefully this will make it easier to teach source control.

Other good tools that I have enjoyed using to teach elementary-age kids: Twine is amazing. And Scratch (as well as Scratch Jr on touch devices) are good preparation.

To determine interest level, I like to have them watch over my shoulder while I build something small for five or ten minutes. (Don’t go too long.) I start by just showing how HTML tags work. This will excite many of them - they may even start to conjure up ideas right away - if it doesn’t excite them, then perhaps the interest isn’t there. (Or they might not understand something like HTML yet and need something simpler.)

Re: Ask HN: How would you teach teens to code in 2019?

#24

code for code's sake is usually boring. using code to do something you already want to do can be fun. so start by finding a project. even better if they find the project on their own...

So true. I think that finding a project involves listening to the child/young adult and listening is a bit of a skill!

I think trust is also important. So if you can do a collaborative project where you do your bits and they do their bits then it should all work out.

Then you need some imagination. To think of a project. It should satisfy a personal itch. Or a neighbour's problem.

A good breakdown of roles is for adult person to do some hardware, even if the computer interface is just a switch and a relay and then the computer bits can be done by the young person.

I would say that listening is important, particularly if you want the young person to be owning the project.

Re: Ask HN: How would you teach teens to code in 2019?

#25
If your kids get into coding and if they're doing Javascript (which I think is a good place to start for lots of reasons, but python might be better) I can personally recommend Free Code Camp for learning basics and intermediate topics in javascript web development. The interface is thoroughly gamified and it's very effective for people who are, but ONLY after they're enthusiastically hacking away at web dev. They'll be much more successful at learning the basics once they realize that they want and need the basics.

Re: Ask HN: How would you teach teens to code in 2019?

#26

Earlier quoted context omitted.

When first learning it's more enjoyable to see an idea translate quickly to reality. JS is great for that purpose. It's very easy to make animations and other fun effects in the DOM or build an extension on top of their favorite site. Once invested they might start research and discover CS fundamentals. Immediately throwing them at typescript without understanding JS could lead to frustration/confusion. They also mig…

I finally learned Javascript after hating two compsci classes that used Java. I really like Javascript or Python for beginners, I think other languages are too strict and are not "fun" to learn for beginners

Java's strictness used to be tedious and redundant. Don't assume all strict languages work like Java. Type inference in Kotlin, for example, is fantastic.

Strictness with good error messages is much better for beginners. That's why I use the strictest possible language in professional work: if the compiler can do a bunch of work for you, why not let it?

Strictness is like bumper lanes or training wheels.

Re: Ask HN: How would you teach teens to code in 2019?

#28
post #6

Agreed that they should show an interest before you embark on this. Finding joy in general education is more important than job skills for that age. That said, Ruby and JS are not great languages for teaching fundamentals. They (especially JS) have a lot of weird design decisions that don't translate to other languages and don't map neatly onto problem spaces. If you insist on JS, start with TypeScript at least. But…

When first learning it's more enjoyable to see an idea translate quickly to reality. JS is great for that purpose. It's very easy to make animations and other fun effects in the DOM or build an extension on top of their favorite site. Once invested they might start research and discover CS fundamentals. Immediately throwing them at typescript without understanding JS could lead to frustration/confusion. They also mig…

It's easier to use Kotlin to make fun animations than JavaScript, because Kotlin has better autocomplete. The DOM is neither the only (nor the easiest) presentation layer when you want quick results.

> Immediately throwing them at typescript without understanding JS could lead to frustration/confusion.

I don't understand why you think this would be the case. They could write plain JavaScript in a .ts file and get better error messages. There's no downside.

It's also frustrating to constantly have to check docs for JS libs instead of using autocomplete. A good static type system makes coding much faster and require less memorization of things like parameter order or return types in libraries.

Re: Ask HN: How would you teach teens to code in 2019?

#29
when I was learning programming as a kid it was all about video games. Quake was a new game and it had an embedded language called QuakeC that controlled the game logic. That was hugely fun for making Quake mods. That set me up to do programming in Perl and C.

I would probably play to their interests with projects that are more concrete than abstract. If they are into video games, lots of games have mod languages and they can start by giving themselves more health, more power, different weapons etc. If they are into social media maybe javascriptlets to edit the DOM on a website to change peoples tweets and take a screenshot, twitter or insta bot that automatically responds to certain types of posts, etc.

Teenagers should be able to grasp non-toy languages and the concept of searching StackOverflow for how to do stuff :)

Re: Ask HN: How would you teach teens to code in 2019?

#30
post #6

Agreed that they should show an interest before you embark on this. Finding joy in general education is more important than job skills for that age. That said, Ruby and JS are not great languages for teaching fundamentals. They (especially JS) have a lot of weird design decisions that don't translate to other languages and don't map neatly onto problem spaces. If you insist on JS, start with TypeScript at least. But…

>Agreed that they should show an interest before you embark on this. Finding joy in general education is more important than job skills for that age.

Thank you for including this in your comment. So many people are trying to force programming down kids' throats when the child may not even have an interest in it.

Programming is the future! Everyone needs to know how to code! Nearly everyone can write some piece of code for use in their every day life to make it easier! I disagree. Code is good for kids who have an interest in it, because after so many months of not doing it, the kids that didn't refresh the knowledge will be nearly at square one.

Post reply on HN