Free From MIT: Intro to Computational Thinking with Julia

Introduction to Computational Thinking with Julia, with Applications to Modeling the COVID-19 Pandemic is another freely-available offering from MIT's Open Courseware.

So you have sampled other data science courses online, and perhaps you liked some of them. Maybe they helped you think about problems from a computational standpoint. You were then able to make a transition to doing your own data science projects to try out implementing some other related concepts and skills.

But let me ask you this: what were the programming languages used in these courses? I'll bet most of them were taught using Python, with some significant minority instead using R. I will further bet that zero were taught using Julia. As you can likely glean from the title of this article and the course that it is spotlighting, Julia is the language utilized in this free offering from MIT.

Whether you are just starting out learning programming, or you are beginning your data science journey, or you are a skilled data scientist with advanced programming skills in a language other than Julia, this course is set up to be useful to you all. Add in the coursework focus on such a relevant topic, COVID-19, and this is guaranteed not to be a rehash of other intro to data science and programming courses you have come across.

Introduction to Computational Thinking with Julia, with Applications to Modeling the COVID-19 Pandemic is another freely-available offering from MIT's Open Courseware initiative, taught by Prof. Alan Edelman and Prof. David P. Sanders. Given the inclusion of COVID-19 in its title, it shouldn't surprise you that this is a very recent offering of the course as well, having been taught in spring 2020.

Computational thinking


The course's website has this description:

This half-semester course introduces computational thinking through applications of data science, artificial intelligence, and mathematical models using the Julia programming language. This Spring 2020 version is a fast-tracked curriculum adaptation to focus on applications to COVID-19 responses.


What, specifically, is taught in the course? Here are the lessons from the syllabus:

  1. Analyzing COVID-19 Data
  2. Modelling Exponential Growth
  3. Probability
  4. Random Walk Models
  5. Characterizing Variability
  6. User-defined Types
  7. Markov Chains and Continuous Random Variables
  8. Continuous Time
  9. Exponential Distribution
  10. Differential Equations
  11. Optimization and Fitting to Data
  12. Networks in Epidemic Modelling

As you can see, the topics shift gears between programming fundamentals, data science concepts, and COVID-specific topics from week to week, the focus of which no doubt helps keep the material fresh and interest high. The courseware includes lecture slides, lecture videos, assignments, external resources, and Jupyter notebooks as applicable. The course's Github repository houses the Jupyter notebooks and additional related resources.



Remember that this course is titled "computational thinking," and so there is nothing related to machine learning directly within. There is, however, a focus on how to solve problems using computational methods, which is a very useful skill to possess regardless of your exact programmatic role; it is definitely necessary for solving data science problems computationally. With this in mind, pairing this course with the high quality freely-available ebook, Statistics with Julia: The Free eBook, seems like a good path forward for those looking to learn Julia with a focus toward data science.

I'm still very interested in adding Julia programming to my skills portfolio... when I can find the time. When I do find that time, I will be sure to deeper investigate MIT's Introduction to Computational Thinking with Julia along with the above-mentioned free ebook Statistics with Julia. I don't see why you would do any different.