Clojure Tutorial

  • Aaron Bedra Relevance Inc
October 01, 2010 9:00 AM - 12:30 PM

Abstract

In this tutorial you will spend some time learning about what clojure has to offer and build an application that solves a real world problem. In this tutorial pair programming is welcome and encouraged! Bring a friend to help you work through the exercises and to bounce ideas off of.

Introduction

In the introduction you will learn key features of the clojure language and learn how to read and understand the syntax at the basic levels.

Starting the Application

After getting the initial problem, attendees will be introduced to a real world scenario that involves data processing. They will be given a data stream that cannot be modified and will have to write some transformation code to handle and process the data. Attendees will also have to produce some simple statistics on the data. This section will deal with experimentation on the clojure repl and trying out new ideas that address the problem.

Building the Application

After walking through experiments on the repl, attendees will wrangle the ideas into a real application. They will learn how to structure a clojure application and learn how to write clojure in an idomatic way. At this time bonus challenges will be offered to those who have completed the exercise, and assistance to those who are still working through them.

Audience

Participants should bring a working knowledge of basic statistics and experience with at least one of:

Software prerequisites

JDK (version 1.6) should installed and accessible. (Clojure itself will be provided via USB sticks.)

Aaron Bedra

is a principal at Relevance, Inc. (http://thinkrelevance.com) where he works as a technical lead, speaker, and author. Aaron's current focus is Enterprise Systems Integration using Clojure and JRuby. He is the maintainer of the Ruby code coverage analysis tool, RCov, and is a contributor to many open source projects including Clojure Contrib, Compojure, and Ruby on Rails. Aaron is the author of the Rails Security Audit Peepcode.