|
|
|
Ask HN: Best online programming class for newbies?
|
|
4 points
by bredman
4311 days ago
|
|
My wife has never programmed before but is trying to learn. She's started taking the online CS50X course (https://www.edx.org/course/harvardx/harvardx-cs50x-introduction-computer-1022#.U_10LGSwJuM). I'm not huge fan of it as it isn't how I learned to program, particularly I think C makes learning basic things more complicated than needed. I'm curious what everyones favorite online classes are for people completely new to programming? Needs to be free (or near free), online, and probably self-directed. Also a huge thanks to the people who make online courses available for free. Despite its shortcomings the Harvard CS50X course is infinitely better than what was available when I went to school. |
|
Not necessarily my favorite, Coursera's Programming for Everybody [1] moves forward very very slowly. Great for some people, drying paint for others. It is taught in Python.
A course I think is great is Coursera's Introduction to Systematic Program Design [2] based on Felleisen's How to Design Programs introductory text. It is possible to register for the last session, from a year ago, and complete the work on your own. It is taught in Racket.
Another course that takes a learn-by-making approach is Coursera's Creative Programming for Digital Media & Mobile Apps [3]. It is beginner friendly and really encourages "getting into it". It is taught in Processing, and in some ways I think Processing is the ideal language for an introductory course in Software Engineering - it is pared down like Racket's student languages, provides just a pinch of Java pain, facilitates the production of really interesting output, and the environment provides a fast edit-compile-run loop.
For a person who is more oriented toward scientific or mathematical problems, Coursera's R Programming [4] might by a good fit.
Among the various Python Courses, I would probably go with Udacity's Design of Computer Programs: Programming Principles [5] because it is taught by Peter Norvig.
All that said, a book may be better than an open-enrollment class for many people, and there's a lot more variation.
[1] https://www.coursera.org/course/pythonlearn
[2] https://www.coursera.org/course/programdesign
[3] https://www.coursera.org/course/digitalmedia
[4] https://www.coursera.org/course/rprog
[5] https://www.udacity.com/course/cs212