Introducing an intensive, online course for beginners that helps you get started with Clojure programming.
According to Wikipedia: “Clojure is a modern dialect of the Lisp programming language. It is a general-purpose language supporting interactive development that encourages a functional programming style, and simplifies multithreaded programming. Clojure runs on the Java Virtual Machine and the Common Language Runtime. Clojure honors the code-as-data philosophy and has a sophisticated Lisp macro system.”
Stuart Halloway in his Programming Clojure book says – “Clojure feels like a general-purpose language beamed back from the near future. Its support for functional programming and software trans-actional memory is well beyond current practice and is well suited for multicore hardware. At the same time, Clojure is well grounded in the past and the present. It brings together Lisp and the Java Virtual Machine. Lisp brings wisdom spanning most of the history of programming, and Java brings the robustness, extensive libraries, and tooling of the dominant platform available today.”
Antonio Cangiano says: “Clojure has three main advantages over Ruby:”
- It’s much faster than Ruby, which makes it a better choice for intensive processing.
- It greatly simplifies concurrent programming, making the language more future-proof as hardware manufacturers continue to produce processors with more CPU cores.
- Clojure emphasizes functional programming and tries to minimize side effects.
What Will I Learn?
In this introductory course, you will learn the essential features of Clojure that you will end up using every day.
Who’s It For?
An absolute beginner in Lisp and / or Clojure but with some experience in other programming languages.
Michael Kohl (Twitter / blog) in his day job, works as a Ruby on Rails programmer for Tupalo.com in Vienna, Austria. Michael fell in love with Clojure on first sight sometime in early 2009, but unfortunately never seems to have as much time to work with it as he wants to and started being a mentor for RubyLearning.org in early 2009. His interests include mathematics, literature, travelling, foreign languages, chess and so much more that he really wishes he wouldn’t need to sleep.
The course starts on Monday, 13th Sept. 2010 and runs for a week.
The course fee is US$ 5 and the entire course fee will be donated to the Clojure project.
Hurry, registrations have started.
At the end of this course you should have all the knowledge to explore the wonderful world of Clojure on your own.
How do I register?
Note: We are planning for an advanced course “Clojure 101″ around 2nd Oct. 2010. Watch out for an announcement. In the meantime you can read about the first batch of the Clojure 101 course.
Many of you wrote in asking for details on how the course works. Here are some details:
Once the course starts, you can login and start with the lessons any day and time and post your queries in the forum under the relevant lessons. Someone shall always be there to answer them. Just to set the expectations correctly, there is no real-time ‘webcasting’.
- The Mentors shall give you URL’s of pages and sometimes some additional notes; you need to read through. Read the pre-class reading material at a convenient time of your choice – the dates may be specified only as a guideline. While reading, please make a note of all your doubts, queries, questions, clarifications, comments about the lesson and after you have completed all the pages, post these on the forum under the relevant lesson. There may be some questions that relate to something that has not been mentioned or discussed by the mentors thus far; you could post the same too. Please remember that with every post, do mention the operating system of your computer.
- The mentor shall highlight the important points that you need to remember for that day’s session.
- There could be exercises every day. Please do them.
- Participate in the forum for asking and answering questions or starting discussions. Share knowledge, and exchange ideas amongst yourselves during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Please do not post a simple "Thank you" note or "Hello" message to the forum. This forum is subscribed by several people, so please be aware that these messages are considered as noises by many people.
Outline of Work Expectations:
- Most of the days, you will have exercises to solve. These are there to help you assimilate whatever you have learned till then.
- Some days may have some additional assignments / food for thought articles / programs
- Above all, do participate in the relevant forums. Past participants will confirm that they learned the best by active participation.
Some Commonly Asked Questions
- Qs. Is there any specific time when I need to be online?
Ans. No. You need not be online at a specific time of the day.
- Qs. Is it important for me to participate in the course forums?
Ans. YES. You must Participate in the forum(s) for asking and answering questions or starting discussions. Share knowledge, and exchange ideas amongst yourselves (participants) during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Past participants will confirm that they learned the best by active participation.
- Qs. How much time do I need to spend online for a course, in a day?
Ans. This will vary from person to person. All depends upon your comfort level and the amount of time you want to spend on a particular lesson or task.
- Qs. Is there any specific set time for feedback (e.g., any mentor responds to me within 24 hours?)
Ans. Normally somebody should answer your query / question within 24 hours.
- Qs. What happens if nobody answers my questions / queries?
Ans. Normally, that will not happen. In case you feel that your question / query is not answered, then please post the same in the thread – “Any UnAnswered Questions / Queries”.
- Qs. What happens to the class (or forums) after a course is over? Can you keep it open for a few more days so that students can complete and discuss too?
Ans. The course and its forum is open for a month after the last day of the course.
- Qs. How do I quit from a course?
Ans. We wouldn’t like that to happen. However, in case you want to ‘quit’ from a course or for some reason want to un-subscribe, kindly message Satish Talim or email him at satish.talim [at] gmail [dot] com
Remember, the idea is to have fun learning Clojure.