Introduction

The Julia programming language is meant to be an open-source and efficient way to implement computing algorithms. This homepage mentions advantages at an abstract level.

Using Julia

Reference: (pdf)

Online Julia Course: See MIT's Fall 2020 Course

Basic CS Skills: See this course

See this tutorial (pdf) for installation.

In this course

Use of Julia in this course involves creating Julia code that imports a variety of packages and combines them to achieve some goal. Using the right packages and understanding how to combine them depends on understanding the theory behind the corresponding implementations.

Why Learn Julia In This Course?

A few reasons:

  1. Julia is good for the same use-cases as Python: scientific computing and fast prototyping. It is open-source, unlike MATLAB, and faster than Python (Julia startup is slower though). A biased comparison to Python is here.

  2. The eco-system around Julia is also growing, just like it did for Python. I personally use it for

    • Convex Optimization

    • Machine Learning

    • Static website generation

Is Skipping Julia An Option?

I encourage students to use a programming language that they familiar and comfortable with. For experienced progammers, it may not take long to become familiar with Julia. For others, learning a new progamming language can be difficult or frustrating, and therefore could distract from the course material. MATLAB and Python are popular alternatives with implementations of relevant simulators and algorithms in the course.