- I will create one hour of video teaching Clojure to beginners.
- The objective of the video is to provide a solid foundation in Clojure.
- The videos will be professional quality.
- The hour will be divided into 3, 20-minute sections.
Why? I want to combine two interests: education and Clojure. My goal is to make this video the best way to get started with Clojure.
An outline of the material (subject to change):
First steps (video 1)
- Getting set up
- Defining functions
- Clojure data structures
Java interoperation (video 2)
- Constructing Java objects
- Calling Java methods
- Java types
- Using Java primitives and arrays
Functional programming (video 3)
- map, filter, reduce
- Higher-order functions
- Pure functions
My Kickstarter backers get a serious discount on the videos to show my appreciation for believing in the project. Only if you back this project will you get the low price. After the Kickstarter ends, the videos will sell for $12 to the general public. Back this project to secure that great price!
UPDATE: Stretch goals
The project has been doing well so I thought a few stretch goals would help motivate more buyers. It works like this: if the stretch goal is met, I will add a reward level which will give access to the new video. The original video will still be $5, but any additional videos will be $2 each. That means two hours of video will be $7 instead of $24. Kickstarter will let you change your amount and reward level any time during the run of the project. So support now to help achieve the stretch goals!
$6000: Introduction to Web Programming (1 hour)
Learn to build web applications with Clojure. The video will include (subject to change):
- Setting up a web server project + development process
- Defining URL handlers
- Using HTML templating
- All based around a practical example
Deepen your understanding of functional programming with Clojure. The video will include (subject to change):
- Data driven programming
- Mastering recursion
- Currying, partial application, and composition
- Functional decomposition
Clojure is a modern, pragmatic Lisp that runs on the JVM (and more!). Clojure is swiftly gaining popularity and is making lots of waves in industry. It is more productive than Java, it has a vibrant community, and it is fun. Even if you never use Clojure in your day job, Clojure will change the way you think about programming -- in a good way. You will be able to apply the lessons of functional programming to whatever language you use.
Clojure runs on the JVM. It interoperates very well with existing Java libraries and can compile to class files. It also has very powerful concurrency primitives which bring it to the forefront of parallel computing.
Why am I the man for this project?
I have created many hours of screencasts in the past. The majority of the videos were about developing a web application in Common Lisp. They are still around at blip.tv/lispcast. Those videos were created five years ago and for no budget, so their quality was pretty low (there are many more tools available now). But the content was very popular at the time and introduced quite a few people to Common Lisp.
I have been programming in Clojure since 2008 when I saw Rich Hickey talk at Lisp's 50th birthday celebration. Before that, I had been programming in Lisp off-and-on since 2001. I program Haskell for my day job. Functional programming is one of my favorites things.
I also have training and experience as a teacher. I gained a love of education when I taught mathematics in West Africa. Being able to teach people Clojure will make me very happy. I have always wanted to create a business around it, and this Kickstarter is a way to see if that could work.
More about the videos
The videos will be a combination of screencasts, audio explanations, and visual aids. The screencasts will capture actual coding, so you can see the program as it is being written.
Video is a great medium for teaching programming. It lets you watch programming as it happens, like you are pair programming; it has audio commentary; and it can include other visual aids. More importantly, videos can be paused and replayed to move at the pace of the learner.
I plan on packing practical information into each minute of video. I prefer concrete, pragmatic lessons over abstract and high-level ideas. The lessons are planned around building actual software. There should be things you can apply to the software you write.
More reasons to back this project
- If this project is a success, I might consider doing more videos!
- I am active online with Clojure (lispcast.com and clojuregazette.com) but have never made money at it. If you enjoyed those, this would help pay me back a little.
- High quality educational materials help grow a strong, educated population of Clojure programmers.
Risks and challenges
The risk is really low. I have made many hours of video before and I know Clojure. The biggest risk is that I die before I finish.Learn about accountability on Kickstarter
- (30 days)