Originally Posted By: jmwking
My daughter is in her first programming class in HS. We're looking for a nice, beginner level site to help her get ahead in her class.

I'm a bit surprised that a high school is teaching C++. The current popular languages for beginners in universities seem to be Java and Python, with Python really becoming the go-to standard. There's just less of it you need to know to start being productive. JavaScript is growing in popularity because it's in every browser everywhere.

In all seriousness, the way to help a true beginner get ahead is to have them learn something other than C or C++. Those language have far too many pitfalls that make it hard to debug. (Example: malloc() returning non-zeroed memory, so you can end up following pointers to weird places and see garbage in your debugger.)

The various MOOCs out there seem to be a good structured way to get from nothing to something and they generally have you do all your coding within the browser.

If you want something slightly more cutting edge, you might have a look at Pyret, which you can think of as a LISP/Scheme-family language with a surface of Python syntax. Everything runs in browser, and they have curriculum materials targeting middle-school kids in math classes. Learn the Pythagorean Theorem while building shoot-em-up videogames!