Get in Touch

Course Outline

Introduction

  • Understanding the nature of Julia as a programming language.
  • The history of Julia: creation, timeline, and creators.
  • Available Julia resources.

Development Environment

  • Overview of the cloud-based development environment.
  • Working with the Terminal.
  • Using the REPL (Read-Eval-Print Loop).
  • Loading and installing packages.
  • Integrated Development Environment (IDE).

Fundamental Types, Variables, and Operators

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

Variables, Functions, and Operations

  • Distinction between variables and constants.
  • Declaring and invoking functions and lambdas.
  • Control flow, exception handling, and errors.

Scoping

  • Function scopes.
  • Global and local scoping rules.
  • Code blocks.
  • begin/end blocks.
  • let/end blocks.
  • Modules.
  • Data Structures.
  • Tuples.
  • Dictionaries.
  • Arrays.
  • Vectors.
  • Matrices & Linear Algebra.
  • Multidimensional arrays.
  • Dot notation (particularly in 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 mechanisms.

Methods and Constructors

  • Understanding multiple dispatch.
  • Writing methods for abstract and concrete types.
  • Constructors.
  • Print/show methods.
  • Operator overloading.
  • Interfaces.

Metaprogramming

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

Local Concurrency and Parallelism

  • SIMD (Single Instruction, Multiple Data).
  • Parallelism techniques.
  • Tasks & Channels.
  • Asynchronous programming.
  • Multithreading.
  • Performance optimization strategies.

Tooling

  • Unit testing.
  • Performance benchmarking.
  • Profiling tools.
  • Logging.
  • Debugging: interpreting 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