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.
Testimonials (5)
Pushing changes on an ongoing basis, when on the 3rd day I started to get more lost than before and it was harder to spot the error quickly, I was quickly able to check out the latest changes and stay up to date with the material
Paulina
Course - Advanced Java Security
Machine Translated
A large amount of practical knowledge shown in real-life examples.
Kamil - Streamsoft Kraków
Course - Java Advanced
Machine Translated
everything about Julia
Nelisiwe TP Mtshali - Africa Health Research Institue (AHRI)
Course - Introduction to Julia Programming
The teacher addressed many relevant topics for clean coding with practical examples.
Ben van Oeveren - Movella
Course - Clean Code
Very good knowledge and character.