Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Introduction to Julia
- What niche does Julia fill?
- How can Julia support your data analysis work?
- What you can expect to gain from this course
- Getting started with Julia's REPL
- Alternative environments for Julia development: Juno, IJulia, and Sublime-IJulia
- The Julia ecosystem: documentation and package search
- Finding additional help: Julia forums and the broader Julia community
Strings: Hello World
- Introduction to the Julia REPL and batch execution using "Hello World"
- Julia String Types
Scalar Types
- What is a variable? Why do we assign it a name and a type?
- Integers
- Floating-point numbers
- Complex numbers
- Rational numbers
Arrays
- Vectors
- Matrices
- Multi-dimensional arrays
- Heterogeneous arrays (cell arrays)
- Comprehensions
Other Elementary Types
- Tuples
- Ranges
- Dictionaries
- Symbols
Building Your Own Types
- Abstract types
- Composite types
- Parametric composite types
Functions
- How to define a function in Julia
- Julia functions as methods operating on types
- Multiple dispatch
- How multiple dispatch differs from traditional object-oriented programming
- Parametric functions
- Functions that modify their input
- Anonymous functions
- Optional function arguments
- Required function arguments
Constructors
- Inner constructors
- Outer constructors
Control Flow
- Compound expressions and scoping
- Conditional evaluation
- Loops
- Exception handling
- Tasks
Code Organisation
- Modules
- Packages
Metaprogramming
- Symbols
- Expressions
- Quoting
- Internal representation
- Parsing
- Evaluation
- Interpolation
Reading and Writing Data
- Filesystem
- Data I/O
- Lower-level Data I/O
- Dataframes
Distributions and Statistics
- Defining distributions
- Interface for evaluating and sampling from distributions
- Mean, variance, and covariance
- Hypothesis testing
- Generalised linear models: a linear regression example
Plotting
- Plotting packages: Gadfly, Winston, Gaston, PyPlot, Plotly, Vega
- Introduction to Gadfly
- Interact and Gadfly
Parallel Computing
- Introduction to Julia's message-passing implementation
- Remote calling and fetching
- Parallel map (pmap)
- Parallel for
- Scheduling via tasks
- Distributed arrays
Requirements
Some familiarity with programming is beneficial but not essential. The goal of this course is to teach you the fundamentals of the Julia programming language in a self-contained manner.
14 Hours
Testimonials (1)
everything about Julia