Formation Introduction to Julia

Note: some courses attract a minimum of 2 delegates

Code formation

juliaintro

Durée

14 heures (généralement 2 jours pauses comprises)

Pré requis

Some familiarity with programming is desirable, but not essential. The aim of the course is to teach you the basics of the Julia programming language in a self-contained fashion.

Aperçu

Ce cours est destiné aux analystes de données et aux chercheurs. Julia est un langage de programmation en plein essor qui met l’accent sur la précision numérique, le calcul scientifique et les statistiques. Il a acquis une grande partie de sa réputation grâce à sa rapidité d’exécution et à sa facilité de programmation. Ce qui est moins souligné, bien que ce soit vrai, est que

  • Julia possède une multitude d’outils intégrés et externes pour le calcul distribué et parallèle,
  • il facilite la construction de structures de données définies par l'utilisateur,
  • il est facile de faire de la métaprogrammation, donc aussi de définir vos propres DSL,
  • il permet d'interagir avec plusieurs autres langages de programmation tels que C, Python et R,
  • Il fournit un paradigme de programmation à répartitions multiples, qui à bien des égards vous aide à organiser votre code et à faire de vous un meilleur programmeur et ingénieur logiciel.

Machine Translated

Plan du cours

Introduction to Julia

  • What niche is filled by Julia
  • How can Julia help you with data analysis
  • What you can expect to get out of this course
  • Getting started with Julia's REPL
  • Alternative environments for Julia development: Juno, IJulia and Sublime-IJulia
  • The Julia ecosystem: documentation and package search
  • Getting more help: Julia forums and Julia community

Strings: Hello World

  • Introduction to Julia REPL and batch execution via "Hello World"
  • Julia String Types

Scalar Types

  • What is a variable? Why do we use a name and a type for it?
  • Integers
  • Floating point numbers
  • Complex numbers
  • Rational numbers

Arrays

  • Vectors
  • Matrices
  • Multi-dimensional arrays
  • Heterogeneous arrays (cell arrays)
  • Comprehensions

Other Elementary Types

  • Tuples
  • Ranges
  • Dictionaries
  • Symbols

Building Your Own Types

  • Abstract types
  • Composite types
  • Parametric composite types

Functions

  • How to define a function in Julia
  • Julia functions as methods operating on types
  • Multiple dispatch
  • How multiple dispatch differs from traditional object-oriented programming
  • Parametric functions
  • Functions changing their input
  • Anonymous functions
  • Optional function arguments
  • Required function arguments

Constructors

  • Inner constructors
  • Outer constructors

Control Flow

  • Compound expressions and scoping
  • Conditional evaluation
  • Loops
  • Exception Handling
  • Tasks

Code Organization

  • Modules
  • Packages

Metaprogramming

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

Reading and Writing Data

  • Filesystem
  • Data I/O
  • Lower Level Data I/O
  • Dataframes

Distributions and Statistics

  • Defining distributions
  • Interface for evaluating and sampling from distributions
  • Mean, variance and covariance
  • Hypothesis testing
  • Generalized linear models: a linear regression example

Plotting

  • Plotting packages: Gadfly, Winston, Gaston, PyPlot, Plotly, Vega
  • Introduction to Gadfly
  • Interact and Gadfly

Parallel Computing

  • Introduction to Julia's message passing implementation
  • Remote calling and fetching
  • Parallel map (pmap)
  • Parallel for
  • Scheduling via tasks
  • Distributed arrays

Nos Clients témoignent

★★★★★
★★★★★

Catégories Similaires

Cours Similaires

Réduction spéciale

Newsletter offres spéciales

Nous respectons le caractère privé de votre adresse mail. Nous ne divulguerons ni ne vendrons votre adresse email à quiconque
Vous pouvez toujours modifier vos préférences ou vous désinscrire complètement.

Nos clients

is growing fast!

We are looking for a good mixture of IT and soft skills in Belgium!

As a NobleProg Trainer you will be responsible for:

  • delivering training and consultancy Worldwide
  • preparing training materials
  • creating new courses outlines
  • delivering consultancy
  • quality management

At the moment we are focusing on the following areas:

  • Statistic, Forecasting, Big Data Analysis, Data Mining, Evolution Alogrithm, Natural Language Processing, Machine Learning (recommender system, neural networks .etc...)
  • SOA, BPM, BPMN
  • Hibernate/Spring, Scala, Spark, jBPM, Drools
  • R, Python
  • Mobile Development (iOS, Android)
  • LAMP, Drupal, Mediawiki, Symfony, MEAN, jQuery
  • You need to have patience and ability to explain to non-technical people

To apply, please create your trainer-profile by going to the link below:

Apply now!

This site in other countries/regions