Friday, September 19, 2008

Stanford School of Engineering Lectures

September 19, 2008 Posted by Jason Irwin , No comments
"In theory, theory and practice are the same. In practice, theory and practice are different"

I sometimes struggled as a college student to grasp the relevance of the computer theory I was being taught. Theory is well and good, but not always practical and in the wild the ability to program the Fibonacci sequence 10 different ways is completely unhelpful and mildly embarrassing :o).

Funny it is then, that after a few years as a professional developer, I find myself harping back to this theory in essence attempting to better by development skills from the ground up. While it is easy to hack away without the theory I see now the importance of what I learned (and largely forgot) years ago. The reading I do is shifting slightly from code based tutorials to the kind of textbooks I read as an undergrad.

It was with excitement that I came across Stanford School of Engineering's three-course Introduction to Computer Science, licensed under a Creative Commons Attribution 3.0 United States License and comprising of a large number of video-taped lectures (available in a variety of formats and even delivered through iTunes...) and course material. link

I've watched a small subset of the lectures but so far they have provided a somewhat enjoyable refresher of the fundamentals, perfect for the train ride home from work. The lecturers are (as expected) of a very high standard and the ability to watch For those new to programming, or for you old-schoolers looking to get back to basics, these videos are a real treat. There is a large amount of material here and considering the price tag (or lack thereof) and quality, I strongly recommend taking a few minutes and giving these a look. There are also some advanced courses (robotics, language processing etc.) to graduate to once the fundamentals have been exhausted!