Ask HN: Do you know a good course or book to learn CS basics for teens?
10 comments
I read this when I was a teen and liked it. It explains how computers work, and is still relevant 20 years later.
https://en.wikipedia.org/wiki/Code:_The_Hidden_Language_of_C...
https://en.wikipedia.org/wiki/Code:_The_Hidden_Language_of_C...
Code is a good motivator (and I need to buy a second copy, my copy was loaned out and then we both switched jobs, oops). A good follow-on is The Elements of Computing Systems (nand2tetris course) which starts with a more "hands-on" approach to the material in the second half of Code. "hands-on" because it's all via simulations and idealized components, but it's a good course and a motivated teen could work through it with some guidance or solo.
CS50 on youtube is great - well taught, covers a lot of ground, no prerequisites, doesn't coddle its audience.
Nand to Tetris.The Elements of Computing Systems: Building a Modern Computer from First Principles
https://www.nand2tetris.org/
Free (also some paid online certificate programs).
At least worth a look.
https://www.nand2tetris.org/
Free (also some paid online certificate programs).
At least worth a look.
For a relatively high level look at CS history and core concepts, the YouTube Crash Course series is very well done and watchable. https://www.youtube.com/playlist?list=PL8dPuuaLjXtNlUrzyH5r6...
Anthony Alecia’s courses have the best explanations if he wants to truly understand whats going on and they’re great. Start with HTML CSS and move on to Javascript
On edx:
How to Code: Simple Data
How to Code: Complex Data
There is also a book at https://htdp.org
How to Code: Simple Data
How to Code: Complex Data
There is also a book at https://htdp.org
CS50X is pretty good, you can watch some of the videos beforehand to get a feel for the course.
Id honestly have him start with something like this.
https://www.theverge.com/2021/1/13/22229985/customizable-epa...
You need to have some sort of reward loop for kids to maximize engagement, unless he has an extremely strong desire to learn everything CS, books and courses with pretty useless projects are not going to make him learn. On the other hand, tinkering with a piece of hardware and coding custom logic for it produces immediate results that can get someone returning to the activity.
https://www.theverge.com/2021/1/13/22229985/customizable-epa...
You need to have some sort of reward loop for kids to maximize engagement, unless he has an extremely strong desire to learn everything CS, books and courses with pretty useless projects are not going to make him learn. On the other hand, tinkering with a piece of hardware and coding custom logic for it produces immediate results that can get someone returning to the activity.
Coursera
I need to recommend an overall learning experience for him that is appropriate for his age (around 16) and want him to understand the basics without getting too deep in math or algorithms, so he can get a good view of the field and understand the basics.
Have you came across a simple course, book or learning platform (preferably free) appropriate for beginners?
Thanks!