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
- Understanding Julia's unique position in the market
- Leveraging Julia for data analysis
- Course outcomes and expectations
- Getting started with Julia's REPL
- Exploring alternative development environments: Juno, IJulia, and Sublime-IJulia
- Navigating the Julia ecosystem: documentation and package discovery
- Seeking assistance: Julia forums and community resources
Strings: Hello World
- Introduction to Julia REPL and batch execution using a "Hello World" example
- Overview of Julia String Types
Scalar Types
- Understanding variables: naming and typing
- Integers
- Floating-point numbers
- Complex numbers
- Rational numbers
Arrays
- Vectors
- Matrices
- Multi-dimensional arrays
- Heterogeneous arrays (cell arrays)
- Array comprehensions
Other Elementary Types
- Tuples
- Ranges
- Dictionaries
- Symbols
Building Your Own Types
- Abstract types
- Composite types
- Parametric composite types
Functions
- Defining functions in Julia
- Functions as type-specific methods
- Concepts of multiple dispatch
- Differences between multiple dispatch and traditional object-oriented programming
- Parametric functions
- Functions that modify their inputs
- Anonymous functions
- Optional function arguments
- Required function arguments
Constructors
- Inner constructors
- Outer constructors
Control Flow
- Compound expressions and scoping rules
- Conditional evaluation
- Loops
- Exception handling
- Tasks
Code Organization
- Modules
- Packages
Metaprogramming
- Symbols
- Expressions
- Quoting mechanisms
- Internal representation of code
- Parsing processes
- Evaluation techniques
- Interpolation
Reading and Writing Data
- File system interactions
- Data input and output
- Low-level data I/O operations
- Dataframes
Distributions and Statistics
- Defining probability distributions
- Interfaces for evaluating and sampling distributions
- Calculating mean, variance, and covariance
- Hypothesis testing
- Generalized linear models: a linear regression case study
Plotting
- Plotting packages: Gadfly, Winston, Gaston, PyPlot, Plotly, Vega
- Introduction to Gadfly
- Combining Interact and Gadfly
Parallel Computing
- Overview of Julia's message passing implementation
- Remote function calls and data fetching
- Parallel map (pmap)
- Parallel for loops
- Scheduling using tasks
- Distributed arrays
Requirements
While prior programming experience is beneficial, it is not mandatory. This course aims to provide a comprehensive, self-contained introduction to the fundamentals of the Julia programming language.
14 Hours
Testimonials (1)
everything about Julia