Julia Scientific Programming

Location type
Logo Coursera (CC)
Provider rating: starstarstarstar_borderstar_border 6.3 Coursera (CC) has an average rating of 6.3 (out of 4 reviews)

Need more information? Get more details on the site of the provider.

Description

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: This four-module course introduces users to Julia as a first 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. As open source software, you will always have it available throughout your working life. It can also be used from the command line, program files or a new type of interface known as a Jupyter notebook (which is freely available as a service from JuliaBox.com). Julia is designed to address the requirements of high-performance numerical …

Read the complete description

Frequently asked questions

There are no frequently asked questions yet. Send an Email to info@springest.com

Didn't find what you were looking for? See also: Physics, Chemistry, Programming, Ruby on Rails, and Ruby.

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: This four-module course introduces users to Julia as a first 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. As open source software, you will always have it available throughout your working life. It can also be used from the command line, program files or a new type of interface known as a Jupyter notebook (which is freely available as a service from JuliaBox.com). Julia is designed to address the requirements of high-performance numerical and scientific computing while also 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 practising 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.

Who is this class for: This course is for anyone wanting to learn how to use Julia for data analysis. This includes data scientists, engineers, mathematical modelling and students looking for new tools to work with data. Recommended Background A knowledge of high school mathematics is a basic requirement. While the class is designed for students with limited programming experience, some beginner programmers may find the class quite fast-paced. We recommend you work through the material slower, never forgetting that the only way to learn a language is to use it. We use Jupyter notebooks for the course and we encourage you to experiment with the notebooks we have created. For those of you who have done programming and want to get a taste of this language, you should be able to move through the material fast.

Created by:  University of Cape Town
  • Taught by:  Juan H Klopper, Dr

    Department of Surgery
  • Taught by:  Henri Laurie, Dr

    Department of Mathematics and Applied Mathematics
Level Beginner Commitment 4 weeks of study, 3-4 hours per week Language English How To Pass Pass all graded assignments to complete the course. User Ratings 4.6 stars Average User Rating 4.6See what learners said Coursework

Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.

Help from your peers

Connect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.

Certificates

Earn official recognition for your work, and share your success with friends, colleagues, and employers.

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.

Syllabus


WEEK 1


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. We have created a course which we hope 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 course 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


16 videos, 4 readings, 6 practice quizzes expand


  1. Video: Introduction to Julia scientific programming
  2. Reading: How this course works
  3. Practice Quiz: Is this course right for me?
  4. Reading: What to expect from Week 1
  5. Discussion Prompt: Meet and greet
  6. Video: Programming Languages and why Julia is special
  7. Video: Getting Ready: JuliaBox Part 1
  8. Reading: Using Jupyter Notebooks
  9. Video: Getting Ready: JuliaBox Part 2
  10. Video: The Julia REPL - Read, Evaluate and Print Loop
  11. Practice Quiz: JuliaBox and the Julia REPL
  12. Video: Arithmetic Expressions
  13. Video: Logical expressions
  14. Practice Quiz: Arithmetic and logical expressions in Julia
  15. Video: Types: Julia Type System
  16. Video: Arrays and Abstract types
  17. Practice Quiz: Types and Arrays in Julia
  18. Video: Functions I - built-in functions
  19. Video: Functions II - user-defined functions
  20. Practice Quiz: Julia functions
  21. Video: Week 1: Getting Practice
  22. Reading: Approach to assessment in course
  23. Video: How to Install Julia on Mac OS X
  24. Video: Installing Julia on Linux
  25. Video: Installing Julia on Windows
  26. Video: Opening notebooks in IJulia
  27. Practice Quiz: What makes Julia special?

Graded: Week 1 Graded Quiz

WEEK 2


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, 1 reading, 2 practice quizzes expand


  1. Reading: What to expect from Week 2
  2. Video: Introduction to Week 2
  3. Video: The Ebola Epidemic of 2014
  4. Video: Loading data
  5. Video: Creating CSV files (Optional)
  6. Video: "For" Loops and data format conversions
  7. Practice Quiz: Data and Loops in Julia
  8. Video: Simple Plots with the Plots Package
  9. Video: Plotting Multiple Curves in a Single Diagram
  10. Practice Quiz: Plots in Julia
  11. Video: Week 2: Getting Practice
  12. Video: How to do a Peer Graded Assignment
  13. Peer Review: Creating a Notebook to describe a function (Optional)

Graded: Week 2 - Graded quiz

WEEK 3


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.


16 videos, 1 reading, 2 practice quizzes expand


  1. Reading: What to expect from Week 3
  2. Video: Introduction to Week 3
  3. Video: SIR Models of Disease Dynamics
  4. Video: on SIR Models
  5. Practice Quiz: Making simple models
  6. Video: Plotting Data
  7. Video: Using the Data: A rough fit of the model parameters
  8. Practice Quiz: Models
  9. Video: Week 3 Getting practice
  10. Video: Practicing fitting a circle to data
  11. Video: Week 3 Wrap Up
  12. Video: User Defined Types: Introduction
  13. Video: User Defined Types: The Julia Type System & Declaring a Type
  14. Video: User Defined Types: Creating Your Own Type
  15. Video: User Defined Types: Conversion & Promotion & Parametrizing a Type
  16. Video: User Defined Types: Equality of Values & Types & Defining Methods for User Types
  17. Video: User Defined Types: Complex Parameters
  18. Video: User Defined Types: Screen Output of User Defined Types
  19. Video: User Defined Types: Constraining Field Values

Graded: Plotting data and fitting a curve
Graded: User-defined types (Honors)

WEEK 4


Structuring data and functions in Julia



As a scientific computing language, Julia is well suited to the task of working with data. In this last module, we elaborate on the two most important concepts in Julia, arrays and functions. They are the fundamental building blocks of holding and manipulating data. 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. By the end of this module, you will be able to: 1. Apply and understand how to work with arrays 2. Practice Julia functions 3. Explore extension packages 4. be familiar with the Dataframes package 5. Plot a variety of data from the dataset, ready for publication.


35 videos, 3 readings, 3 practice quizzes expand


  1. Reading: What to expect from week 4
  2. Reading: Packages - Local installation of Julia vs. juliabox.com
  3. Video: Collections: Introduction
  4. Video: Collections: Creating Arrays
  5. Video: Collections: Slicing & Modifying Arrays
  6. Video: Collections: Comprehensions & Operations
  7. Video: Collections: Additional - NA & Tuples
  8. Video: Collections: Additional - Dictionaries
  9. Video: Collections: Recap
  10. Practice Quiz: Collections
  11. Video: Functions: Introduction
  12. Video: Functions: Single & Multiple expression functions
  13. Video: Functions: Optional & Keyword Arguments
  14. Video: Functions: Variable Number of Arguments
  15. Video: Functions: Additional Passing Arrays as Arguments & Type Parameters
  16. Video: Functions: Additional - Stabby Functions & Passing Functions as Arguments
  17. Video: Functions: Recap
  18. Practice Quiz: Functions
  19. Video: Data Frames: Introduction
  20. Video: Data Frames: Data Arrays & Data Frames
  21. Video: Data Frames: Get to Know your Data
  22. Video: Data Frames: Importing & Exporting
  23. Video: Data Frames: Joins & Groups
  24. Video: Data Frames: Sorting, Duplicates & NA
  25. Video: Data Frames: Renaming Columns
  26. Video: Data Frames: Recap
  27. Video: Data: Introduction
  28. Video: Data Vizualization: Randn & Distributions
  29. Practice Quiz: DataFrames and Data Visualizations
  30. Reading: Completing the course
  31. Video: Data Vizualization: Comparison
  32. Video: Data Vizualization: Plotly
  33. Video: Data Vizualization: Recap
  34. Video: Gadfly: Introduction
  35. Video: Gadfly: Simple plotting & Adding Layers
  36. Video: Gadfly: Using Themes
  37. Video: Gadfly: Adding Titles and Axis Labels & Saving a Plot & Importing Data into a DataFrame
  38. Video: Gadfly: Box Plots
  39. Video: Gadfly: Density Plots & Histogram & Violin Plots
  40. Video: Gadfly: QQ Plots & Scatter Plots & Vertical and Horizontal Lines
  41. Video: Gadfly: Examples

Graded: Working with Distributions and DataFrames
Graded: Working with data (Honors)
Graded: Gadfly (Honors)
There are no reviews yet.

Share your review

Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate $1.- to Stichting Edukans.

There are no frequently asked questions yet. Send an Email to info@springest.com