Live data from Hacker News

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

news.ycombinator.com

51–60 of 192 posts

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

#51
I took CPSC 110 at UBC with Gregor Kiczales (who worked at Xerox PARC). It was the best course I’ve ever taken.

The course can also be completed for free: https://www.edx.org/bio/gregor-kiczales

How to code - simple data, and how to code - complex data together make up the material in CPSC 110 (though there are probably some differences). They’re completely accessible with no background requirements.

The courses are based on this curriculum, which uses HTDP: https://programbydesign.org/

The programming language used is based on scheme.

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

#52
There is nothing wrong with BASIC or turtle graphics. Those would probably be awesome places to start at least for a few sessions. Google for online turtle graphics or basic or emulators.

The main thing is that he finds something that is interesting and approachable. Build up small achievements. Let him start with simple examples and then figure out how to change colors or the number of iterations in a loop. Don't rush too many things at once. Some things that seem simple like recursion may actually take a bit of time to grasp solidly. Encourage him to be patient and persistent and expect challenges like that.

Don't try to pile on too many things at once.

Dictating which language etc. is not going to help him learn programming.

He needs to be motivated by something and generating his own questions and Google searches.

If he is waiting for you to tell him what to do then your job is to train him to be a proactive learner. Help him find interesting mini projects. Start very simple. But keep trying to build gradually towards something he is really interested in (such as game programming etc.).

No reason it has to be one thing. If you want to hand hold it could be literally 100 different things to play with, show him a different thing every week based on his actual progression and interests.

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

#54
post #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,…

That's what I learned in CS, along with many other topics.

There's no way in hell I would learn about registers or assembly languages if I was learning about programming in 2022 outside of a CS program.

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

#56

I highly recommend Processing and The Coding Train [0]. The visual feedback is both engaging and illuminating to folks who have no prior experience with procedures or spreadsheets. [0] https://youtube.com/c/TheCodingTrain

Just to add to this great recommendation, https://p5js.org/ (JS port of Processing) is really great as they can get started right away and the docs are super simple. Dan uses it in most of his videos and really starts at a basic level, but works up to really complex concepts as well. My kids are younger, but they like the graphical part of it way more than me showing them the terminal and Ruby.

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

#57
Just use Javascript and make some games with canvas or something. It's pretty fun, you can iterate fast and web based things are easy to share so your kid can show all their friends their cool stuff. Then if you need to torture your self you can learn how to serve websites with Linux and web servers

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

#58
post #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,…

It's a first year CS assignment in my university to modify the VHDL source of a MIPS CPU to add an instruction as well as to program in assembly. It's not that uncommon either.

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

#59

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…

Yes, agree about the last paragraph 100%. I'm only 19 and got into programming maybe 7 years ago. At the time I was gifted a Raspbery Pi. Next to the infamous Scratch, there were about 10 pygame examples. I got the itch to modify them. Trough trial and error I somehow found the source files and I just started removing code and changing numbers. At some point I started copying lines I've seen and recomposing them.

As I wasn't allowed to just go on the internet (yet), some time later I also got a CS book. By studying that, I finally was able to "program" what you would call it.

I agree all the way: Don't read about programming. IMHO, taking a (veeery easy, in my case it was Super Simon in ~200L Python) program, game if you wish, and starting to just change stuff around. This gets you comfortable with the concept of coding. "Formal" education (ie. books etc.) are only required once you already are fascinated.

This is the advantage of the young: They are not afraid to try out and break things. I'd suggest using this phase of life as it is intended.

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

#60

I'd throw everything at them and see what sticks. Try web, gaming, hardware, ML, puzzles... find a place of passion and grow out from there. Try to give them a tour of what can be done in each domain, and see what they'd like to try.

I'd do the opposite. I'd find out which of those things interests them, and then guide them strongly towards a popular solution for it. If they change their mind, that's fine. But too much choice can make it really hard to approach.
Post reply on HN