Get in Touch

Course Outline

Introduction

  • Understanding the nature of Julia as a programming language.
  • History: How, when, and by whom Julia was created.
  • Resources available for Julia learners.

Development Environment

  • Introduction to cloud-based development environments.
  • Working with the Terminal.
  • Using the REPL.
  • Loading and installing packages.
  • Integrated Development Environments (IDE).

Fundamental Types, Variables, and Operators

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

Variables, Functions, and Operations

  • Distinguishing between variables and constants.
  • Declaring and invoking functions and lambdas.
  • Control flow, exception handling, and error management.

Scoping

  • Function scopes.
  • Global and local scoping rules.
  • Block structures.
  • Using begin/end blocks.
  • Using let/end blocks.
  • Modules.
  • Data Structures.
  • Tuples.
  • Dictionaries.
  • Arrays.
  • Vectors.
  • Matrices and Linear Algebra.
  • Multidimensional arrays.
  • Dot notation within functions.
  • Handling 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 and concrete types.
  • Constructors.
  • Print and show methods.
  • Operator overloading.
  • Interfaces.

Metaprogramming

  • Symbols.
  • Eval.
  • Expressions.
  • Interpolation.
  • Evaluation.
  • Creating and invoking macros.
  • Code generation.
  • @generated functions.

Local Concurrency and Parallelism

  • SIMD.
  • Parallelism.
  • Tasks and Channels.
  • Asynchronous programming.
  • Multithreading.
  • Performance optimization.

Tooling

  • Unit testing.
  • Performance benchmarking.
  • Profiling.
  • Logging.
  • Debugging using stack traces.

I/O

  • Reading and writing text and binary files.
  • Handling delimited files.
  • Memory-mapped files.
  • Downloading files.

Requirements

There are no prerequisites for attending this course.

 21 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories