Course Outline

Introduction

  • What kind of programming language is Julia?
  • How was Julia created, when, and by whom?
  • Julia resources

Development Environment

  • Introduction to the cloud development environment
  • Terminal
  • REPL
  • Loading and installing packages
  • IDE

Fundamental types, variables and operators

  • Basic data types
  • Strings and interpolation
  • Variables
  • Operators

Variables, functions and operations

  • Variables and constants
  • Calling and declaring functions and lambdas
  • Control flow, exception handling and errors

Scoping

  • Function scopes
  • Global and local scoping
  • Blocks
  • begin/end
  • let/end
  • Modules
  • Data Structures
  • Tuples
  • Dictionaries
  • Arrays
  • Vectors
  • Matrices & Linear Algebra
  • Multidimensional arrays
  • Dot notation (in functions)
  • Missing values

Types

  • Tuples and named tuples
  • Structs and mutability
  • Unions
  • Abstract types and inheritance
  • Parametric types (generics) and inheritance
  • Value types
  • Type checking

Methods and constructors

  • Multiple dispatch
  • Writing methods for abstract/types
  • Constructors
  • Print/show methods
  • Operator overloading
  • Interfaces

Metaprogamming

  • Symbols
  • Eval
  • Expressions
  • Interpolation
  • Evaluation
  • Calling and building macros
  • Code generation
  • @generated functions

Local concurrency and parallelism

  • SIMD
  • Parallelism
  • Tasks & Channels
  • Asynchronous programming
  • Multithreading
  • Performance optimization

Tooling

  • Unit testing
  • Performance benchmarking
  • Profiling
  • Logging
  • Debugging: stack traces

I/O

  • Reading and writing text and binary files
  • Delimited files
  • Memory mapped
  • Downloading files

Requirements

There are no prerequisites to attending this course

 21 Hours

Testimonials (1)

Upcoming Courses