Hacker News new | ask | show | jobs
Ask HN: What are some recs for a high school student interested in programming?
3 points by t1lthesky 2785 days ago
My friend's son is interested in programming, but his high school doesn't offer any computer science courses. What are some online resources that I can send his way for him to 1) learn what programming is/what a programmer does, 2) learn about career options if you get a degree in CS and 3) learn how to code?

I think the free lectures available online for introductory CS classes are a good start (for example, cs106a from stanford: https://www.youtube.com/view_play_list?p=84A56BC7F4A1F852 ). What else would be good?

7 comments

I'd say to try Harvard's CS50, and if he gets stuck to seek out a mentor or one of the online communities to help answer questions.
By online communities do you mean hacker news/reddit, places like that?
I second the advice on CS50. I took it when learning to program and found it very valuable.

There is a subreddit [0] for the class where the instructor (David Malan) posts frequently. Very helpful for asking questions and learning more!

[0]: https://www.reddit.com/r/cs50

Sorry I should have been more specific, I believe the edx cs50 has a discord group and a slack group with active students taking the course.

Ideally he should find someone also interested and take it together, from my experience learning hard things is significantly easier when you have someone to talk to whose also struggling.

A couple for you that I found invaluable as I taught myself programming:

1. Team Treehouse. They now have a huge library covering just about anything he could imagine wanting to learn, mostly geared towards beginners. Much of their work is a) project-based so students can understand the practical implications of what they’re learning and b) split up into short videos/sections to help keep their attention.

2. App Academy Open. App Academy just opened up their introductory curriculum in a series of short-form videos and programming exercises that are highly-entertaining and practical.

Once he’s graduated from those, I’d second the recommendation here to check out techyourselfcs.com. Bradfield is a fantastic resource for self-taught programmers who want to build up their CS fundamentals.

CS50x on edx is probably the best introduction to CS and programming available online. He really can't go wrong with that.

If he's not in a rush, he would probably benefit from first reading and working through How to Design Programs by the Racket folks. It covers higher-level concepts than CS50 that would benefit programmers of any level and uses a series of Lisp-y languages to do so. The design process it teaches will allow him to program more systematically and prepare him to tackle other programming courses.

If he's really dedicated to learning about CS, I would recommend the curriculum at https://teachyourselfcs.com/. It outlines a traditional CS curriculum and the best online books/courses related to each topic.

As a high school student interested in CS, guidance like this has really helped me out, since I don't really have a mentor.

Bradfield is an excellent resource and Oz and his team are fantastic.

The only caveat would be that a lot of Bradfield’s curriculum assumes that students have some programming background already, so it might make sense as a secondary resource after starting with some more basic programming courses.

A friend found this https://www.coursera.org/learn/programming-fundamentals I took the class so I could help her if needed. It is a very good class on how to THINK as a programmer. It does not teach any programming language but is IMHO a perfect intro.
You can actually sign up to take the AP Computer Science exam despite it not being offered at your school.

I took it in High School based on self study and some online classes.

I've recently begun to learn a programming language (python) at age 27. I'm using various resources including youtube, however the one which has been most helpful has been codecademy.com

I highly recommend it and I'm actually kinda sad that I didn't begin to learn 10 years ago.