Vous êtes sur la page 1sur 4

 / Tech

NOV 30, 2012 @ 11:48 AM 74,060  The Little Black Book of Billionaire Secrets

What Are The Best Sites For Learning


Programming?
Quora, CONTRIBUTOR
FULL BIO 
Opinions expressed by Forbes Contributors are their own.

I've been spending 6-8 hours/day


teaching myself to program for the past
month or so and have basically scoured
the Internet for every free or semi-free
tutorial out there.

Here's the good stuff I've used and


recommend:

1. CodeHS (codehs.com) -- Personally


graded, video-then-program Nick Huber, Internet Adventurer
format problems, starting with a
toy language called Karel and moving up to Javascript,
culminating in you making the game Breakout in your browser.
Founded by two ex-CS106a TAs at Stanford from which the
curriculum was largely adapted. They have probably forty hours
of really good content and, most importantly, provide you
friendly, one-on-one help with around three hours turnaround
when you need it. Check out my version of Breakout I made after
doing all of the content: EpicBreakout (thenickhuber.com). (1)

2. Google's Python Class (google.com) -- Unlike above, requires some


set-up on your machine (i.e. you're not coding in-browser), but
still good. About two days worth of lectures on Python with a
handful of good problems, culminating in regular expressions
(like a custom CRTL + F in a Word document) and a problem
where you descramble an encoded image from a website.
3. CodingBat (codingbat.com) -- Python and Java problems. No frills,
just the exercises -- probably better for someone with a little bit of
background (meaning you know what a function/parameter is
and can use The Google to figure out/find syntax/functions you
need). The site was made by the same guy who taught the Google
Python Class.

4. Khan Academy (khanacademy.org) -- A few intro tutorials (mostly


graphics/animation-focused) in JS using a well-regarded library
(Processing.js) and then a wide-open project space for you to see
programs other people have made (i.e. the end result and the
code) and to make your own, potentially forking off of their work.
Here's a game that some guy made that served as inspiration for
my version of Breakout: Mercury Subspace (khanacademy.org).
Pretty great, right?

Recommended by Forbes

MOST POPULAR  TRENDING ON FACEBOOK

The 10 Most Farewell Toys R Us,


Dangerous U.S. Cities We Will Miss You

5. Codecademy (codeacademy.com) -- Solid read-then-write-code


format of small problems broken into different subpieces. I used
their HTML/CSS tutorials to get a basic background before making
my personal website (http://www.thenickhuber.com/) and am
going to use their stuff on more advanced JS and jQuery when I
get to it. Still, their grader is a bit buggy and there's a large
variance in course quality/overlap in material, since everything is
written by different people.

6. Learn Python The Hard Way (learnpythonthehardway.org) --


Read-then-implement exercises, starting from no assumed
knowledge. Good, but still not as good as interactive problems; I
gave up after doing ~20% or so of it because it's unapologetically
repetitive, but have read lots of good reviews of it.

Other good stuff I want to check out:


1. Stanford iPhone course (all slides and assignments:
http://www.stanford.edu/class/cs...) -- an iPhone app seems like
such a good early project, because it's so easy to show your
friends what you've made, but have to figure out how
completeable it would be for me. Also, you can't get your problem
sets graded if you're just working on your own from the material
online.

2. K&R (http://www.amazon.com/Programmin...) -- Highly regarded


intro book on C and implementations of the most canonical
algorithms. (If you know of a website that tries to do something
like this, would love to get it from you.)

3. The many CS courses on Coursera (coursera.com) and Udacity


(udacity.com). However, I think it's really important that you
have someone grading your work so that you can get feedback
(and that you actually do the problems rather than just watch the
lectures). I'm not sure if this is possible if you take the course "off-
cycle" and how good the problems are, but still worth taking a
look.

After a month, I've now got a better idea of what I can make and this
then informs things that I think would be cool to make. At this point, I'm
most excited about continuing with this project-based learning
approach as I think it's more effective/lasting/fun than more
tutorials/classes, but it's still tough to get this outside of the
university/work environment.

---

1. Note: it's unwinnable right now -- I need to refactor and expand


it, including a bunch more powerups and the final showdown
with our hero's final boss, The Brick King. FYI, my high score is
like 550 and the game gets buggy at high levels. Switching to
bullets helps and actually adds some unexpected difficulty. Would
love to get your feedback/ideas.

This question originally appeared on Quora. More questions on Computer


Programming:

What are some cool bit manipulation tricks/hacks?


In layman's terms, what are the major programming languages,
and what are they used for?

What advice would you give to a Computer Science major student


that you wish you were given when you started Computer Science?

Vous aimerez peut-être aussi