A Crash Course on the Julia Language and Ecosystem

An Accumulation Point workshop for AIMS, delivered during June, 2025. See workshop materials in the AIMS GitHub repo.

AIMS: Julia Language Workshop by Accumulation Point

Welcome to the AIMS Julia Language Workshop run by Accumulation Point.

Your instructors are Yoni Nazarathy and Aapeli Vuorinen.

This iteration of the workshop runs over three days during June 2025 via videoconferencing. The schedule is as follows:

Session Unit Material Instructor(s)
Day 1 full day Unit 1 Your first (BIG) day with the Julia language Yoni & Aapeli
Day 2 morning Unit 2 Processing Data Aapeli
Day 2 afternoon Unit 3 Numerics and Monte Carlo Yoni
Day 3 morning Unit 4 Parallel and Fast Aapeli
Day 3 afternoon Unit 5 Machine Learning, Statistics, and Optimization Yoni

GitHub: The course materials are generated (from .qmd files) from the GitHub repo with Quarto. The GitHub repo also defines a Julia environment for each unit of the course. It is recommended to clone (or download the zip) of the repo and then work in the /work folder under each unit. Then when working on unit X, it is recommended to instantiate the environment for that unit. Instructions on how to do this will be given during the course.

The nature of the course (how it works): The instructors present material live, following the Quarto-generated pages, and demonstrate code live (in VS Code/the REPL/Jupyter/etc). Example notebooks and files created by the instructors will be saved in the /work folder and committed to GitHub. It is recommended that course participants (students) run some of the code in parallel to the instructors, try out different things, and carry out short exercises. Slightly longer exercises are suggested at the end of each unit and these can be carried out by participants between sessions. Online help sessions will also be provided by the instructors. As a first step, participants should install Julia as outlined in Section 1 of Unit 1.

General resources: The course materials link to general resources for specific subjects covered. The following are some other valuable resources for the course as a whole:

Books: If you are a “book person” you may be interested in the following books: Kochenderfer and Wheeler (2019), Lauwens and Downey (2019), Nazarathy and Klok (2021), and Türeci, Dağıstanlı, and Türk Çakır (2025). The Kochenderfer and Wheeler book is a great optimization resource using Julia code. Lauwens and Downey is a great introductory coding book using Julia, The Nazarathy and Klok book is a statistics book, also introducing Julia. Finally, the newer Türeci, Dağıstanlı, and Türk Çakır seems to be a good resource, especially for readers with a physics background.

We hope you enjoy the course and that we can help you come out of it with an appreciation of the many strengths and advantages of the Julia programming language!

Time of build for this version:

using Dates

utc_now = now(UTC)
aest_now = utc_now + Hour(10)
println("Last built: ", Dates.format(aest_now, "dd-mm-yyyy HH:MM"), " (AEST)")
Last built: 24-06-2025 12:04 (AEST)

References

Kochenderfer, Mykel J, and Tim A Wheeler. 2019. Algorithms for Optimization. Mit Press. https://mitpress.mit.edu/9780262039420/algorithms-for-optimization/.
Lauwens, Ben, and Allen B Downey. 2019. Think Julia: How to Think Like a Computer Scientist. O’Reilly Media. https://www.oreilly.com/library/view/think-julia/9781492045021/.
Nazarathy, Yoni, and Hayden Klok. 2021. Statistics with Julia: Fundamentals for Data Science, Machine Learning and Artificial Intelligence. Springer Nature. https://statisticswithjulia.org/.
Türeci, R. Gökhan, Hamdi Dağıstanlı, and İlkay Türk Çakır. 2025. Julia Programming for Physics Applications. Springer. https://link.springer.com/book/10.1007/978-3-031-84716-5.