Introduction to Julia Programming: Machine-Learning Models and AI
June 23-25, 2025
8:00am - 4:00pm
CHL Computer Lab, SSC Building 1103, Room 1005
Cost: $1,200 per person
As machine learning and artificial intelligence algorithms grow more sophisticated, the need for a high-performance development environment grows greater and greater. Julia is a programming language designed to feel like a comfortable scripting environment, like Python, but able to deliver the high performance of fully compiled languages like C and Fortran. In this course we introduce the fundamentals of coding in Julia, always with an eye towards programming techniques currently finding application in cutting-edge machine learning and artificial intelligence.
Attendees must have programming experience.
Training Benefits:
Craft efficient code in the high-performance programming language, Julia
Create machine-learning models in Julia
Understand the vector and matrix methods common to all neural network models
Interact with other AI platforms, like PyTorch and TensorFlow
Course Outline:
Chapter 1 – Introduction and Overview
What is Julia?
LLVM
Installing and Using Julia
The Julia REPL
semicolon works as in MATLAB
Julia IDEs
Installing the Julia kernel for Jupyter notebooks
VS Code
Hands-On Exercise 1.1
Chapter 2 – Fundamentals of the Julia Language
Variables and Types in Julia
Integers
No overflow checking
Floats
Strings
Characters versus strings
Strings are assumed to be UTF-8
print
println
formatted printing
Dates
Using Latex Symbols
Best Practices for Datatypes
Best practice:
Ensure compiler can correctly deduce type
Hands-On Exercise 2.1
Julia DataFrames
Interoperating with Pandas DataFrames
Julia Operators and Functions
Functions and operators
pipe operator
Function composition
Tuple arguments are immutable
Array arguments are mutable
Variable number of arguments
Broadcasting a function
Anonymous functions
Contents - Multiple Dispatch
Multiple Dispatch
Function Signatures
Hands-On Exercise 2.2
Julia Macros
Hands-On Exercise 2.3
Chapter 3 – Julia Arrays
Arrays
Julia matrices are in column-major order
Linear and Cartesian indexes
EachIndex operator
Arrays with custom indices
Hands-On Exercise 3.1
Applications of Matrices
Special Array and Matrix types
Introduction to Matrices in Artificial Intelligence
Hands-On Exercise 3.2
Introductory numerical analysis
Matrices – Norms and Conditioning
Differential Equations
Hands-On Exercise 3.3
Chapter 4 – Input and Output
FileIO Package
Standard File Types
Implementing Loaders and Saves
Hands-On Exercise 4.1
Graphics Output
Plotting from the Julia REPL
Plotting in Julia Notebooks
Hands-On Exercise 4.2
Chapter 5 – Putting machine learning theory into practice
Statistical modeling
Machine Learning
Hands-On Exercise 5.1
Chapter 6 – Neural Networks with Julia
Neural Network Basics in Julia
Hands-On Exercise 6.1
Advanced Neural Network Libraries in Julia
Performance Tuning for Neural Networks
Quantization of Neural Networks
Hands-On Exercise 6.2
Chapter 7 – Debugging, Profiling, and High-Performance Julia
The Julia Debugger
High Performance Julia
Principles of high-performance programming
Profiling Julia code
Hands-On Exercise 7.1
Parallel Processing
Multithreading
Multiprocessing
Distributed processing
Hands-On Exercise 7.2
Chapter 8 – Interoperating with other Artificial Intelligence Platforms
Julia with TensorFlow and PyTorch
ONNX
Creating a computer vision system
Picking a model from the “zoo”
ResNet
Hands-On Exercise 8.1
Chapter 9 – Course Summary
Registration:
Seating is limited! To register, contact Ashley McGinty at Ashley.N.West@usm.edu or 228-688-3170. The deadline for registration is June 6, 2025.
Payment:
CHL accepts checks, credit cards, training forms and purchase orders.
Flyer:
For a printable PDF flyer click here