Sunday, March 19 | 1:00 pm – 5:00 pm
SC6 | An Introduction to Julia for Biostatistics
Instructors:
- Saunak Sen, Division of Biostatistics, Department of Preventive Medicine, University of Tennessee Health Science Center
- Gregory Farage, Division of Biostatistics, Department of Preventive Medicine, University of Tennessee Health Science Center
Teaching Assistant:
- Zifan (Fred) Yu, Scientific Research Programmer, Division of Biostatistics, Department of Preventive Medicine, University of Tennessee Health Science Center
Julia is an open-source programming language for scientific computing that offers several attractive features for data science. It offers the prototyping simplicity of an interpreted language such as R or Python with the speed of compiled languages such as C/C++. It has strong support for visualization, interactive graphics, machine learning, and parallel computing.
The short course will begin with the basics of getting started with Julia using the terminal and an IDE (integrated development environment). We will present Julia's language design and features comparing it with other languages. We will demonstrate how to install/uninstall packages and use commonly-used packages. We will then show basic data science tasks such as manipulating tabular data, statistical tests, regression, graphics, report generation, and connecting to R/Python/C libraries. Students will have the opportunity to get hands-on experience in Julia programming via examples and small exercises related to data science and scientific computing.
Statistical/programming knowledge required:
- No prior experience with Julia is required.
- Prior programming experience in a language such as R, SAS, Stata, MATLAB, or Python is required.
- We will assume that participants have statistical knowledge equivalent to a master's degree in statistics or biostatistics.
Time | Topic |
---|---|
1:00-1:30 | Why Julia? - Julia installation and REPL/Pkg |
1:30-2:30 | Syntax and Language Design - Getting Started - Macro - Data Structure |
2:00-2:30 | Mundane data analysis tasks |
2:30-3:00 | Graphics |
3:30-4:00 | Scientific Computing |
4:00-4:30 | Connecting - to R/Python libraries |
4:30-5:00 | Machine learning and Bayesian Analysis |
The project file Project.toml
contains the information of the package/project dependencies that we will use for the workshop. Follow the instructions below to instantiate packages.
Open your Terminal, cd
to move into the folder ENAR2023JuliaWorkshop
you downloaded in your computer.
(make your Terminal session is inside the folder)
After a successful installation of Julia, launch Julia REPL (you should be able to launch Julia by typing julia
from the Terminal) and then follow the steps below:
- First, type
]
in Julia REPL. This will move you to the Pkg REPL, which is the package manager in Julia.
julia> ]
You shall see (@v1.8) pkg>
when you are in the Pkg REPL.
- Next, run
(@v1.8) pkg> activate .
to activate the package environment of the current Julia project ("ENAR2023JuliaWorkshop").
At this point, you should see that (@v1.8)
changed to (ENAR2023JuliaWorkshop)
.
- Then, run
(ENAR2023JuliaWorkshop) pkg> resolve
(ENAR2023JuliaWorkshop) pkg> instantiate
Then it will load to the Julia only the packages required for this workshop.
- Check if your current Julia session has all you need: run
(ENAR2023JuliaWorkshop) pkg> status
Comparing the output printed out with the ENAR2023JuliaWorkshop/Project.toml
file, you shall confirm that you have loaded all the packages with the versions matched with in Project.toml
.
- Quick Start
- Julia language
- Official Julia documentation
- JSM-Julia-Short-Course-2022
- Julia Academy
- Julia code practice and learning site
- Introducing Julia
- RIP tutorial
- Book: Statistics with Julia
- Julia cheatsheet
- Sen Research Group Resources
- Annual Julia User & Developer Survey 2021 presented by Andrew Claster.
- Annual Julia User & Developer Survey 2019 presented by Viral Shah.
- Announcing composable multi-threaded parallelism in Julia
- Remark.jl created by Pietro Vertechi
"Create markdown presentations from Julia" - JuDoc.jl created by Thibaut Lienart
"Static site generator. Simple, fast, compatible with basic LaTeX, maths with KaTeX, optional pre-rendering, written in Julia." - Pluto.jl created by Fons Varder Plas
"Reactive Notebook, written in Julia." - Plots.jl created by Tom Breloff
"Plotting metapackage: it's an interface over many different plotting libraries."
A Comprehensive Tutorial to Learn Data Science with Julia from Scratch
10 Reasons Why You Should Learn Julia
Noteworthy Differences from other Languages
The material of ENAR2023JuliaWorkshop
is licensed under the CC-BY-NC-SA-4.0 license. For more information, please refer to the LICENSE file in the repository.