Julia: A Workshop
Submitted by Jeff Bezanson (@jeff0) on Tuesday, 15 September 2015
Section: Workshop Technical level: Beginner
Participants of this workshop will learn about the features of the Julia language, its package ecosystem and how to build scalable real-time data-intensive applications in a series of hands-on learning sessions.
Julia is a high-level, high-performance dynamic language, it uses just-in-time compilation to provide fast machine code - dynamic code runs close to the speed of C, and orders of magnitude faster than traditional numerical computing tools.
This workshop will be divided into 4 parts:
2. Julia language constructs A complete overview of the Julia language, which includes concepts such as functions, standard library, types, multiple-dispatch, macros, introspection, modules, packaging and a brief look at the language infrastructure.
3. Working with big data and parallel computing What would you do with a thousand processors? In this session we will explore the parallel computing capabilities of Julia, integration with Hadoop file system tools for setting up data processing pipelines.
4. Pair-programming: build your own Julia application In this session you will pair up with a teammate to build a simple application (e.g. a recommendation engine) and deploy it as an auto-scaling REST applcation on JuliaBox or locally.
Install Julia 0.3 (you can also install 0.4-rc4 alongside, but 0.3 is required for the tutorial) see http://julialang.org/downloads
Install the following packages by running Pkg.install(“<package-name>”) in the Julia REPL.
IJulia, Gadfly, PyPlot, Interact, JuMP, DataFrames - do not worry if you are having trouble installing any of these packages. We will have a server with all these installed as fallback but we want you to be prepared for a no-internet scenario.
It is recommended that if you use Windows, you install the Juno IDE