About the course
Julia is a high-performance, flexible programming language that is gaining traction for numerical analysis, scientific computing, and data science, particularly valued for its speed and user-friendly syntax for mathematical operations. This course provides participants with the practical skills and knowledge required to perform effective data science and analysis tasks using the Julia language and its ecosystem.
You will learn to set up your Julia development environment, manage packages, and master the core Julia fundamentals essential for working with data. The course delves into accessing, loading, and comprehensively wrangling data using DataFrames.jl, the primary library for data manipulation in Julia. You will then explore your datasets and create insightful visualisations using Julia's powerful and flexible plotting packages.
The syllabus also covers statistical analysis techniques and introduces machine learning concepts, focusing on building and evaluating models using native Julia libraries like MLJ.jl. With extensive hands-on exercises integrated throughout, you will gain the confidence to apply Julia's unique capabilities to your data analysis workflows, leveraging its strengths for computationally intensive tasks.
Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Set up a Julia development environment and manage packages using Pkg.
- Apply core Julia fundamentals relevant to data science, including types and multiple dispatch.
- Access, load, and perform comprehensive data wrangling and preparation using DataFrames.jl.
- Explore your data and create informative visualisations using Julia plotting libraries.
- Perform basic statistical analysis and modelling in Julia.
- Build and evaluate machine learning models using native Julia libraries like MLJ.jl.
- Understand basic performance considerations for writing Julia code for data tasks.
- Apply Julia's capabilities to solve real-world data analysis problems.
-
This course is designed for developers, analysts, scientists, and researchers who are interested in leveraging Julia for data science and analysis tasks. It is particularly suitable for:
Professionals working in fields requiring high performance for numerical or statistical computing.
Individuals with programming experience in other languages (like Python or R) who are curious about Julia's speed and capabilities.
Researchers and scientists who find Julia's syntax intuitive for expressing mathematical and data-centric workflows.
Anyone involved in data handling, exploration, analysis, or machine learning seeking to add a powerful alternative tool to their skillset.
-
To get the most out of this course, you should ideally have:
Some previous programming experience in any language (e.g., Python, R, MATLAB, Java, C#).
A basic understanding of data concepts and terminology (e.g., datasets, variables, basic statistics).
No prior experience with Julia or specific data science techniques is required, as these will be covered in the course.
-
This Julia course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Getting started with Julia
A Brief History of Julia
Setting up your development environment
Overview of Pkg - the Julia package manager
Julia Fundamentals (Core)
Variables & Naming Conventions
Basic Maths, Numbers & Strings
Understanding Control Flow
Types and Multiple Dispatch (Key Julia features impacting performance and code structure)
Accessing and Loading Data with Julia
Working with the file system
Data I/O (Reading from/Writing to common formats like CSV, Delimited Files)
Core Data Structures: Arrays and Tuples
Introduction to DataFrames.jl (Creating, accessing, and understanding DataFrames)
Data Wrangling and Preparation
Working with DataFrames (Selecting, Filtering, Sorting Rows)
Handling Missing Values (Detection, Imputation, Removal)
Transforming Data (Adding/Modifying/Deleting Columns)
Grouping and Aggregating Data in DataFrames
Joining and Merging Multiple DataFrames
Data Cleaning Techniques and Best Practices
Exploring and Visualising Data with Julia
Finding the “shape” and structure of your data set
Describing your data set (Calculating summary statistics)
Choosing and using plotting libraries (e.g., the Plots.jl ecosystem, Makie.jl for interactivity)
Creating static plots (scatter, line, bar, histograms, box plots)
Creating interactive visualisations
Statistical Analysis and Modelling with Julia
Distribution analysis
Histograms and density plots
Performing Basic Statistical Tests (e.g., t-tests, correlation, hypothesis testing - depth based on course level)
Introduction to Statistical Models (e.g., Linear Regression using GLM.jl or similar)
Working with statistical distributions (Distributions.jl)
Machine Learning with Julia
Overview of Machine Learning concepts and workflow
Introduction to Native Julia ML Libraries (e.g., MLJ.jl as a unified framework)
Data preparation and feature engineering for ML
Building and Training Predictive Models using MLJ.jl (Examples: Regression, Classification - covering models like Decision Trees)
Evaluating Model Performance (Metrics and Cross-Validation)
Brief Introduction to Deep Learning in Julia (e.g., using Flux.jl - optional based on course focus)
Understanding Performance Considerations in Julia ML code
Working with the Julia Ecosystem (Optional/Further Exploration)
Briefly mentioning other relevant packages (Optimisation, Differential Equations, specific scientific computing domains)
Interfacing with Python and R libraries (e.g., using PyCall.jl, RCall.jl) to leverage existing code
Optional / Advanced Julia Topics
Metaprogramming in Julia
Interfaces and Extending Methods (Multiple Dispatch in depth)
Writing High-Performance Julia Code (Tips and Techniques)
-
The official Julia Language website - https://julialang.org/
Official Julia Documentation - https://docs.julialang.org/en/v1/
DataFrames.jl Documentation - https://dataframes.juliadata.org/stable/
Documentation for the primary plotting package (e.g., Plots.jl) - https://docs.juliaplots.org/latest/
MLJ.jl (Machine Learning in Julia) Documentation - https://juliaai.github.io/MLJ.jl/stable/
Find Julia Packages (Pkg.julialang.org) - https://pkg.julialang.org/
Julia extension for VS Code - https://marketplace.visualstudio.com/items?itemName=julialang.language-julia
Using Julia with Jupyter Notebooks (IJulia.jl) - https://github.com/JuliaLang/IJulia.jl
Julia Discourse (Community Forum) - https://discourse.julialang.org/
Trusted by



