# 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





