Introduction to Julia培训




14 小时 通常来说是2天,包括中间休息。


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.


本课程面向数据分析师和研究科学家。 Julia是一种快速兴起的编程语言,专注于数值准确性,科学计算和统计学。由于其执行速度和易编程性,它获得了大部分声誉。虽然确实如此,但不那么强调的是

  • Julia拥有丰富的内置和外部工具,可用于分布式和并行计算,
  • 它有助于构建用户定义的数据结构,
  • 它可以很容易地进行元编程,因此也可以定义自己的DSL,
  • 它允许与其他几种编程语言(如C,Python和R)进行交互,
  • 它提供了多调度编程范例,它在很多方面帮助您组织代码并使您成为更好的程序员和软件工程师。

Machine Translated


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


  • 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


  • 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


  • Inner constructors
  • Outer constructors

Control Flow

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

Code Organization

  • Modules
  • Packages


  • 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 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









is growing fast!

We are looking to expand our presence in China!

As a Business Development Manager you will:

  • expand business in China
  • recruit local talent (sales, agents, trainers, consultants)
  • recruit local trainers and consultants

We offer:

  • Artificial Intelligence and Big Data systems to support your local operation
  • high-tech automation
  • continuously upgraded course catalogue and content
  • good fun in international team

If you are interested in running a high-tech, high-quality training and consulting business.

Apply now!