WARNING: This post was originally published in 2009 and hasn't been updated since.
The tips, techniques and technology explained here may be outdated. If you spot any errors, please let me know in the comments so I can adjust the article. Thanks!
Well, sort of.
Thanks to Academic Earth, a friggin' gift, you can follow (video) lectures given at universities like Stanford, MIT, Harvard & Yale on some of the most popular subjects. There once was a time when you couldn't wait to get out of school, I suppose it makes sense to have a time where you'd do anything to learn new things.
Especially things you choose. And only those subjects you really like (did anyone say obligated French?).
I'm currently following the Computer Science III: Programming Paradigms course, which features a lot of interesting topics such as:
- #1 Introduction: Procedural Paradigm vs. Object-Oriented Paradigm, Assembly, Concurrent Programming Overview, Example of Data Sharing Issues with Concurrent Programming, ...
- #8 Heap Management: How Information about Allocations are Stored in the Heap, Result of Freeing Memory Improperly, Actual Sizes of Heap Allocations -- Nearest Power of 2, Management of Free Blocks on the Heap by Storing Addresses in the Blocks of Free Memory, Algorithms for Choosing Which Free Block to Allocate, ...
- #9 How Code Snippet Is Translated Into Assembly Instructions
- #14 Sequential Programming vs Concurrent Programming
- #24 Overarching Features of Python: Scripting Language, Imperative, Object-Oriented, Functional, Use of Whitespace and Tabs, Python Environment, Execution of Basic Statements,...
There are many other (complete!) courses to follow, such as Understanding Computers and the Internet (Harvard), Computer System Engineering (MIT), Computer Science I: Programming Methodology (Stanford) and many more!
I can only assume this will eat yet another chunk of my already severely shortened sleeping period. Oh, did I just hear the faint sound of coffee beans crushing?