Julia

High-performance language for numerical computing.

Julia is taught here in 13 lessons, running from Syntax and the type system through to Debugging, testing and benchmarking Julia code. Each lesson takes one topic, shows the working code, and links onward to the next, so the course can be read straight through in order.

TrackPython & Data Science
Lessons13
LevelBeginner to intermediate
Reading timeabout 3 hours
PrerequisitesHelpful, but not required: R

Lessons

  1. Syntax and the type systemFunctions, arrays and interpolation, plus the concrete and abstract types that decide how fast the code runs.
  2. Multiple dispatchMethods are selected on the types of all their arguments, which replaces type tags, if/else chains and class hierarchies.
  3. Packages, environments and performanceReproducible project environments with Pkg, and the handful of rules that separate fast Julia from slow Julia.
  4. Installing Julia and the REPL workflowInstall with juliaup, learn the four REPL modes, run scripts and includes, and keep every project in its own environment.
  5. Control flow, loops and comprehensionsBranch with if and the ternary operator, loop over ranges and pairs, and express transformations as comprehensions or broadcasts.
  6. Structs, mutable state and constructorsDefine composite types, choose between immutable and mutable, add validating constructors, and use type parameters for fast, specialised code.
  7. Arrays and broadcasting in depthBuild arrays of the right shape, slice without copying using views, and understand how broadcasting fuses into a single loop.
  8. Functions in depth: keyword arguments, do blocks and closuresDesign a function's signature, distinguish positional from keyword arguments, pass behaviour with do blocks, and understand what a closure captures.
  9. Strings, IO and working with filesHandle Unicode text correctly, build strings efficiently, and read and write files with the standard library and CSV.jl.
  10. Modules and organising a Julia projectSplit code into modules, use and import them deliberately, and understand what Project.toml and Manifest.toml each record.
  11. DataFrames, CSV and tabular data in JuliaBuild and reshape tables, filter and transform columns, aggregate by group, join tables, and handle missing values without surprises.
  12. Plotting with Plots.jl and MakieChoose a backend, build a figure from series and attributes, lay out subplots, save reliably, and know when Makie is worth the extra weight.
  13. Debugging, testing and benchmarking Julia codeWrite test sets, benchmark honestly with BenchmarkTools, find allocations, and trace a running function with the debugger.

More in Python & Data Science

Python 3 NumPy pandas Matplotlib Jupyter Notebook Flask FastAPI Django SciPy Pillow Python 2.x R

FAQ

How long does the Julia course take?
It has 13 lessons, about 3 hours of reading. Expect roughly twice that if you type out and run every example.
Do I need prior experience for Julia?
Not strictly. It helps to have read R first, because some lessons build on it, but every lesson explains its own assumptions.
What should I read after Julia?
This is the last course in Python & Data Science right now. Browse the other tracks from the courses index to go sideways.