Get in Touch

Course Outline

Julia Programming: An Introduction

  • Understanding Julia's niche in the market
  • Leveraging Julia for data analysis
  • Key takeaways from this course
  • Getting started with Julia's REPL (Read-Eval-Print Loop)
  • Exploring alternative development environments: Juno, IJulia, and Sublime-IJulia
  • Navigating the Julia ecosystem: documentation and package discovery
  • Accessing support: 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: purpose, naming, and typing
  • Integers
  • Floating-point numbers
  • Complex numbers
  • Rational numbers

Arrays

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

Other Elementary Types

  • Tuples
  • Ranges
  • Dictionaries
  • Symbols

Defining Custom Types

  • Abstract types
  • Composite types
  • Parametric composite types

Functions

  • Syntax for 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 with side effects (changing input)
  • Anonymous functions
  • Optional function arguments
  • Required function arguments

Constructors

  • Inner constructors
  • Outer constructors

Control Flow

  • Compound expressions and variable scoping
  • Conditional evaluation
  • Loop structures
  • Exception handling
  • Tasks

Code Organization

  • Modules
  • Packages

Metaprogramming

  • Symbols
  • Expressions
  • Quoting
  • Internal representation of code
  • Parsing
  • Evaluation
  • Interpolation

Reading and Writing Data

  • Filesystem operations
  • Data Input/Output (I/O)
  • Low-level Data I/O
  • DataFrames

Distributions and Statistics

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

Plotting

  • Overview of plotting packages: Gadfly, Winston, Gaston, PyPlot, Plotly, and Vega
  • Introduction to Gadfly
  • Integrating Interact with Gadfly

Parallel Computing

  • Introduction to Julia's message-passing implementation
  • Remote function calls and fetching results
  • Parallel map (pmap)
  • Parallel for loops
  • Scheduling via tasks
  • Distributed arrays

Requirements

While some prior programming experience is beneficial, it is not a strict requirement. The primary goal of this course is to provide a comprehensive, self-contained introduction to the fundamental concepts of the Julia programming language.

 14 Hours

Testimonials (1)

Related Categories