This course introduces you to Julia as a first programming language. Julia is a high-level, high-performance dynamic programming language developed specifically for scientific computing. This language will be particularly useful for applications in physics, chemistry, astronomy, engineering, data science, bioinformatics, and many more. You can start programming with Julia within Coursera and it can also be used from the command line, program files, or a Jupyter notebook.
Julia is designed to address the requirements of high-performance numerical and scientific computing while being effective for general-purpose programming. You will be able to access all the available processors and memory, scrape data from anywhere on the web, and have it always accessible through any device you care to use as long as it has a browser. Join us to discover new computing possibilities. Let's get started on learning Julia.
By the end of the course you will be able to:
- Programme using the Julia language by practicing through assignments
- Write your own simple Julia programs from scratch
- Understand the advantages and capacities of Julia as a computing language
- Work in Jupyter notebooks using the Julia language
- Use various Julia packages such as Plots, DataFrames and Stats
The course is delivered through video lectures, on-screen demonstrations, quizzes, and practical peer-reviewed projects designed to give you an opportunity to work with the packages.
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
Installing Juno using Julia (*as of 2022 Juno support has been discontinued - we recommend either Jupyter Notebook or Julia VS Code Extension)•10 minutes
Installing Julia Pro (*as of 2022 Juno support has been discontinued - we recommend either Jupyter Notebook or Julia VS Code Extension)•9 minutes
6 readings•Total 65 minutes
How this course works•10 minutes
What to expect from Week 1•10 minutes
Using Jupyter Notebooks•10 minutes
Logical expressions•10 minutes
Multiple Dispatch in Julia•15 minutes
Approach to assessment in course•10 minutes
7 assignments•Total 210 minutes
Is this course right for me?•30 minutes
Julia REPL and the notebook•30 minutes
Arithmetical and logical expressions in Julia•30 minutes
Types and Arrays in Julia•30 minutes
Julia functions•30 minutes
What makes Julia special?•30 minutes
Week 1 - Graded Quiz•30 minutes
1 discussion prompt•Total 10 minutes
Meet and greet•10 minutes
A context for exploring Julia: Working with data
Module 2•4 hours to complete
Module details
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.
What's included
9 videos1 reading3 assignments1 peer review
Show info about module content
9 videos•Total 74 minutes
Introduction to Week 2•1 minute
The Ebola Epidemic of 2014•9 minutes
Loading data using Julia•9 minutes
Creating .csv from data tables•4 minutes
For Loops and Date-Time Formats•19 minutes
Simple plots with the Plots package•9 minutes
Multiple curves in a single diagram•14 minutes
Week 2: Getting Practice•2 minutes
How to do a Peer Graded Assignment•8 minutes
1 reading•Total 10 minutes
What to expect from Week 2•10 minutes
3 assignments•Total 80 minutes
Data and Loops in Julia•30 minutes
Plots in Julia•30 minutes
Week 2 - Graded Quiz•20 minutes
1 peer review•Total 60 minutes
Creating a Notebook to describe a function (Optional)•60 minutes
Notebooks as Julia Programs
Module 3•3 hours to complete
Module details
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.
What's included
9 videos1 reading2 assignments1 peer review
Show info about module content
9 videos•Total 76 minutes
Introduction to Week 3•1 minute
SIR Models of Disease Dynamics•10 minutes
The SIR model in Julia code•18 minutes
More on SIR Models•13 minutes
Plotting Data and an Approximately Fitted Line Simultaneously•10 minutes
Using the Data - fitting the model parameters•11 minutes
Week 3: Getting practice•1 minute
Practicing fitting a circle to data•11 minutes
Week 3: Wrap Up•1 minute
1 reading•Total 10 minutes
What to expect from Week 3•10 minutes
2 assignments•Total 60 minutes
Making simple models•30 minutes
Models•30 minutes
1 peer review•Total 60 minutes
Plotting data and fitting a curve•60 minutes
Structuring data and functions in Julia
Module 4•5 hours to complete
Module details
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.
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 28 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, J M Coetzee.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.4
439 reviews
5 stars
62.18%
4 stars
25.74%
3 stars
7.28%
2 stars
1.82%
1 star
2.96%
Showing 3 of 439
G
GD
5·
Reviewed on Dec 14, 2020
Really great pacing, practical examples and quizzes without being overwhelming. Great for both beginners in programming and statistics, and for those with some experience. Awesome lesson, thank you!
B
BB
5·
Reviewed on Jul 18, 2021
Great course on Julia, the info is a bit old (uses 1.0 vs 1.6 current release). Other than that, a lot of good information and usage of Julia for scientific programming.
A
AS
4·
Reviewed on May 19, 2021
Overall I learned a lot, but the pacing was strange and some of the things in the quizzes were not taught well or were taught in the chapter after the quiz.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I purchase the Certificate?
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.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.