Tutorials
Video
Get jupyter notebooks for the following youtube tutorials here
or run them directly on JuliaBox.
- Intro to Julia (version 1.0) , by Jane Herriman
- Intro to Julia for data science, by Huda Nassar
- Intro to the Queryverse, a Julia data science stack,
by David Anthoff
- Intro to Julia Data Frames,
by Bogumił Kamiński
- Intro to dynamical systems in Julia,
by George Datseris
- Introducción a Julia en español,
by Miguel Raz Guzmán
- Intro to JuliaDB, a package for working with large persistent data sets,
by Josh Day and Shashi Gowda
- Intro to solving differential equations in Julia,
by Chris Rackauckas
- Intro to Julia (version 0.6),
by Jane Herriman
Text
Books
- Introduction to Applied Linear Algebra – Vectors, Matrices, and Least Squares by Stephen Boyd and Lieven Vandenberghe (474 pages; Cambridge University Press; published August 23, 2018), with a Julia Language Companion.
- Algorithms for Optimization by Mykel Kochenderfer and Tim Wheeler (520 pages; MIT Press; published Mar 12, 2019).
- Julia Programming for Operations Research, Second Edition by Changhyun Kwon (260 pages; published: 2019-03; ISBN: 978-1798205471)
This book aims to teach how one can solve various optimization problems arising in operations research and management science, based on Julia v1.0+ and JuMP v0.19+
- Think Julia - How to Think Like a Computer Scientist by Allen Downey and Ben Lauwens.
- Fundamentals of Numerical Computation by Tobin A. Driscoll and Richard J. Braun. Julia code for the book is available on GitHub.
- Statistics with Julia: Fundamentals for Data Science, Machine Learning and Artificial Intelligence by Hayden Klok and Yoni Nazarathy. (DRAFT. PDF will be taken down when the book is published later in 2019).
- Data Science with Julia by Paul D. McNicholas and Peter A. Tait
(220 pages; published: January 2019; ISBN: 9781138499980)
Covers the core components of Julia v1.0. Reviews data visualization, supervised and unsupervised learning. Details R interoperability.
- Julia: High Performance Programming by Ivo Balbaert, Avik Sengupta, Malcolm Sherrington
(697 pages; published: November 2016; ISBN: 9781787125704)
In this learning path, you will learn to use an interesting and dynamic programming language—Julia! This book is a combination and curation of the three separate books by the three authors.
- Julia High Performance by Avik Sengupta (120 pages; published: 2016-05; ISBN: 9781785880919)
This is a book about performance optimisation of Julia programs, showing how to design and write Julia code that fully realises the potential speed of the language and its libraries.
- Mastering Julia by Malcolm Sherrington - published by Packt Publishing (410 pages; published: 2015-07; ISBN: 9781783553310)
- Getting Started with Julia Programming by Ivo Balbaert - published by Packt Publishing (214 pages; published: 2015-02-28; ISBN: 9781783284795)
- Seven More Languages in Seven Weeks by Bruce Tate, Fred Daoud, Jack Moffit and Ian Dees - published by The Pragmatic Programmers (350 pages; published: 2014-11-15; ISBN: 978-1-94122-215-7)
This book contains a Julia tutorial chapter (written by Jack Moffitt and Bruce Tate) for programmers new to Julia, which is very good, with nice examples and exercises.
- Julia for Data Science by Anshul Joshi (348 pages; published: 2016-09; ISBN: 9781785289699)
Explore the world of data science from scratch with Julia by your side
- Julia for Data Science by Zacharias Voulgaris PhD (415 pages; published: 2016-09-01; ISBN: 9781634621304). Master the essentials of data science through the Julia programming ecosystem (no prior knowledge of the language is required), accompanied by a variety of interesting examples and exercises.
- Julia Cookbook by Jalem Raj Rohit - published by Packt Publishing (172 pages; published: 2016-09; ISBN: 9781785882012)
- Julia Solutions by Jalem Raj Rohit - A comprehensive guide to learn data science for a Julia programmer - Produced by Packt Publishing (2 hours and 52 minutes long; published: January 31, 2017; ISBN: 9781787283299)
- Getting Started with Julia by Erik Engheim - Learn the new language Julia for high performance technical computing - Produced by Packt Publishing (9 hours and 50 minutes long; published: March 31, 2017; ISBN: 9781786462978)
- Learning Julia by Anshul Joshi, Rahul Lakhanpal (316 pages; published: November 2017; ISBN: 9781785883279). This book shows you how to write effective functions, reduce code redundancies, and improve code reuse. It will be helpful for new programmers who are starting out with Julia to explore its wide and ever-growing package ecosystem and also for experienced developers/statisticians/data scientists who want to add Julia to their skill-set.
- Hands-On Computer Vision with Julia by Dmitrijs Cudihins (202 pages; published: June 2018; ISBN: 9781788998796). Explore the various packages in Julia that support image processing and build neural networks for video processing and object tracking.
- Iterative Solution of Symmetric Quasi-Definite Linear Systems by Dominique Orban and Mario Arioli. This book is intended for researchers and advanced graduate students in computational optimization, computational fluid dynamics, computational linear algebra, data assimilation, and virtually any computational field in which saddle-point systems occur. Krylov.jl is the Julia package that accompanies the book. Ebook for SIAM subscribers.
- Julia 1.0 Programming Cookbook by B. Kamiński, P. Szufel (460 pages; published: November 2018; ISBN: 9781788998369)
- Julia Programming Projects by Adrian Salceanu (500 pages; published: December 2018; ISBN: 9781788292740).
A beginners book providing a hands-on introduction to Julia programming through increasingly challenging real-world projects.
Covers some of the most important aspects of the language and key packages, across various domains including data analysis, plotting, databases, web, and more.
Ideal for readers with previous programming experience, looking for a thorough introduction to Julia.
- First Semester in Numerical Analysis with Julia by Giray Ökten (211 pages; published: April 2019). This open textbook for use in undergraduate courses covers computer arithmetic, root-finding, numerical quadrature and differentiation, and approximation theory.
Resources
Julia in the classroom
Julia is ready for the classroom. We encourage instructors to participate in the Julia community resources for questions about Julia or specific packages. This page puts together various resources that instructors may find useful. Tutorials and other learning materials are in the learning section of the website.
MOOCs teaching Julia
- Coursera, University of Cape Town
- edX MITx
- 15.053x, Optimization Methods in Business Analytics MOOC (massive online open course), (Prof. James Orlin)
Classes using Julia for teaching
Julia is now being used in several universities and online courses. If you know of other classes using Julia for teaching, please consider updating this list.