Course Overview
What this Julia course covers, how to use it, prerequisites.
A self-contained, hands-on course covering the Julia language: syntax, the type system, multiple dispatch, arrays and linear algebra, performance engineering, metaprogramming, parallel and GPU computing, interoperability, data science, scientific machine learning, package development, and deployment. Every chapter has runnable examples and exercises. Examples target Julia 1.10 (LTS) / 1.11+.
Course Map
Part I — Foundations Introduction to Julia Installation & Tooling The REPL & Your First Program Variables, Unicode & Basic Types Numbers & Arithmetic Strings & Characters
Collections: Tuples, Named Tuples, Dicts, Sets, Ranges Part II — Core Language & Standard Library Broadcasting & Vectorization The Type System Composite Types & Constructors Methods & Multiple Dispatch
Interfaces: Iteration, Indexing, AbstractArray Modules, Packages & Environments Missing Values, Nothing & Optional Data I/O, Files & Networking Dates, Times & Randomness Testing & Documentation Part III — Advanced Julia
Profiling, Benchmarking & Optimization Techniques Metaprogramming: Expressions & Macros
Generated Functions & Advanced Dispatch Patterns (Traits) Tasks, Channels & Asynchronous Programming Interoperability: C, Fortran, Python, R
Automatic Differentiation & Optimization Differential Equations & Scientific Computing Machine Learning: Flux, Lux, MLJ Compilation, Latency & Deployment Part IV — Ecosystem & Real-World Julia
Data Science: DataFrames, CSV, Statistics Visualization: Plots.jl, Makie, and More
Notebooks & Reproducibility: Pluto, Jupyter, Quarto Web, Databases & Other Domains Best Practices & Style
Appendices: Cheat Sheet, Keywords, Operators, Resources, Study Plan