Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Independent

Scientific Programming in Julia

via Independent

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Scientific Programming requires the highest performance but we also want to write very high level code to enable rapid prototyping and avoid error prone, low level implementations.

The Julia programming language is designed with exactly those requirements of scientific computing in mind. In this course we will show you how to make use of the tools and advantages that jit-compiled Julia provides over dynamic, high-level languages like Python or lower level languages like C++.

Before joining the course, consider reading the following two blog posts to figure out if Julia is a language in which you want to invest your time.

  • What is great about Julia.
  • What is bad about Julia.

What will you learn?
First and foremost you will learn how to think julia - meaning how write fast, extensible, reusable, and easy-to-read code using things like optional typing, multiple dispatch, and functional programming concepts. The later part of the course will teach you how to use more advanced concepts like language introspection, metaprogramming, and symbolic computing. Amonst others you will implement your own automatic differentiation (the backbone of modern machine learning) package based on these advanced techniques that can transform intermediate representations of Julia code.

Syllabus

  • Introduction
  • The power of type systems & multiple dispatch
  • Design patterns
  • Package development, unit tests & CI
  • Performance benchmarking
  • Language introspection
  • Macros
  • Automatic differentiation

Taught by

Tomáš Pevný and Vašek Šmídl

Reviews

Start your review of Scientific Programming in Julia

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.