Course Content for Julia & AI Engineering

Julia: a high-level, general-purpose dynamic programming language for scientific computing and AI engineering

Platform: ELSIE (Link)

First Steps 70 marks 17 Exercises & Test (60 Questions)
First steps (Part 1) First steps in Julia (Part 1) First steps in Julia (Part 2) Unit 1 Test
Built-in Functions 70 marks 30 Exercises & Test (60 Questions)
Built-in functions (Part 1) Built-in functions (Part 2) Built-in functions in Julia (Part 1) Built-in functions in Julia (Part 2) Built-in functions (Part 3) Built-in functions (Part 4) Built-in functions in Julia (Part 3) Built-in functions in Julia (Part 4) Unit 2 Test
Storing and Using Information 70 marks 7 Exercises & Test (55 Questions)
Storing and using information (Part 1) Storing and using information (Part 2) Storing and using information in Julia (Part 1) Storing and using information in Julia (Part 2) Unit 3 Test
Creating Functions 70 marks 17 Exercises & Test (55 Questions)
Creating functions (Part 1) Creating functions (Part 2) Creating functions in Julia (Part 1) Creating functions in Julia (Part 2) Creating functions (Part 3) Creating functions (Part 4) Creating functions in Julia (Part 3) Creating functions in Julia (Part 4) Unit 4 Test
Booleans 70 marks 18 Exercises & Test (60 Questions)
Booleans (Part 1) Booleans (Part 2) Booleans in Julia (Part 1) Booleans (Part 3) Booleans (Part 4) Booleans in Julia (Part 2) Booleans in Julia (Part 3) Unit 5 Test
Branching 70 marks 10 Exercises & Test (55 Questions)
Branching (Part 1) Branching in Julia (Part 1) Branching (Part 2) Branching (Part 3) Branching in Julia (Part 2) Branching in Julia (Part 3) Unit 6 Test
Building Better Programs 70 marks 23 Exercises & Test (60 Questions)
Building better programs (Part 1) Building better programs in Julia (Part 1) Building better programs in Julia (Part 2) Building better programs (Part 2) Building better programs (Part 3) Building better programs in Julia (Part 3) Unit 7 Test
Iteration Using While 70 marks 13 Exercises & Test (55 Questions)
Iteration using while (Part 1) Iteration using while (Part 2) Iteration using while (Part 3) Iteration using while in Julia (Part 1) Iteration using while in Julia (Part 2) Unit 8 Test
Storing Elements in A Sequence 70 marks 24 Exercises & Test (60 Questions)
Storing elements in a sequence (Part 1) Storing elements in a sequence (Part 2) Storing elements in a sequence in Julia (Part 1) Storing elements in a sequence in Julia (Part 2) Storing elements in a sequence (Part 3) Storing elements in a sequence in Julia (Part 3) Unit 9 Test
Iteration Using For 70 marks 31 Exercises & Test (60 Questions)
Iteration using for (Part 1) Iteration using for in Julia (Part 1) Iteration using for (Part 2) Iteration using for in Julia (Part 2) Iteration using for (Part 3) Iteration using for (Part 4) Iteration using for in Julia (Part 3) Iteration using for in Julia (Part 4) Unit 10 Test
Bundling Information Into Objects 70 marks 15 Exercises & Test (60 Questions)
Bundling information into objects Bundling information into objects in Julia (Part 1) Bundling information into objects in Julia (Part 2) Bundling information into objects in Julia (Part 3) Unit 11 Test
Structuring Data 70 marks 17 Exercises & Test (60 Questions)
Structuring data Structuring data in Julia (Part 1) Structuring data in Julia (Part 2) Structuring data in Julia (Part 3) Unit 12 Test
Recursion 70 marks 19 Exercises & Test (44 Questions)
Recursion (Part 1) Recursion (Part 2) Recursion (Part 3) Recursion in Julia (Part 1) Recursion in Julia (Part 2) Unit 13 Test
Applied Computing & Julia Challenges 6 Problem Sets (2019–2024)
2019 Computing Challenge 2020 Computing Challenge 2021 Computing Challenge 2022 Computing Challenge 2023 Computing Challenge 2024 Computing Challenge
Vectorized Computing & Linear Algebra Coming Soon
Vector and Matrix Operations in Julia Broadcasting and SIMD Vectorization Matrix Factorizations and Decompositions
Multidimensional Arrays & Tensor Operations Coming Soon
N-Dimensional Array Manipulation Tensor Contraction and Permutations Memory Layout and Cache Efficiency
Automatic Differentiation & Dual Numbers Coming Soon
Dual Number Arithmetic Forward-Mode Differentiation Reverse-Mode Differentiation
Loss Functions & Numerical Optimization Coming Soon
Loss Landscapes and Convexity Gradient Descent and Momentum Variants Adaptive Learning Rates: Adam and RMSProp
Neural Network Foundations Coming Soon
Feedforward Architecture from Scratch Layer Design and Weight Initialization Custom Layer Implementations
Backpropagation & Computational Graphs Coming Soon
Chain Rule in Directed Acyclic Graphs Gradient Accumulation and Memory Management Custom Gradient Hooks and Callbacks
Convolutional Neural Networks & Vision Coming Soon
Spatial Convolutions and Padding Strategies Feature Maps, Pooling and Striding Image Classification Pipelines
Recurrent Networks & Sequential Modeling Coming Soon
Recurrent Cell Dynamics Long Short-Term Memory (LSTM) and GRU Sequence-to-Sequence Modeling
Attention Mechanisms & Transformers Coming Soon
Scaled Dot-Product Attention Multi-Head Self-Attention Mechanics Encoder-Decoder Transformer Implementation
Scientific Machine Learning (SciML) Coming Soon
Differential Equation Solvers in Julia Neural Ordinary Differential Equations (Neural ODEs) Parameter Estimation in Dynamical Systems
Physics-Informed Neural Networks (PINNs) Coming Soon
Embedding Physical Laws into Loss Formulations Boundary and Initial Condition Constraints PDE Solving with Neural Approximators
Probabilistic Machine Learning & Bayesian Modeling Coming Soon
Probabilistic Programming Principles Markov Chain Monte Carlo (MCMC) Sampling Variational Inference and Posterior Analysis
Reinforcement Learning & Policy Gradients Coming Soon
Markov Decision Processes and Bellman Equations Q-Learning and Value Function Approximation Policy Gradient Methods
Generative Modeling & Representation Learning Coming Soon
Autoencoders and Dimensionality Reduction Variational Autoencoders (VAEs) Diffusion Models and Latent Spaces
High-Performance Benchmarking & GPU Acceleration Coming Soon
Profiling, Type Stability and Memory Allocation Multithreading and Distributed Computing CUDA.jl Kernel Execution
AI Engineering Capstone Project Coming Soon
End-to-End Scientific Machine Learning Pipeline Model Verification, Testing and Benchmarking ELSIE Deployment and Technical Defense