Update 1st September
Added a concession price for people less able to pay, £5 minimum.
I can't police it but trust you will not abuse it.
Update 28th August
I didn't think hard enough about pricing, I thought the full course would be worth £45 so did a limited number and a scale building up to that.
On reflection I think artificial scarcity is bullshit and am proud and excited so many of you have funded so far, especially those that paid more than they needed to.
I have unlimited all the rewards, please pay what you like (the names no longer make sense, sorry)
I have invited all the people that paid more than £20 to lower their price if they wish.
It is a great introduction to computation, rather than a particular language, and jumps straight into the core of the subject and treats it with a depth and breadth seldom matched.
Peter Norvig probably said it best:
"To use an analogy, if SICP were about automobiles, it would be for the person who wants to know how cars work, how they are built, and how one might design fuel-efficient, safe, reliable vehicles for the 21st century. The people who hate SICP are the ones who just want to know how to drive their car on the highway, just like everyone else."
I was going to write more about why one should study SICP, but Kai Wu of Hacker Retreat did a stellar job here
It’s a long book, with lots of exercises and lots of people I know have started, loved it, but somehow not finished.
Abelson and Sussman themselves highlight the important lessons of SICP in their paper Lisp: A Language For Stratified Design and I have my own favourite bits.
As the book itself is available online for free I want to make the perfect accompaniment to it - an ebook summarising the key ideas, short videos describing them, screencasts of solving some of the exercises, translation of the examples into Clojure, example projects, partial solutions for you to complete (similar to 4clojure and Clojure koans) and a place to discuss solving them with people and hopefully keep momentum and get it finished!
Something more like
to be enjoyed alongside SICP, rather than completely replace it.
Maybe some ideas come out a little different in Clojure, or I take a slightly novel approach (hence idiosyncratic), maybe I miss something out (hence tour, sorry), but I hope we can have some fun along the way.
I've surveyed friends and people who signed up early about which bits they enjoyed, where they got stuck and how best to approach it.
People that join in on the Kickstarter get a reduced price and a chance to affect the direction of the project (and, let's be honest, be test subjects)
- A modern take on Lisp
- Slightly less parens (though obviously you will come to love them anyway)
- More immutability! (SICP gets as far as possible without mutation and quite rightly warns you to be careful when you start)
- An excellent parser library
- A more fully featured logic engine for us to peek at
- Different concurrency models
What will I do?
Come to appreciate and use higher order functions
- Build everything from (almost) nothing
- Deeply embed DSLs into Clojure
- Draw Escher pictures
- Create datastructures
- Learn why reduce is harmful (not SICP but I have some fun exercises planned)
- understand iteration and recursion
- Create an object system
- Make a compiler
- Build a Lisp interpreter (or a mini version of your other favourite language)
- Do some logic programming
Who are you?
My name is Tom Hall, @thattommyhall. I am based in London, working at uSwitch, helping organise London Clojurians and am a massive fan of SICP.
I blog fairly regularly about Clojure and have given well received talks at conferences about Clojure, biologically inspired computing and other things (including a fun talk on infinity). Lanyrd and Skillsmatter have a few recordings of talks I've given.
Having the money up front allows me to judge interest, spend more on post-production of the videos, devote more time to it and create a way for people to collaborate and help each other along the way.
I want it to be free!
So do I! If I was independently wealthy I would love to spend all my days on this, but alas I am not. I do believe in freedom though, and promise to make all the resources free after 12 months.
To quote RMS:
"The copyright system works by providing privileges and thus benefits to publishers and authors; but it does not do this for their sake. Rather, it does this to modify their behaviour: to provide an incentive for authors to write more and publish more. In effect, the government spends the public's natural rights, on the public's behalf, as part of a deal to bring the public more published works" (See FSF for more)
How long will it take?
I will roughly follow the books 5 chapters, one a month, that gives enough time for people to follow along. If we have a bunch of people going through at the same time we will be able to benefit from interactions within the group as well.
However I am often put off by artificial deadlines in MOOCs so want the material to stand alone (well at least alongside the SICP text) for someone doing it by themselves at whatever pace they like.
Lets make sure you finish it!
Risks and challenges
I will do my upmost to complete this project if funded, I am super excited about it. The only risk is accident or injury, which obviously I will be trying to avoid :-)Learn about accountability on Kickstarter
- (21 days)