Overview#

This workshop is an introduction to the Julia programming language for people familiar R, Python, or MATLAB. Compared to those languages, Julia code typically runs orders of magnitude faster but has a similar level of abstraction, so you can focus on your research problem rather than hardware minutiae. Julia also provides out-of-the-box Unicode support, an easy-to-use package manager, multithreading facilities, a macro system, and a rich type system to optimize and prevent bugs in your code. Workshop topics include a concise overview of Julia’s syntax and features, an end-to-end introduction to using built-in functions and contributed packages to read, summarize, and visualize tabular data, and real-world examples where we’ve found Julia beneficial.

This workshop was developed by the UC Julia User Group. If you’re a Julia user at any UC campus, you’re welcome to join! We meet virtually a few times every term to discuss how we’re using Julia and the latest Julia news, as well as develop resources like this one.

Learning Objectives

  • Explain the advantages and disadvantages of Julia compared to other programming languages

  • Write Julia code that uses variables, control flow, functions, and other fundamental programming language features

  • Describe Julia’s type system and its purpose at a high-level

  • Add type annotations to a Julia function

  • Read tabular data into Julia

  • Describe and use the DataFrames.jl package

  • Create visualizations with Julia’s visualization packages

  • Give examples of ways using Julia can benefit research

  • List some references to learn more about Julia

Prerequisites#

Participants must be proficient programming in a language such as R, Python, or MATLAB. Before the workshop, participants must install the latest version of Julia on their computer.

Computing Requirements#

Before the workshop, please make sure your computer has a working internet connection and the most recent versions of the following software: