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 is filled by Julia
- How can Julia help you with data analysis
- What you can expect to get out of 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
- Getting more help: Julia forums and Julia community
Strings: Hello World
- Introduction to Julia REPL and batch execution via "Hello World"
- Julia String Types
Scalar Types
- What is a variable? Why do we use a name and a type for it?
- 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 changing 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 Organization
- 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
- Generalized 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 desirable, but not essential. The aim of the course is to teach you the basics of the Julia programming language in a self-contained fashion.
14 Hours
Delivery Options
Private Group Training
Our identity is rooted in delivering exactly what our clients need.
- Pre-course call with your trainer
- Customisation of the learning experience to achieve your goals -
- Bespoke outlines
- Practical hands-on exercises containing data / scenarios recognisable to the learners
- Training scheduled on a date of your choice
- Delivered online, onsite/classroom or hybrid by experts sharing real world experience
Private Group Prices RRP from £3800 online delivery, based on a group of 2 delegates, £1200 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.
Contact us for an exact quote and to hear our latest promotions
Public Training
Please see our public courses
Testimonials (1)
everything about Julia