Introduction to Julia Programming Language
Where & When
Advanced Manufacturing and Design Centre - Room 206. Thursday 18th June from 3:30-5:30pm.
Introduction to Julia Programming Language
Interested in learning how to code in [Julia](http://en.wikipedia.org/wiki/Julia_(programming_language)? This week Alex Codoreanu will be leading a 1.5 - 2 hour tutorial/workshop on Julia. No previous experience required. We’ll be setting up laptops at the start of the session and installing the Light Table code editor (optional). If you’ve never heard of Julia but what to see what it’s all about please come along. Those wishing to eavesdrop while working on other projects are welcome too.
The Julia web interface is Jupyter, the same notebook web interface that is used for Python. Researchers wishing to spend more time working with the notebook for Python will probably find this useful. Julia is an interactive language that works with Python and R, so researchers using those languages will definitely get something out of this.
Don’t forget to bring your laptop! All operating systems welcome.
The schedule:
- Why Julia?
- Installing Julia*
- Intro to Julia programming
- Understanding editors - e.g. Light Table
- Some more complicated things - conditions and loops (if, for etc.)
- Adding packages
- Plotting data (uses matplotlib)
- Some more advanced things if there is time
*Note about istallation: There are a couple errors in the cheatsheet and talk. Remeber Juila is case sensitive:
- The IJulia alias in your .cshrc (for tcsh) or .bashrc (bash shell) should be: ‘alias ijulia ‘ipython notebook –profile=julia’
- To add the ASCIIPlots package type: Pkg.add(“ASCIIPlots”) #comment: - ie. capital P.
Session resources
PDF talks and Julia example files can be downloaded from the SHW GitHub repository – the julia/ folder
Alex Codoreanu
Alex is a PhD student from the Centre for Astrophysics and Supercomputing. His research focusses on understanding the absorption profiles observed in the spectra of quasars, specifically looking at the relative strengths of different ionization states of Carbon, Oxygen, Silicon and other metals.
About Julia
Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. Julia’s Base library, largely written in Julia itself, also integrates mature, best-of-breed open source C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing.
Julia is designed for parallelism and cloud computing. It provides a number of key building blocks for distributed computation, making it flexible enough to support a number of styles of parallelism, and allowing users to add more. Like Python, users can lanch the web-based interactive Jupyter Notebook (formerly IJulia Notebook), using Gadfly.
Attended by
- Arna Karick, SHW organiser & e-Research Consultant & astro by trade (Swinburne Research)
- Alex Codoreanu, PhD student (Centre for Astrophysics & Supercomputing - CAS)
- Samara Neilson, Research Data Coordinator (Swinburne Research)
- Luz Angela Garcia, (CAS) Dany Vohl, PhD student (CAS)
- Antonio Bibiano, PhD student (CAS)
- Nicola Pastorello, PhD student (CAS)
- Damien Irving, PhD student & ResBaz Community Coordinator (Earth Sciences, University of Melbourne)
- Felipe Marin, Postdoc (CAS)
- Luis Torres, PhD student (CAS)
- Srdan Kotus, PhD student (CAS)
- Fabian Jankowski, PhD student (CAS)
- Andrew Johnson, PhD student (CAS)
- Erik Tollerund, Astronomy postdoc (Yale University - CAS visitor)
- Dany Vohl, PhD student (CAS)
- Magdalena Menz, Summer Student (CAS)
- Ben Mooney, PhD student (BioReactor - ARC Training Centre in Biodevices)
- Jennifer Baldwin, TAO - Software Engineer (CAS)
- Andrew Ang, TAO - Software Engineer (CAS)
- Luke Hodkinson, gSTAR/TAO support (CAS)