
Ask HN: What are some recs for a high school student interested in programming? - t1lthesky
My friend&#x27;s son is interested in programming, but his high school doesn&#x27;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&#x2F;what a programmer does, 2) learn about career options if you get a degree in CS and 3) learn how to code?<p>I think the free lectures available online for introductory CS classes are a good start (for example, cs106a from stanford: https:&#x2F;&#x2F;www.youtube.com&#x2F;view_play_list?p=84A56BC7F4A1F852 ). What else would be good?
======
HiroshiSan
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.

~~~
t1lthesky
By online communities do you mean hacker news/reddit, places like that?

~~~
otras
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](https://www.reddit.com/r/cs50)

------
ccantana
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.

------
sn9
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.

------
applecrazy
If he's really dedicated to learning about CS, I would recommend the
curriculum at [https://teachyourselfcs.com/](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.

~~~
ccantana
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.

------
sloaken
A friend found this [https://www.coursera.org/learn/programming-
fundamentals](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.

------
limeblack
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.

------
buttslasher69
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.

