Standing in stark contrast to the majority of gamified online courses is
Learn The Hard Way. Originally just Learn Python The Hard Way, the course has branched out to cover other subjects such as C and SQL.
Learn The Hard Way eschews niceties such as online videos and interactivity in favour of working in the cold, hard world of the Terminal. You learn to write programs in a basic text editor, run and debug them using nothing but the command line.
Why programmers think Mac OS X is the best OS to use
It sounds tough, and it often is, but this tough love approach teaches you programming like no other resource.