Hi,
This is an announcement about a Julia tutorial for the SciPy 2014 meeting
that I proposed, and that was recently accepted and announced. The tutorial
will be on July 7th in Austin, and will then be freely available in video
format. The meeting webpage is https://conference.scipy.org/scipy2014/
SciPy is a meeting on scientific computing with Python, where Jeff and
Stefan gave talks on julia the last 2 years (available online).
I was not really expecting the tutorial to be accepted, but fortunately
there are very forward-looking people in the Python community!
The tutorial will last 4 hours and will be introductory, aimed at people
coming from the SciPy community, i.e. versed in the use of numpy, scipy etc.
My motivations for proposing the tutorial were twofold:
(i) Firstly selfish, to force myself to learn Julia in detail;
(ii) Secondly, to write an introductory tutorial, along the lines of those
which exist in Python, which I feel is something that is currently lacking
in the community, and which will make the entry point much easier for new
users.
I have 6 years' experience teaching scientific computing with Ptyhon
I have started to write the tutorial (although it is not yet available
online), and would very much appreciate your input on the contents. Below
is the outline I proposed (in Markdown), but which I have now realised is
missing pieces.
I am also looking for somewhere in the US to spend the week between
Juliacon (if it happens...!) and SciPy, to work on the tutorial and discuss
and hack on Julia. Any offers?! I can (probably) cover the expenses.
Best,
David.
# Proposal for Julia tutorial at SciPy 2014
I: Julia for users
- 0:00 -- 0:20 Introduction
- Why Julia? Interactive, but compiled
- Installation
- Help: documentation and mailing lists
- Interactivity: REPL and IJulia
- 0:20 -- 0:40 Basic Julia
- Variables
- Control structures: if, while
- Ranges
- for
- Dictionaries
- 0:40 -- 1:00 Scientific computing
- Vectors and matrices: Array
- Array comprehensions
- Random numbers
- Matlab-type notation
- 1:00 -- 1:15 BREAK
- 1:15 -- 1:35 Functions
- Functions and methods
- Multiple dispatch
- 1:35 -- 1:55 User-defined types
- Defining types
- Parametric types
- 1:55 -- 2:25 Packages
- using, include, require, import
- Standard library
- Statistics
- DataStructures
- Graphics: PyPlot, GadFly
- Profiling
- 2:25 -- 2:40 BREAK
II: Developing in Julia
- 2:40 -- 3:00
- Users are already developers
- Modules
- 3:00 -- 3:20
- Metaprogramming
- Macros
- 3:20 -- 3:40
- Interfacing with Python: the PyCall package
- 3:40 -- 4:00
- Interfacing with C: ccall