Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Introduction to Julia
- The role of Julia in specialized computational niches
- Enhancing data analysis capabilities with Julia
- Objectives and outcomes of this course for government professionals
- Initial steps with Julia's Read-Eval-Print Loop (REPL)
- Alternative development environments: Juno, IJulia, and Sublime-IJulia
- The Julia ecosystem: accessing documentation and package search tools
- Seeking additional support: Julia forums and community resources for government users
Strings: Hello World
- An introduction to the Julia REPL and batch execution through a "Hello World" example
- Exploring different string types in Julia
Scalar Types
- Understanding variables: the significance of names and types in programming for government applications
- Integer data types
- Floating-point numbers
- Complex numbers
- Rational numbers
Arrays
- Vectors for one-dimensional data storage
- Matrices for two-dimensional data representation
- Multi-dimensional arrays for complex data structures
- Heterogeneous arrays (cell arrays) for mixed data types
- Comprehensions for concise array creation and manipulation
Other Elementary Types
- Tuples for fixed-size, immutable collections
- Ranges for sequence generation
- Dictionaries for key-value data storage
- Symbols for unique identifiers in code
Building Your Own Types
- Abstract types for defining hierarchical type structures
- Composite types for creating structured data objects
- Parametric composite types for flexible and generic data definitions
Functions
- Defining functions in Julia to perform specific tasks
- Julia functions as methods operating on different data types
- Multipledispatch: a key feature of Julia's function design
- Comparison of multiple dispatch with traditional object-oriented programming for government applications
- Parametric functions for generic operations
- Functions that modify their input parameters
- Anonymous functions for temporary or inline operations
- Optional and required function arguments for flexible function usage
Constructors
- Inner constructors for initializing type instances within the type definition
- Outer constructors for creating type instances outside the type definition
Control Flow
- Compound expressions and variable scoping in Julia
- Conditional evaluation for decision-making in code
- Loops for iterative operations
- Exception handling for robust error management
- Tasks for concurrent execution of code segments
Code Organization
- Modules for organizing and encapsulating related code components
- Packages for distributing reusable code libraries in the government sector
Metaprogramming
- Symbols for representing code elements as data
- Expressions for building and manipulating code structures
- Quoting for creating unevaluated expressions
- Internal representation of Julia code for low-level manipulation
- Parsing for converting text into executable code
- Evaluation for executing code dynamically
- Interpolation for embedding values directly into strings and expressions
Reading and Writing Data
- File system operations in Julia
- Data input/output (I/O) for handling files and streams
- Lower-level data I/O for precise control over file access
- Dataframes for managing tabular data efficiently
Distributions and Statistics
- Defining probability distributions in Julia
- Methods for evaluating and sampling from distributions
- Statistical measures such as mean, variance, and covariance
- Hypothesis testing for statistical inference
- Generalized linear models: an example using linear regression for government data analysis
Plotting
- An overview of plotting packages in Julia: Gadfly, Winston, Gaston, PyPlot, Plotly, and Vega
- Introduction to the Gadfly package for creating high-quality visualizations
- Combining Interact and Gadfly for interactive data exploration
Parallel Computing
- An introduction to Julia's message passing implementation for parallel computing
- Remote calling and fetching for distributed execution
- Parallel map (pmap) for applying functions across multiple processors
- Parallel for loops for concurrent iteration
- Scheduling tasks for efficient resource management
- Distributed arrays for large-scale data processing in government applications
Requirements
Familiarity with programming is beneficial but not required. This course is designed to instruct participants in the fundamentals of the Julia programming language in a comprehensive and self-contained manner, tailored for government professionals.
14 Hours
Testimonials (1)
everything about Julia