Skip to end of metadata
Go to start of metadata

Your friendly operators

Joel Kaasinen (opqdonut)

Juhana Laurinharju (Fingerzam)

Ilmari Vacklin (wolverian)

Administrative trivia

See the course page on Lambda's wiki for general information on the course.

3rd Party Material

  • is Clojure's home page. It contains useful links and (short) documentation about Clojure's features.
  • contains lots of examples and searchable API documentation.
  • Programming Clojure (homepage, quite cheap on Bookdepository) is a good book on Clojure, also available as an e-book.
  • SICP is an excellent book on (functional) programming. Full text available online. The book uses Scheme, another LISP dialect like Clojure, for its examples and exercises. Scheme is surprisingly close to Clojure.
  • HTDP is a book similar to SICP, but perhaps easier to understand. Full text available online. It also uses Scheme.


Score list

A quite up-to-date list of actual points is available: clojure-tarkastuslista.html. It has been last updated 2011-02-26 21:00. This total includes all the workshop and Moodle returns so far.


More info

Each small exercise problem is worth 1 to 3 exercise points. At the end of each week, you encounter a boss fight. Bosses are worth at least 10 exercise points, depending on the week. You get points by showing your answers to the staff at the workshops or by submitting them to the course's Moodle page.

The exercise points are mapped to actual points, which determine how many credits you will be awarded for the course.

Actual points








Here are the point values of the chapters:


Exercise points

Actual points

First week



Predicates, Collections





9 (+ 2 bonus points)










Functional Programming



Java Interop



The Player of Games



Writing the answers

Save each exercise answer in its own file called "exN.clj" where N is the exercise number. For an example, exercise four should be in a file called "ex4.clj".

You can load these files into the REPL with (load-file "exN.clj"). This loads the file exN.clj in the current directory. See Getting started for more information.

Returning the answers

Unit tests should pass for code returned to moodle

You can either show your solution to an instructor at the workshop, or return them remotely to the course Moodle page.

If you return your answers remotely, return them in unit-testable form. This means that the unit tests should pass. Please also use good Clojure style (see Idiomatic Clojure). Name your variables properly. If we can't understand your code, we can't award you points. If you're unsure about something, please come to the workshops.

If you return your answers at a workshop, we can help you with any problems you might be having and you can fix your answers to get points you wouldn't get if you returned your unfixed answers remotely.

1st week – FIGHT!

Deadline: Thu 27.1. 23:55

Each small exercise is worth one (1) exercise point, 21 in total.

  • Getting started
    • Installation, how to run Clojure, IDE support
  • Prefix syntax
  • Basics
    • load-file, let, defn, fn, control structures, do
    • Basic types: strings, numbers, keywords
    • Having fun with collections: for, map, filter

The boss is worth 10 points

Thus this week gives a total of 31 exercises points, which is mapped to 12 actual points.

2nd week – meditate

Deadline Thu 3.2. 23:55

Exercises are worth one (1) point by default. Some exercises are marked to be worth more points (up to 3).

Unit tests available here. Instructions for their use are available in Project Tools.

  • Required reading: Idiomatic Clojure ( 0 exercise points)
    • Indentation, names, whitespace, parentheses
  • Predicates ( 6 exercise points)
  • Collections: vectors, lists, seqs, maps, sets, destructuring, into (17 exercise points)

Thus this week is 23 exercise points which maps to 12 actual points

3rd week – the snake in the garden

Some stuff got moved here from week 2. This week is worth a whopping 57 exercise points which translates to 23 actual points (+ 2 bonus points from Recursion)

Deadline: Thu 10.2. 23:55

4th week – overflow
5th week – overflow overflow


Deadline Thu 3.3.

Bonus level

Didn't have time for these. (sad)

other stuff
  • None