In case it isn't obvious, I'm doing a course in Algorithms.
Tim Roughgarden's Algorithms II from Stanford, made available for free to all comers by the magic of coursera.
It's absolutely fascinating, and I can't recommend it highly enough.
I did the same lecturer's Algorithms I course a few months ago, and it was also mind-blowing.
It's making me think that for all these years where I thought I was a seasoned expert, actually I haven't been a terribly good programmer at all.
That's a humbling feeling, but also a very nice feeling. There is still a great deal of stuff to learn. Stuff that matters.
So much of this stuff is absolutely foundational. My ideas of what a computer can do are expanding.
There have been several formative experiences in my computer-life:
Seeing my first ever computer program, in BASIC, in an electronics magazine when I was about ten years old, and being stunned to realise that I understood it.
Being allowed to play on the TRS80s in a computer shop in Sheffield (day in day out for weeks. thank you kind salesmen!)
Getting my own computer and really learning how to program in BASIC (thank you kind parents, I know how difficult it must have been to afford it)
Learning Python (thanks Guido)
Learning Lisp (thanks everyone!)
This algorithms course (thanks Tim, and the long list of pioneers whose work you are presenting so well).
Honestly. It's that good. I wish I'd done this when I was twenty.
Actually I wish I'd done this instead of going to school.
- Efficiency and Progress III : How Close Can We Get...
- Efficiency and Progress II : Behold, C
- Efficiency and Progress : My God, Clojure is Slow!...
- How on earth do you program without *recursion*?
- Algorithms II
- Putting it all together : Using Union-Find in Krus...
- Implementing a Data Structure : Union-Find version...
- Implementing a Data Structure: Union-Find
- Kruskal's Algorithm for Minimal Spanning Trees
- The Knapsack Problem : Another Classic Puzzle from...
- Optimal Scheduling : A Classic Puzzle from Compute...
- SVG Graphics in a Clojure Web Application
- ▼ September (12)
- ► 2010 (44)