To complete the course, you will first need to install Julia and Pluto on your computer.
FirstTime Setup: Install Julia & Pluto (HTML)
How to Install Julia & Pluto (YouTube)
Homework 0: Getting Up & Running
The videos linked below are also available in the form of a YouTube playlist.
All of the Pluto notebook files for lecture sessions and homework are also available on the original GitHub site developed for the course.
Lectures  YouTube videos  notebooks 

1. Images and Abstraction 
First taste of abstraction with arrays TEDx talk: A programming language to heal the planet together 

2. Convolutions in Image Processing 

3. Dynamic Programming, Views, and GPUs 

4. Seam Carving Live Coding Session 

5. Structure and Dispatch 

6. Understanding Structure in Data 

7. Introspection and Covid Data Visualization 

8. Probability via Computation 

9. Computational Thinking, Graphs Are Matrices, and The Expression Problem 

10. Graphs, Trees, and Spreading Disease 

11. Epidemic Modeling and Documenting Code 

12. Macroscopic Models of Epidemic Dynamics 

13. Graphs and Network Dynamics 

14. Raytracing, Your Own Parallelism, and Abstract Arrays 

15. Billiard Models and EventDriven Simulations 

16. Raytracing in 3D 

17. Raytracing LiveCoding 
[video not available] 

18. Hierarchical Thinking, Greedy Algorithms, Jacobi’s Method, and Multigrid 

19. FloatingPoint Arithmetic 

20. Introduction to Climate Modeling, Nonlinear Dynamics, and Stability 

21. Nonlinear Climate Dynamics and Snowball Earth 

22. Diffusion Equation and Time and Space Evolution 

23. Heat Transfer by Ocean Currents 

24. Ocean Modeling and Generic Programming 
Building an ocean model from scratch Fluid dynamics with Oceananigans.jl 

25. An Overview of Modern Climate Modeling 

26. Discrete Fourier Transform 
Code content is licensed under the MIT license.
Text content is licensed under the CC BYSA license.