Excelling at Julia: basics and beyond
2019-07-22 , PH 111N

This tutorial targets both new and moderately experienced Julia users. After covering the basics and tools for data science, we will delve into topics such as memory management, type stability, and profiling.


We will kick off this tutorial with an introduction to Julia, which should be accessible to anyone with technical computing needs and some exposure to another language. In the first part of the tutorial, we will cover Julia’s syntax, design paradigm, performance, basic plotting, and interfaces to other languages. We hope to show you why Julia is special, demonstrate how easy Julia is to learn, and get you writing your first Julia programs. In the second part of this tutorial, we will introduce you to data science tools for data management and machine learning algorithms and then delve into topics in performance optimization such as type stability and profiling. We will end this tutorial by going over the parallel computing infrastructure in Julia.

Jane Herriman is a PhD student at the California Institute of Technology, an enthusiastic Julia user, a JuliaCon organizer, and a board member at NumFOCUS. She has delivered about 50 Julia tutorials.

Huda Nassar is Ph.D. candidate in the Computer Science department at Purdue University.
Her research focuses on large scale network science and she is an active user of Julia. She is the author of MatrixNetworks.jl and had delivered multiple Julia tutorials (at places such as PyData 2016, and Purdue WiDS 2018).