Scientific Computing
Use Julia to turn mathematical problems into numerical programs. Study error, solvers, integration, and optimisation before modelling the heat equation.
What helps
Algebra and an interest in numerical methods help you begin. Later projects use linear algebra, calculus, and differential equations.
Julia pathway
Programming Foundations / Practice rooms / Track curriculum and enrollment
Julia for Scientific Computing
The tools you reach for in every numerical program. Define functions, work with vectors and the broadcasting that makes Julia feel like math, control flow, and the numeric types that scientific code lives on. By the end you can express a formula, sweep it over an array, and reduce the result, fluently.
- Functions and Arithmetic: 5 lessons
- Vectors and Broadcasting: 5 lessons
- Loops and Recurrences: 5 lessons
- Numbers and Ranges: 5 lessons
- Map, Filter, Reduce: 5 lessons
Floating Point and Error
Explore Float64 spacing, rounding and cancellation, then compare ordinary, compensated and pairwise sums and finite series. Learn when algebraic rewrites improve a calculation and how to distinguish truncation error, roundoff and conditioning; none of these methods promises exact arithmetic at every scale.
- Machine Numbers: 5 lessons
- Rounding: 5 lessons
- Catastrophic Cancellation: 5 lessons
- Summing Without Losing Digits: 5 lessons
- Series and Convergence: 5 lessons
Linear Algebra
Build real vector and matrix operations, solve systems by substitution and an introductory no-pivot elimination, then compare with the LinearAlgebra standard library. Interpret residuals and conditioning together, keeping array shapes and nonmutation contracts explicit.
- Vector Operations: 5 lessons
- Matrix Operations: 5 lessons
- Solving Linear Systems: 5 lessons
- Matrix Structure: 5 lessons
- The LinearAlgebra Standard Library: 5 lessons
Root Finding
Solve f(x)=0 with brackets, Newton, secant and fixed-point iterations, and evaluate polynomials with Horner's rule. Learn the assumptions behind convergence and report unusable updates or exhausted budgets. Grid scans detect sampled zeros and sign changes; they do not guarantee finding every root.
- Bracketing Methods: 5 lessons
- Newton's Method: 5 lessons
- Secant and Fixed Point: 5 lessons
- Polynomials: 5 lessons
- Putting It Together: 5 lessons
Interpolation and Fitting
Data comes as samples; science needs the values in between and the trend underneath. Interpolate with straight lines and Lagrange polynomials to pass exactly through points, then fit a least-squares line that captures the trend through noise. These are the tools that turn a table of measurements into a usable function.
- Linear Interpolation: 5 lessons
- Polynomial Interpolation: 5 lessons
- Least Squares: 5 lessons
- Piecewise Methods: 5 lessons
- Fitting in Practice: 5 lessons
Numerical Integration
Approximate signed integrals with rectangle, trapezoidal, Simpson and Gaussian rules, then apply them to averages, arc length, areas and work. Compare methods against analytic anchors while accounting for smoothness, panel count, rounding and the limits of estimated-error stopping rules.
- Rectangle Rules: 5 lessons
- The Trapezoidal Rule: 5 lessons
- Simpson's Rule: 5 lessons
- Gaussian Quadrature: 5 lessons
- Integration in Practice: 5 lessons
Differential Equations
Build Euler and Runge-Kutta solvers for scalar and coupled ODEs, then model growth, cooling, population interaction, falling velocity and capacitor charge. Compare finite-time solutions with analytic anchors and distinguish stability, truncation error and physical-model assumptions.
- Euler's Method: 5 lessons
- Runge-Kutta Methods: 5 lessons
- Systems of Equations: 5 lessons
- Stability and Stiffness: 5 lessons
- Physics in Motion: 5 lessons
Optimization
Use unimodal interval searches, gradient descent and Newton stationarity steps, then fit a line by minimizing squared error. Learning rates, initial points, smoothness and curvature affect success; an arbitrary callable function is not guaranteed to have a minimum these methods can find.
- One-Dimensional Search: 5 lessons
- Gradient Descent: 5 lessons
- Newton's Method for Optimization: 5 lessons
- Many Variables: 5 lessons
- Fitting by Minimizing: 5 lessons
Monte Carlo Methods
Build seeded sampling experiments for integrals, distributions, random walks and absorbing boundaries. Distinguish sampled outcomes from theoretical expectations and keep one advancing random stream per experiment. Reproducibility assumes a matching runtime/RNG and draw order; high dimension can still increase variance and cost.
- Random Numbers: 5 lessons
- Monte Carlo Integration: 5 lessons
- Sampling Distributions: 5 lessons
- Random Walks: 5 lessons
- Monte Carlo in Practice: 5 lessons
Capstone: The Heat Equation
Assemble a uniform-grid one-dimensional heat simulator with physical diffusivity, spacing and time step, fixed or insulated boundaries, source rates and independent state histories. Validate weighted heat budgets, steady fields and stability, and distinguish the finite numerical model from a general-purpose physical solver.
- The Diffusion Operator: 5 lessons
- One Time Step: 5 lessons
- Running the Simulation: 5 lessons
- Boundaries and Sources: 5 lessons
- Validation: 5 lessons