
Ask HN: Resources to teach high schoolers to code? - qsymmachus
I have a friend in NYC who has volunteered to teach high schoolers programming this summer. She&#x27;s a public school teacher with limited resources, but she&#x27;s been given free rein to teach whatever she wants, and asked me for guidance.<p>Her goal is to get the kids building basic web apps by the end of the summer. It&#x27;s an ambitious goal but I think it&#x27;s doable. Some resources I suggested so far:<p>* code.org for free curricula and guidance<p>* glitch.com as an easy and fun platform to start building web apps<p>Are there any other good tools she should check out? Any organizations in the NYC area that could help her? Thanks!
======
teach
Taught programming to high school students for twenty years....

I liked using a bunch of projects with increasing difficulty that students
could move through at their own pace. The difference in coding aptitude is
really quite astonishing.

I wrote a blog post explaining how I used to teach beginners in tremendous
detail: [https://grahammitchell.com/writings/how-i-teach-
beginners.ht...](https://grahammitchell.com/writings/how-i-teach-
beginners.html)

I'm not a big fan of CodeCademy; it's seductive but the kids end up not
knowing how to do very much at the end.

Khan Academy has a decent HTML/CSS/JavaScript curriculum. I never personally
used it with students because I wasn't teaching Web Development anymore once
they rolled it out. However, I think it looks pretty good. Might be a little
fast for some kids.

Anyway, hope that helps.

~~~
tudelo
That's an interesting way to teach, acting much like someone running a college
level CS lab, except you also have the benefit of creating the material. I
think this is one of the better ways I have read to teach this sort of stuff.
No one will be left behind and those who are fast are not held back. The only
problem I can see is class sizes but with a low enough size, this seems like
an awesome teaching method.

------
mathgeek
Just in case you haven't run into yet, we also have a specific page on Glitch
to highlight "learn to code" projects:

[https://glitch.com/learn-to-code](https://glitch.com/learn-to-code)

------
52-6F-62
When I was in high school we used BASIC and then Turing to learn basic
instructions. With Turing we were able to learn to draw some basic graphics to
the screen, etc. I'm not sure how applicable it would be to web app cases, but
it was at least a little engaging at the time.

[http://tristan.hume.ca/openturing/](http://tristan.hume.ca/openturing/)

To build a full web app for the first time without previous exposure could get
messy quickly given the current landscape. Maybe start with a simpler website
that includes laying out some HTML, styling it, and adding some basic front-
end interactivity.

If there's a pre existing server that they could interact with, maybe that
would help with encouraging them by giving them more immediate results without
skimming too much of the detail into what they're actually building, rather
than just learning _too_ much by rote.

A bit of a search pointed me to Udemy which has a free course covering
HTML/CSS laid out already. It wouldn't be too hard to build on something like
that to show how Javascript interacts with elements on a web page.

[https://www.udemy.com/build-your-first-website-
in-1-week/](https://www.udemy.com/build-your-first-website-in-1-week/)

------
dictum
It's not exactly a teaching resource, but one tool I think high schoolers will
be interested in is the browser's dev tools.

Showing how they can modify websites they visit - even if just to replace a
phrase on the homepage of their school's website with something else, like
legal graffiti - can interest them in one kind of code - web code. It's not
the only or even most important kind of programming, but it's highly
accessible/relatable to high schoolers.

------
montrose
I've heard Repl is becoming popular with teenagers, and it's free.
[http://repl.it](http://repl.it)

------
applecrazy
As a high school student, I've heard great things about Hack Club[1]. It's a
full HS coding curriculum with a community of high school students behind it.
I believe HN user zachlatta could be able to help you (he runs the program).

[1]: [https://hackclub.com/](https://hackclub.com/)

------
asicsp
* Lightbot : Code Hour app: [https://play.google.com/store/apps/details?id=com.lightbot.l...](https://play.google.com/store/apps/details?id=com.lightbot.lightbothoc)

* games list: [https://medium.mybridge.co/12-free-resources-learn-to-code-w...](https://medium.mybridge.co/12-free-resources-learn-to-code-while-playing-games-f7333043de11)

* side bar of this subreddit: [https://www.reddit.com/r/programmingforkids/](https://www.reddit.com/r/programmingforkids/)

* also this Q&A site: [https://cseducators.stackexchange.com/questions?sort=votes](https://cseducators.stackexchange.com/questions?sort=votes)

------
cornholio
Mostly geared to middle school and absolute beginners but worth mentioning:

Scratch is a visual environment that will teach the basic of algorithms,
loops, decisions, variables etc. using just drag and drop. It has sprites,
sounds and everything you need to create rich flash games that can be exported
to the web, so coding it's very rewarding, here is what a 12 y/o can create:
[https://scratch.mit.edu/projects/203422373/](https://scratch.mit.edu/projects/203422373/)

------
scorpion_farmer
This blog has some good ideas about teaching Python to high school students:
[http://blog.jrheard.com/](http://blog.jrheard.com/)

------
newbear
Freecodecamp.com - I'm surprised nobody here is touting it. It's the best. Has
a forum, has a curriculum, hits on computer knowledge students might have gaps
in, uses github, is open source, etc. glitch is a cool way to do a full stack
demo but you need to go through some learning on your own first I think and
FCC is the best free tool there is

------
foopod
Code Club is great. Has a one year curriculum of Scratch -> HTML & CSS ->
Python.

Aimed at 10-12, but easily caters to other ages too.

Have a look at the tutorials below...

[https://codeclubprojects.org/en-GB/](https://codeclubprojects.org/en-GB/)

------
disqard
Check out the projects listed at the Center for Game Science. Two of them
(DragonArchitect and BlockStudio) are all about introducing programming
concepts to novices. Disclosure: I'm a grad student at CGS.

------
hervan
I'm no educator, but this material caught my eye a while ago:
[http://csfieldguide.org.nz/](http://csfieldguide.org.nz/)

------
dopeboy
ScriptEd (scripted.org) has a curriculum on GitHub which might be helpful to
your friend.

------
Mechasparrow
Here's some additional resources

Web Apps: \- freecodecamp \- codeacademy

That's all I really got for now :)

