Live data from Hacker News

Ask HN: It's 2022. Where should I direct the youths to learn about programming?

news.ycombinator.com

41–50 of 192 posts

Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?

#41

I usually recommend everyone who wants to learn programming: - to write some games, - or alternative to write some tools to be used for themselves to automate or simplify some of their tasks. Writing games can be so much fun, and is incredibly deep such that you can pretty much touch upon all topics of programming, networking, computer science, algorithms and data structures, artificial intelligence, 3D graphics, GPU…

Tic80.com - might overgrow it quickly, but excellent for start. Has Lua, Fennel.

Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?

#42
Harvard's CS50x (taken through edX) is absolutely amazing as an intro to computer science. Professor David Malan is really engaging.

I cannot recommend it highly enough.

And, if you don't care for the certificate at the end of the course, it's free

Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?

#44
As another commenter notes, programming with a specific goal in mind is a good way to start. People can't sit down and learn "math", it's too broad a subject. Instead, you sit down and learn how to do a specific task (solve for x in an equation) and build from there. A lot of younger engineers today learned things like HTML/CSS/JS to customize/exploit Neopets and Myspace. It's not that they were interested in programming, they just wanted a result and figured out how to make it happen.

So to that end, I'd probably start with a project-oriented book, or give them tasks that require programming to solve (e.g. tell me the distribution of words in this Shakespeare play. What are the most common ones?).

Editor wise, VSCode is great, but may be too many bells and whistles. Sublime Text may be a better place to start, since it'll do highlighting, formatting, etc without being overwhelming.

Language wise, Python, JS, and Ruby all have ample beginner resources. Depending on what else they're into, JS is probably the most widely useful (since it's on most web pages and the sandbox is built right into the browser).

Good luck! Let us know how it goes!

Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?

#45
A-Frame (https://aframe.io/) + glitch (https://glitch.com/~aframe)

Code interactive 3D apps / VR / AR starting with HTML and dive into the entity / component API as you progress. Super rewarding to get something visual than can be shared with an URL to show off or ask for help.

With glitch one can start coding right away with zero tooling to install no account required. Glitch doesn’t hide details and knowledge transfers directly if one wants to start developing locally.

I recommend also the A-Frame docs as learning material:

https://aframe.io/docs/1.3.0/introduction/

I help maintain A-Frame and seen plenty of success with people learning how to code while having fun. Also advanced capabilities available as you learn. Very accessible but not just a toy.

Very welcoming community.

edit: typos

Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?

#46
I'd suggest picking something relevant to the things he's already interested in like modding video games. Obviously this is personal to us all but I learn best building things, and I'm most likely to stick to building things I'm interested in.

SICP is great for those who want to learn more about programming after they have some experience programming. If someone gave me that book as my first one I think I'd have picked a different career field, even though I am now - 8 years later - working through it :)

Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?

#48
The book ”Automate the Boring Stuff with Python” [1] and the course with the same name is a pretty good.

It is a practical introduction to programming using the type of projects that got many of us into this field and manages to capture the spirit of what makes writing your first program so special.

[1] https://automatetheboringstuff.com/

Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?

#49

I usually recommend everyone who wants to learn programming: - to write some games, - or alternative to write some tools to be used for themselves to automate or simplify some of their tasks. Writing games can be so much fun, and is incredibly deep such that you can pretty much touch upon all topics of programming, networking, computer science, algorithms and data structures, artificial intelligence, 3D graphics, GPU…

https://24a2.routley.io/

This is the most basic of javascript game engines but also challenges you to be creative.

Re: Ask HN: It's 2022. Where should I direct the youths to learn about programming?

#50
There's something the "old hackers" know that many CS students don't learn from the start (in the introductory classes), and that is actually how a computer operates. Don't spend a lot of time on this unless he's really interested, but it's a good idea to sit down with him for a few hours and teach him what really goes on inside a computer.

I'm talking about the concept of instructions, registers, addressable memory, etc. - with block diagrams, not with full circuits unless he's into that kind of stuff.

Then when he moves onto one of the high level languages that the other commenters are talking about the concepts will naturally stick. E.g. a variable is stored in memory, when we add two variables in the HLL we are copying those values to registers and using an ADD instruction, then we are writing the result back to memory. When there is an IF statement the computer will jump to either block of code depending on the conditional operation. Pointers become intuitive. And so on.

I've explained this to laymen and people who are interested in computers and have gotten a pretty positive reaction from them - so it's worth a shot. For a programmer who generally focuses on HLL it also allows them to get some idea of how their code is executed in the real world under all that abstraction.

Post reply on HN