About this Course
26,772 recent views

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Beginner Level


Subtitles: English

Skills you will gain

Julia (Programming Language)Computer ProgrammingIpythonData Visualization (DataViz)

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Beginner Level


Subtitles: English

Syllabus - What you will learn from this course

5 hours to complete

Welcome to the course

A warm welcome to Julia Scientific Programming. Over the next four weeks, we will provide you with an introduction to what Julia can offer. This will allow you to learn the basics of the language, and stimulate your imagination about how you can use Julia in your own context. This is all about you exploring Julia - we can only demonstrate some of the capacity and encourage you to take the first steps. For those of you with a programming background, the course is intended to offer a jumpstart into using this language. If you are a novice or beginner programmer, you should follow along the simple coding but recognising that working through the material will not be sufficient to make you a proficient programmer in four weeks. You could see this as the ‘first date’ at the beginning of a long and beautiful new relationship. There is so much you will need to learn and discover. Good luck and we hope you enjoy the course! Best wishes, Henri and Juan

14 videos (Total 138 min), 4 readings, 7 quizzes
14 videos
Getting Ready: JuliaBox15m
The Julia REPL - Read, Evaluate and Print Loop9m
Arithmetical expressions10m
Logical expressions12m
Julia's Type System17m
Variables in Julia16m
Functions in Julia17m
User-defined functions - part 19m
User-defined functions - part 26m
Week 1: Getting Practice3m
Installing Juno using Julia 1.09m
4 readings
How this course works10m
What to expect from Week 110m
Using Jupyter Notebooks10m
Approach to assessment in course10m
7 practice exercises
Is this course right for me?10m
JuliaBox and the Julia REPL14m
Arithmetical and logical expressions in Julia14m
Types and Arrays in Julia12m
Julia functions12m
Week 1 - Graded Quiz20m
What makes Julia special?6m
4 hours to complete

A context for exploring Julia: Working with data

In our case study we use Julia to store, plot, select and slice data from the Ebola epidemic. Taking real data, we explain how to work in Julia using arrays, and for loops to work with the structures. By the end of this module, you will be able to: create an array from data; learn to use the logical structures IF and FOR ; conduct basic array slicing, getting the incidence data and generating total number of cases; use Plots to generate graphs and plot data; and combine the Ebola data outputs to show a plot of disease incidence in several countries.

9 videos (Total 74 min), 1 reading, 4 quizzes
9 videos
Creating .csv from data tables4m
For Loops and Date-Time Formats18m
Simple plots with the Plots package9m
Multiple curves in a single diagram13m
Week 2: Getting Practice2m
How to do a Peer Graded Assignment8m
1 reading
What to expect from Week 210m
3 practice exercises
Data and Loops in Julia12m
Plots in Julia14m
Week 2 - Graded Quiz20m
4 hours to complete

Notebooks as Julia Programs

in this week, we demonstrate how it is possible to use Julia in the notebook environment to interpret a model and its fit to the data from the Ebola outbreak. For this, we apply the well-known SIR compartmental model in epidemiology. The SIR model labels three compartments, namely S = number susceptible, I =number infectious, and R =number recovered. By the end of this module, you will be able to: understand the SIR models; describe the basic parameters of an SIR model; plot the model-predicted curve and the data on the same diagram; adjust the parameters of the model so the model-predicted curve is close (or rather as close as you can make it) to the data.

9 videos (Total 76 min), 1 reading, 3 quizzes
9 videos
More on SIR Models13m
Plotting Data and an Approximately Fitted Line Simultaneously9m
Using the Data - fitting the model parameters11m
Week 3: Getting practice1m
Practicing fitting a circle to data11m
Week 3: Wrap Up42s
1 reading
What to expect from Week 310m
2 practice exercises
Making simple models4m
4 hours to complete

Structuring data and functions in Julia

As a scientific computing language, Julia has many applications and is particularly well suited to the task of working with data. In this last module, we will use descriptive statistics as our topic to explore the power of Julia. You should see this week as offering you a chance to further explore concepts introduced in week one and two. You will also be introduced to more efficient ways of managing and visualizing your data. We have also included additional, honors material for those who want to explore further with Julia around functions and collections. By the end of this module, you will be able to: 1. Practice basic functions in Julia 2.Creating random variables from data point values 3. Build your own Dataframes 4. Create a variety of data visualisations 5. Conduct statistical tests 6. learn how to export your data.

9 videos (Total 62 min), 4 readings, 4 quizzes
9 videos
Descriptive statistics4m
Creating a dataframe7m
Descriptive statistics9m
Visualizing data10m
Inferential statistics11m
Exporting data as a csv file2m
4 readings
What to expect from Week 410m
Packages - Local installation of Julia vs. juliabox.com10m
Week 4: Wrap-up10m
Honors material10m
3 practice exercises
Week 4 - Graded Quiz10m
56 ReviewsChevron Right


started a new career after completing these courses


got a tangible career benefit from this course

Top reviews from Julia Scientific Programming

By SPJan 27th 2018

Excellent, engaging teaching that makes me want to use Julia language (and Jupyter notebooks) all the time. As the language evolves, you need to adjust to newer Julia versions - just a part of fun.

By NPAug 6th 2017

It was very exciting. I widen further, my computing horizons\n\nHope, that the university will launch in the near future, a more advanced course of "Julia Scientific Programming"



Juan H Klopper

Department of Surgery

Henri Laurie

Department of Mathematics and Applied Mathematics

About University of Cape Town

The University of Cape Town is the oldest university in South Africa and is one of the leading research universities on the African continent. UCT has over 25 000 students, of whom 30% are postgraduate students. We offer degrees in six faculties: Commerce, Engineering & the Built Environment, Health Sciences, Humanities, Law, and Science. We pride ourself on our diverse student body, which reflects the many cultures and backgrounds of the region. We welcome international students and are currently home to thousands of international students from over 100 countries. UCT has a tradition of academic excellence that is respected world-wide and is privileged to have more than 30 A-rated researchers on our staff, all of whom are recognised as world leaders in their field. Our aim is to ensure that our research contributes to the public good through sharing knowledge for the benefit of society. Past students include five Nobel Laureates – Max Theiler, Alan Cormack, Sir Aaron Klug, Ralph Bunche and, most recently, J M Coetzee....

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.