JISC Developer Happiness Days DevCSI website

Coding Lab

Clojure 2

Time:Thu 17th Feb 2011 15:00-17:00
Location:Guru / Panel / Longer Talks/ Labs
Session type:Coding Lab - #dev8d #lab

This can either be a repeat of the previous session or the possibility to do a more advanced session. I will take a show of hands and then take it from there.

Introduction to Erlang 1

Time:Wed 16th Feb 2011 10:00-12:00
Location:Coding Lab
Session type:Coding Lab - #dev8d #lab

The session, even if fun, will be very intensive with lots of material to cover in a short time. To get the most out of the session, you are strongly advised to have a laptop with you, with Erlang installed.

Introduction to Python

Time:Wed 16th Feb 2011 12:00-15:00
Location:Coding Lab
Session type:Coding Lab - #dev8d #lab

An introductory journey into python. See: http://infodev.oucs.ox.ac.uk/python-training/ . Break 1045 - 1100

  • Alexander Dutton: Information Wrangler at Computing Services, University of Oxford, Semantic Web Citation Data Manager at Department of Zoology, University of Oxford.

Introduction to Erlang 2

Time:Wed 16th Feb 2011 15:00-17:00
Location:Coding Lab
Session type:Coding Lab - #dev8d #lab

The session, even if fun, will be very intensive with lots of material to cover in a short time. To get the most out of the session, you are strongly advised to have a laptop with you, with Erlang installed.

Root-finding Dojo: A beginner's introduction to functional programming with Clojure

Time:Wed 16th Feb 2011 14:00-16:00
Location:Guru / Panel / Longer Talks/ Labs
Session type:Coding Lab - #dev8d #lab

Clojure is a dynamic programming language that targets the Java Virtual Machine (and the CLR ). It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs. See what I did last year http://www.learningclojure.com/2010/01/clojure-dojo-method-of-heron-of.html

Scala

Time:Thu 17th Feb 2011 14:15-16:15
Location:Workshop 2
Session type:Coding Lab - #dev8d #lab

Scala is a general purpose, practical, object-oriented/functional-hybrid programming language that runs on the JVM. It's type-safe and has a performance profile very similar to Java, but has the expressiveness of dynamic languages like Ruby and Python. Some Java users are treating it as a "power Java", some are using it as a scalable back-end for other applications (Twitter), some are using it as a half-way house between Java and Python/Ruby. In the workshop, we will look at some of the features of the language, learn the syntax and start using it to build something in a Coding Dojo. To participate, it is strongly recommended that you download a recent version of the Scala compiler/runtime - 2.7 or 2.8 branch (the version installed by apt-get on Ubuntu or Debian Sid/Squeeze is fine). Familiarity with Java is useful; I've included code sample comparisons to Java, C#, Python and Ruby. For the Coding Dojo, we will be using SciTE on a Linux machine.