Julia for Programmers - bedriftsinternt



Kursarrangør: Bouvet
Sted: Hele landet, Vi kommer til din bedrift
          
Type:Bedriftsinternt / Større grupper
Undervisningstid: Ta kontakt for avtale
Varighet: 3 days
Pris: Avtales

We provide course about Julia for Programmers for businesses. This 3-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.

Content:
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.

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

Program 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

Program 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

Program 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

Target audience:
Businesses