Live data from Hacker News

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

news.ycombinator.com

51–60 of 88 posts

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

#51
post #37

I started with BASIC programs written on my TI-86 to automate math problems; they may find that a useful way to get started, and learning a little BASIC shouldn't be much more brain-damaging than learning Javascript. I kind of have a problem with training people to "code" rather than teaching computer science; feels sorta like comparing a "wine and painting night" to a course in oil painting, in that you might shortc…

I remember geometry in 9th grade. I ended up programming my TI for all the formulas so it would prompt for the variables then you hit enter and viola, perfect answer every time. We had a test where I ended up finishing in about 10 minutes. The second person to finish took 30 minutes +. In hindsight I should have went slower because it was obvious no one could have finished as fast as I had. After the class was dismis…

Good teacher.

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

#52
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…

Very much agree on kids showing interest. I didn’t even have much choice, when my kids weren’t interested, they wouldn’t do it. Now that they’re interested, they’re self-motivated, exploring and begging me to help them.

As far as language choice goes, I’ve tried to teach my son Python and a couple other languages, but he’s not that interested. He’s choosing JS and is self-motivated to learn because he can share his creations with his friends super easily, and because he can edit JS files directly on his website that doesn’t need to run a back-end. That’s not really built-in to any other language. TypeScript is closest, of course, but for a kid the prerequisite of learning npm and a transpiler and installing them on a server are huge hurdles.

Personally, having worked in Python, C++, and JavaScript professionally for a couple decades, I’m not in the least bit worried about my son learning JavaScript and being able to use what he learns in other contexts, not even a little. All languages have oddities, and IMO JS doesn’t have more than any other language, they’re just different. JS is really great for asynchronous thinking and quick to prototype interactive web pages and games.

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

#53
post #43
post #20

When I was quite young, I started 'programming' by copying code out of magazines. I would run home from school, open up a magazine, write code until dinner, run downstairs after and write code until I had to go to bed. If I repeated that often enough, I would eventually (if I was lucky) be able to compile my code, fix the 14,000 missing pieces of punctuation and then have a (very primitive) game to play and share wit…

I fear that this kind of passion is now harder to achieve, because kids are shown that computers can do amazing stuff from very young age but anything that you can produce yourself will be woefully behind. Back in the day a game copied from a magazine was worse than what one could buy, but not _that_ much worse. This is why, I think, we see people "coding" in Minecraft and Roblox. They have all of the environment set…

That’s an excellent point that time had kind of glossed over for me. When you mentioned that, I remembered playing a couple of commercial games. You’re right - they were better, but not that much better.

Thanks for the comment and helping my memories! This has been a great thread.

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

#54
post #32

Glitch is amazing. It solves the development environment problem better than anything else I've ever seen - you can spin up a new environment entirely from your web browser without installing anything, and seconds later you have a dynamic website that other people can visit. It's also a really great learning community, thanks to their "remix" feature (like forking on GitHub).

Do they have also C++?

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

#55
I would highly recommend this channel Coding Train on Youtube https://www.youtube.com/user/shiffman/

The instructor Daniel Shiffman explains coding from the ground up and is easy to follow along. The kids can use the web based editor http://editor.p5js.org/ and all you need is a browser. This is usable from a tablet but using any laptop or desktop will provide a better experience.

Start with the playlist Coding with P5.js https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tM...

This channel starts with the basics and goes all the way to machine learning !!!

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

#56
For direction of learning, I'd recommend finding challenging projects with them which they have a strong interest in, and can feel a sense of ownership over, then let their curiosity and creativity drive the teaching. The teaching should reward them by solving problems they are perceptive of and value.

I think for a language, Javascript is a great choice. It's convenient because it can be used in the browser, or CLI / server with Node. It has powerful and user-friendly tools for debugging and profiling. NPM has a wealth of libraries for graphics, robotics, machine learning, and pretty much anything else you might want.

For functional programming, with interoperability with Javascript, there's Elm: https://elm-lang.org/

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

#57
post #39

You could look into Turtle graphics and Clojure. This is a modern take on "Logo" - a language designed for children, but the learnings can be applied directly to Clojure/Clojurescript. http://timothypratley.github.io/power-turtle/ (try in browser)

Thanks for sharing this , I think its a interesting approach to learning Clojure and I am a going to use this. Using a LISP as your first language may be too abstract to effectively teach and use. I would consider it a risky approach . IMHO it is better suited as a second programming language for someone who already codes and wants to expand on his/her programming skills. I would like to here from someone who started with a LISP ( as opposed to the 99% of us who start with imperative languages)on their learning experience.

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

#58
post #45

For me the 'magic' of BASICs line function helped me a lot to start coding because I could 'see' the results and was blown away by the graphics. Therefore I would go for Processing, which is a kind of Java. Or even the online version https://p5js.org/ which integrates the HTML DOM. And ofcourse follow The Coding Train with Daniel Shiffman. Fun to watch and he has video's for starters and experienced coders.

I did not see this comment and added a similar one and looks like there are 2 Coding Train fans on here. this. rocks !!!

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

#59
post #2

Teens/Childs quickly loose interest in something. Find out what they find "hip" or cool, don't expect it to be what you find cool. I would rather support them to program their own Instagram app then to propose them to some hardware programming environment (thinking of educational boards) if they don't like it. Also, learning programming was applied autodidactics for most of us, isn't it? My feeling is that this is th…

It's the content on IG that's fun, not the app itself. Take it from me, someone who half-learned JS and PHP through extremely tedious "build your own FB" tutorials that took 2 hours of setup work (VirtualBox, MAMP, MySQL DB setup, etc etc) before you even started "coding".

At best they will end up with something not much more than a static website that can accept image uploads. Forget about live video, stories and the stuff people actually use on IG.

I think a simple game would be better. Easier to see results early on, at which point you can dive deeper into the mechanics of what's happening.

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

#60
post #37

I started with BASIC programs written on my TI-86 to automate math problems; they may find that a useful way to get started, and learning a little BASIC shouldn't be much more brain-damaging than learning Javascript. I kind of have a problem with training people to "code" rather than teaching computer science; feels sorta like comparing a "wine and painting night" to a course in oil painting, in that you might shortc…

I remember geometry in 9th grade. I ended up programming my TI for all the formulas so it would prompt for the variables then you hit enter and viola, perfect answer every time. We had a test where I ended up finishing in about 10 minutes. The second person to finish took 30 minutes +. In hindsight I should have went slower because it was obvious no one could have finished as fast as I had. After the class was dismis…

Hah, it was geometry class for me too. Lots of plug-and-chug arithmetic, no logic required, translated perfectly into simple calculator programs.
Post reply on HN