Get in Touch

Course Outline

Getting Started with Julia

  • Julia's unique role in the ecosystem
  • Leveraging Julia for data analysis
  • Course learning outcomes
  • Exploring Julia's REPL
  • Development environments: Juno, IJulia, and Sublime-IJulia
  • Navigating the Julia ecosystem: documentation and package discovery
  • Additional resources: Julia forums and community support

Strings: Your First Steps

  • Introduction to the REPL and batch processing using "Hello World"
  • Understanding Julia String Types

Scalar Data Types

  • Understanding variables: naming and typing
  • Integer types
  • Floating-point numbers
  • Complex numbers
  • Rational numbers

Arrays

  • Vectors
  • Matrices
  • Multi-dimensional arrays
  • Heterogeneous arrays (cell arrays)
  • List comprehensions

Other Basic Types

  • Tuples
  • Ranges
  • Dictionaries
  • Symbols

Creating Custom Types

  • Abstract types
  • Composite types
  • Parametric composite types

Functions

  • Defining functions in Julia
  • Functions as methods operating on types
  • Understanding multiple dispatch
  • Differences between multiple dispatch and traditional object-oriented programming
  • Parametric functions
  • Functions that modify inputs
  • Anonymous functions
  • Optional arguments
  • Required arguments

Constructors

  • Inner constructors
  • Outer constructors

Control Flow

  • Compound expressions and scope management
  • Conditional logic
  • Loop structures
  • Exception handling
  • Tasks (coroutines)

Code Organization

  • Modules
  • Packages

Metaprogramming

  • Symbols
  • Expressions
  • Quoting mechanisms
  • Internal representation of code
  • Parsing code
  • Evaluating expressions
  • Interpolation

Data Input and Output

  • Filesystem operations
  • Data I/O essentials
  • Low-level Data I/O techniques
  • Working with DataFrames

Distributions and Statistics

  • Defining statistical distributions
  • Interfaces for evaluation and sampling
  • Calculating mean, variance, and covariance
  • Hypothesis testing
  • Generalized linear models: A linear regression case study

Data Visualization

  • Visualization packages: Gadfly, Winston, Gaston, PyPlot, Plotly, Vega
  • Introduction to Gadfly
  • Combining Interact with Gadfly

Parallel Computing

  • Julia's message-passing implementation overview
  • Remote calls and data fetching
  • Parallel mapping (pmap)
  • Parallel for loops
  • Scheduling with tasks
  • Distributed arrays

Requirements

While some prior programming experience is beneficial, it is not mandatory. The course aims to provide a comprehensive, self-contained introduction to the fundamentals of Julia.

 14 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories