Julia Course




What's in this preview?

We want you to get the feel for typical Groxio content and the reasons we provide each type of content. Each Groxio module comes in four scheduled releases consisting of the central PDF, videos, and resource links. Later releases have projects as well. You can see part of the first release here.

Simplicity Meets Performance



Buy Course Today!



Preview PDF!

Version: Sept 15, 2020


Just $70.00, A La Carte
(other options available)




Programmer Passport Julia






Why a book?

The scientific teaching method we follow is the Dreyfus learning model. Books provide the metaphors experts need to build context, step-by-step instructions for beginners, and the exercises that intermediates need to learn.

Itinerary


1. Imperative Julia

Why an itinerary?

The itinerary is a virtual guide. This optional list describes the highlights of each release to maximize your learning time.

Description

The Julia programming language is one of the fastest growing languages in the world. It’s a multi-paradigm language with concepts from functional and imperative languages. As data science and machine learning become more popular, Julia’s blend of high performance and general purpose features have rapidly driven its adoption by such companies as Apple and Disney. With Groxio as a guide, you can explore with us and find out why.


Throughout the Julia language, you can see powerful features supporting productivity, performance, and friendly features for scientists. Advanced concurrency features allow a higher level of parallelism than most other technical languages support. A rich type system provides the extra performance, documentation, and protection when you want it. Multiple dispatch allows the high levels of reuse that object oriented languages promised but never seemed to deliver.


What really sets Julia apart is the libraries. With high-performance libraries available for everything from machine learning to data manipulation, the Julia language shines where many other functional languages fail. The science-friendly abstractions and language features in Julia make it easy to represent math problems with functions.

History

Until the last few years, technical computing has always embraced performance as an overriding concern. Data scientists liked the way Python worked, but it wasn’t fast enough. In 2009, Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and Alan Edelman started work on Julia to bridge the gap between productivity and performance in technical computing languages. While MIT was a great place to form the new language, a public university is not always the best steward.

In 2015, the founding team brought in a few more employees, and together founded Julia Computing. Under their careful stewardship, the company has cared for the language, adding a conference, several major clients, and a regular string of new language releases with new features. Julia is now the 28th most popular language in the world.

Videos

Public & Private




Why videos?

Groxio language modules have two kinds of videos. Our overview videos set the history and context of a language, or wrap up the work we've done, and are free to support language ecosystems. Our coding instruction videos, mostly starting with the second release, are paid content, and each one offers a live coding project.

Every learning level benefits from pair programming. Our videos are professional, but do not scrub away every tiny mistake. That way, you can see how experienced programmers deal with errors and changes in code organization.

Video

1. Intro, functions, arrays, and plots

Julia is the language of scientists, and with MIT's support, it's been attracting a wide range of scientists from around the world. This video explores some tiny problems, showing the flavor of Julia. We look at arrays, matrices, and work some basic plots of both normal and random distributions.
Subscriber content

Video

2. Exercism exercises in Julia

The exercism platform is great for building up your initial vocabulary in a language. In this video, we walk through how it works for Julia, and work twp different problems. Our goal is not to show how problems are solved, but to show how the Exercism platform works for Julia.
Subscriber content

3. Election Introduction

The Julia programming language is ideal for building models. We're going to be working on the election polling data and modelling data from fivethirtyeight.com. We won't be going into the same detail. Instead, we'll just provide a naive implementation of a state assuming all states are independent (they aren't), and no other factors matter (they do).

Julia, Flux, and AD - Chris Rackauckas

In this short video Bruce Tate, author of Seven More Languages in Seven Weeks and Groxio founder, interviews Chris Rackauckas, builder of the scientific machine learning Flux library for the Julia Language.

Julia at Escape Velocity - Jeff Bezanson

In this short video Bruce Tate, author of Seven More Languages in Seven Weeks and Groxio founder, interviews Jeff Bezanson, one of the creators of the Julia Language about what makes Julia unique.

Speed, Graphs and Data: Huda Nassar Part 1

In this short video Bruce Tate, author of Seven More Languages in Seven Weeks and Groxio founder, interviews Huda Nassar. Huda and Bruce talk about graph theory, spending quality time with data and the Julia Language.

Community Resources

Cool quick trips for Julia




Why resource links?

Each new chapter has a set of links, separated into three categories. The categories reflect different competency levels and resources that match that stage of learning, for each Groxio release.

Learn It

These resources will get you on the path to learning with background information, tooling and exercises.

Do It

You decide how deep to go. These resources are exercises and projects to cement your learning.

Grok It

These resources will help you put your new knowledge into context so you'll be better at your everyday job.

Projects

Longer Excursions (chapters 3 and 4)






Why projects?

The Dreyfus model is originally instruction for pilots. A typical pilot course is based on reading material to understand context, and then flying a plane. Our videos and PDFs are important, but in the end, programmers need to program in order to learn. Our projects offer different levels of assistance, from "give me the answer" to "make this test pass".