Julia for Programmers

Varighet: 3 dager, 09:00 -16:00

Pris: Ta kontakt for pris

Kurskategori: KI og Maskinlæring

Julia is a modern general purpose language. It was conceived to solve the two-language problem within scientific computing: algorithms are often developed in an expressive language such as Python or R, but have to be rewritten to Fortran or C to achieve desired performance. With Julia you only need one language, because Julia can walk like Python and run like C.

This three-day course is designed for developers with experience of other languages such as Python, R, Matlab, or Java and who want to get up to speed on Julia.

The course focuses on teaching good software engineering such as structuring your code into well organized small functions rather than writing large messy scripts. With knowledge of Julia you will be able to write high performance code for scientific computing, data science, and machine learning.

  • We teach using engaging code examples such as how to simulate a space rocket.
  • Emphasize writing testable and verifiable code.
  • Hands-on training with exercises.
  • Taught on Windows, Linux or Mac OS X.

Topics

  • Built-in types
  • Flow control and exceptions
  • Defining types and subtypes
  • Defining functions and utilizing multiple dispatch
  • Program organisation with modules and packages
  • The Julia standard library
  • Obtaining and installing Julia packages
  • Functional programming
  • Object-oriented programming
  • Reading and writing tabular data
  • Debugging and testing

 

Agenda

Day 1 – Language Tour

• Setting up your Julia environment
• Writing and running your first Julia program
• The REPL and help system
• Why does Julia exist and where is it used?
• Using Julia as a calculator or
spreadsheet
• Common types like numbers, strings, arrays and dictionaries
• Defining functions
• Conditional statements
• While loops and for loops
• Working with text
• Julia’s advance type system and multiple dispatch
• Type hierarchy for numbers

Day 2 – Types

• Defining your own types
• Conversion and promotion
• Define your own units
• Undefined, missing or no values. Julia’s different concepts of nothing.
• Strings in depth: unicode, codepoints and UTF-8
• String operations
• Regular expressions, MIME types and
other string literals
• Collection types and supported operations
• Iteration
• Multi-dimensional arrays
• Sets and set operations
• Named arguments and variable
number of arguments

Day 3 – Modularization

Higher order functions
• Function composition
• Chaining of functions
• Partial application of functions
• Modules
• Adding packages
• Package dependencies
• Environments
• Working with files
• String representation of objects.
• Asynchronous code with coroutines,
tasks and channels
• Simple client-server network
communications
• Creating your own collections using
parametric types

Dette kurset levers kun som bedriftsinternt kurs. Ta kontakt med kurs@bouvet.no

 

Ønsker du å samle flere ansatte til et bedriftsinternt kurs?

Finner du ikke det helt optimale kurset eller kombinasjonen av kurs? Da ordner vi det - sammen. Vi kan tilrettelegge kurs slik at de inneholder akkurat det dere har behov for. Vi kan sette opp et helt nytt kurs, eller tilpasse eksisterende kurs og materiell. Flere medarbeidere kan selvfølgelig også samles til et eget felles kurs, for maksimal effektivitet. Ta kontakt med meg for et forslag til gjennomføring og et tilbud basert på deres behov.

Henrik Buzzi
Produktansvarlig