Introduction to Julia Programming
Overview
Julia (https://julialang.org/) is fast becoming a popular language of choice for scientific computing and machine learning. It boasts high performance, ease of use and easy to learn syntax.
This course introduces Julia language, tools and programming.
What You Will Learn
- Julia vs other languages
- Julia language features
- Julia development environment
- Data Types / Variables / Functions
- Reading and processing data files
- Data visualization
- Meta programming
- Profiling and performance evaluation
- Machine learning introduction
Audience
Developers, Architects
Skill Level
Introductory
Duration
Three days
Format
Lectures and hands-on labs. (50% 50%)
Prerequisites
- Programming experience with Python or Java
Students will need the following
- A reasonably modern laptop with unrestricted connection to the Internet. Laptops with overly restrictive VPNs or firewalls may not work properly
- Julia development environment (instructions will be provided)
Detailed outline
Introduction to Julia Language
- Scientific computing ecosystem
- Julia vs. other languages
- Features of Julia
- Julia development environment
- Lab: Up and running with Julia
Julia Language Basics
- REPL environment
- Variables and types
- Logical and arithmetic expressions
- Variable scope
- Lab:
Julia Language
- Arrays
- Loops
- Control flow
- Lab:
Functions
- Function syntax
- Using built-in functions
- Writing User-Defined-Functions (UDF)
- Lab
Dataframes
- Dataframes introduction
- Packages to use
- Loading data into data frames
Visualization
- Plots available in Julia
- Creating basic plots
- Plot packages
- Lab
Data Analytics
- Loading data files
- Analyzing and summarizing data
- Statistics
- Dealing with missing values
- Lab:
Modules
- Constructors
- Interfaces
- Modules
- Lab:
Meta-Programming
- Metaprogramming concepts
- Macros
- Code generation
- Lab:
Performance
- Profiling code
- Running benchmarks
- Best practices for performance
- Lab
Getting Started with Machine Learning with Julia
- Packages for ML
- Linear regression intro
- Lab: Linear regression in Julia