+ (description of Metacademy)
+ 
+ But some topics are so important and fundamental that they appear all over the place. If you do any sort of programming, there are
+ some basic concepts you'll simply have to be familiar with: control structures, functions, arrays, and so on. These are the air you breathe,
+ the water you drink. Trying to list all the things that depend on them would be hopeless.
+ 
+ If you have already taken a university level programming course, or AP Computer Science, or have taught yourself programming in a general purpose language, then you know enough to use Metacademy. You can skip the rest of this roadmap. If not, then read on.
+ 
+ 
+ ## Option 1: online programming course
+ 
+ * [CS50, Introduction to Computer Science](https://courses.edx.org/courses/HarvardX/CS50x/2014_T1/info), is Harvard's introductory programming course, aimed at non-majors. This has a light-hearted style, with high production values. The course covers several languages, but the relevant parts are taught in C. You should watch the videos for Weeks 0 through 3, and do problem sets 1 and 2.
+ 
+ 
+ ## Option 2: textbook
+ 
+ 
+ ## Option 3: JavaScript tutorial (for the impatient)
+ 
+ * Khan Academy's tutorial ["Intro to JS: Drawing and Animation."](https://www.khanacademy.org/computing/cs/programming) This teaches you the basics of programming by way of creating simple graphics in the browser.
+ 
+ * CodeAcademy's tutorials on [JavaScript](http://www.codecademy.com/tracks/javascript) or [Python](http://www.codecademy.com/tracks/python). 
+ 
+