
Explore Julia programming, developed at MIT, for scientific, technical, and statistical computing, highlighting built-in functions, libraries, and contributions from data scientists that enable efficient machine learning and deep learning workflows.
Setting up VS Code Julia Extension OR Juno as Julia programming development environment. Although, you can use any other editor/tool you prefer to write and run Julia code.
Learn Julia's core datatypes: integers, floating point numbers, and rational numbers, covering type checks with typeof, ranges of values, and conversions using round, ceil, floor, numerator, denominator, rationalize.
Create 4 + 2im in julia and inspect real and imaginary parts. Use constructors, compute abs and angle, and note that division or modulo is not allowed on complex numbers.
Learn to read user input in Julia with input() and readline(), convert inputs to Float64, and compute the sum of squares. Use @sprintf (Printf) for formatted output and include scripts.
Explore how tuples in Julia represent fixed, immutable data, including mixed-type and named tuples with indexing, dot notation, missing values, and merging capabilities.
Explore how dot syntax enables elementwise broadcasting on tuples in Julia, performing arithmetic, functions, comparisons, and logical operations elementwise on same-length tuples, with fusing dot operators.
Learn to create and mutate one-dimensional arrays (vectors) in Julia, including in-place updates with replace, push!, and splice. Explore vector operations, broadcasting with dot syntax, and range-based creation via collect.
Explore 2D arrays and matrices in Julia: create, index, replace, extract submatrices, flatten and reshape, and perform element-wise and matrix multiplication, with zeros, ones, fill, identity, random matrices, and det.
Explore constructing and manipulating multi-dimensional arrays in Julia, from vectors and matrices to three- and four-dimensional tensors, using reshape, indexing, subarrays, and in-place updates with copy and fill!
Extract and transpose 2x2 submatrices from arr10. Use vcat or hcat to form a 4-by-2 matrix with rows 24 22, 12 10, 15 13, 3 1, in Julia.
Construct and mutate dictionaries in Julia by pairing keys with values, using Dict and various constructors, then update, access, and verify keys with haskey and in.
Julia programming for machine learning: map digits to words using a dictionary dt, read a number, convert digits with array comprehension, and print the result in repl.
Explore how compound expressions simplify control flow in Julia, using begin end blocks, semicolon chains, and parentheses to perform calculations and evaluate results.
Explore if-else and elseif syntax in Julia, with a ternary operator. Determine triangle types: equilateral, isosceles, scalene; get inputs from the user and validate side lengths.
Explore a Julia program that reads three triangle side lengths, validates them with all() and a+b>c checks, and classifies the triangle as equilateral, isosceles, or scalene.
Explore the break and continue in Julia to control loop iterations. See how break stops at a condition and continue skips characters, with vowels and consonants illustrated.
Convert a Julia for loop to a while loop, manage a counter i, apply break, and practice with an array to print numbers until a value divisible by 17.
Build a Julia card-deck picker game with five attempts to match a machine's value and an interval prime finder that lists primes or shows relevant error messages.
Create a Julia prime finder that reads an interval, validates bounds as natural integers, uses any() to test primality, and prints primes or a no-primes message.
Explore map, filter, and reduce in Julia using anonymous functions, the do keyword, and pipe-based function composition to transform ranges, tuples, and two- or three-variable inputs.
Define functions with multiple arguments and convert z to a keyword argument using a semicolon, then assign a default value to z to make it optional.
Define fn7 with mandatory args a, b, c and optional kw1, kw2; assert types with double colons: a,b integers, c float, kw1 integer, kw2 string, plus REPL demonstrations.
Explore varargs functions in Julia, defining functions with a variable number of arguments using an ellipsis and a tuple. Also handle arbitrary keyword arguments via kwargs as a NamedTuple.
Explore how Julia implements multiple dispatch by defining a single function with multiple methods for various argument types, enabling dynamic dispatch and flexible input combos.
Explore Julia's primitive and composite types, define a CartesianPoints struct, instantiate points, and use mutable versus immutable types to access and modify coordinates x and y.
Define abstract and composite types in Julia, create Points2D and Points3D with x, y, and z, and extend dist with multiple methods to compute 2D, 3D, and origin distances.
Learn two Julia tasks: implement find_num for primes or squares in Int16 with typed and optional args, and create a Shapes hierarchy to compute area and perimeter via area_peri.
Explore Julia's Expr() constructor by inspecting ASTs, symbols, and :call heads, then build expressions using Polish (prefix) notation and the expression constructor to reproduce results.
Discover how the Julia compiler converts strings to code, then use metaprogramming to inspect abstract syntax trees and construct expressions with polish notation via Meta.parse and eval.
Construct expression object xpr5 with the Expression constructor, build sub-expressions a = 2, b = 3, c = 4, and a multiplied by b plus c, then evaluate to 10.
Learn to construct Julia expressions using quote blocks and the Expression constructor with Polish notation, then inspect the AST with dump and run via eval.
Explore Julia macros such as @elapsed, @allocated, and @which to measure time, memory, and locate code origins. See @eval and @sprintf from the Printf library for formatting and evaluating expressions.
Define enumerated types with Julia's @enum macro, creating Quadrilateral and Polygon with instances like square and triangle; use instances() to view their values and define a function to print them.
Create and use macros in julia by defining @hello and @fnvalue, exploring macro arguments, and extending with multiple methods, while inspecting results with @macroexpand and @macroexpound.
Create a @fibo macro in Julia to generate fibonacci numbers using three arguments: n, init, and block, and run it in REPL to produce output.
Basic matrix operations
UniformScaling objects and Identity matrix
Division of a matrix by another matrix
Inverse of a matrix
Pseudoinverse
Condition number
Right division and left division
Left inverse and right inverse
Power of a matrix and matrix as power
Concatenation
Slicing matrices into row and column vectors
Diagonal elements in a matrix
Adjoint and transpose
Dot product and cross product
Norm
Transformation of vectors
Explore how Julia identifies and constructs matrices with special structures, including lower and upper triangular, diagonal, tri-diagonal, bi-diagonal, Hessenberg, symmetric, and hermitian, using LinearAlgebra.
LU decomposition
Cholesky decomposition
LDLt decomposition
Bunch-Kaufman decomposition
QR decomposition
LQ decomposition
Hessenberg decomposition
Schur decomposition
Singular value decomposition
Explore rank and null space in Julia by linking matrix representations to linear transformations, using rank(), nullspace(), and nonzero singular values to define image and kernel.
Discover how to manipulate tabular data in Julia using the DataFrames and CSV packages, and learn to install these packages with Pkg and JuliaPro for data analysis.
Create and manipulate julia data frames with the DataFrames package, from empty frames to adding letter and index columns, constructing from vectors or dicts, and comparing df1, df2, df3.
Learn to import and read data as a DataFrame in Julia using CSV and DataFrames. Explore Occupation.csv with 153 rows and 6 columns, manipulating columns by name, index, or regex.
Learn to filter data frames in Julia by age, work experience, state, and profession with logical arrays, then sort by name, age, and profession using length and reverse options.
Load CSV and DataFrames modules, import Occupation data as df, add a ratio column from work experience divided by age rounded to 3 decimals, and reshape with stack and unstack.
Apply the split-apply-combine approach to a data frame by grouping by profession (and sex and state), applying functions like nrow, mean age, and cor, and compiling aggregate statistics.
Identify missing entries in a Julia data frame and decide between dropping affected rows or columns, or imputing with mean or median values to preserve predictive accuracy.
Learn to work with dates and times in Julia using the Dates module. Build Date, DateTime, and Time objects, format them, and extract components for time series in time zones.
Explore Julia's dates module to query leap years, day of year, quarters, and month or day names, switch locales such as Spanish, and use adjusters, rounding, ranges, and weekend filtering.
Study Julia's Dates module export list and use now, today, Date, Time, and DateTime to compute durations; create, convert, and compare Period and CompoundPeriod objects for date arithmetic.
Learn to create and access time series data in Julia with TimeArray, generating random observations, constructing from timestamps, renaming columns, plotting trends, and indexing by dates and columns.
Learn to filter and aggregate TimeArray data in Julia's TimeSeries module using when, findwhen, findall, and in to query days, weeks, quarters, and weekdays.
Explores time-series manipulation with TimeArray in Julia, covering lag(), lead(), diff(), percentchange(), moving() and map() transformations, and exporting results; introduces halfofyour() and tertileofyear() functions and anonymous moving-window design.
Load and preprocess olist data using Julia, convert Portuguese product categories to English, aggregate order costs by order id, adjust timestamps to Brazil time, and build a consolidated dataframe.
Identify the most frequent buyer in the olist data using a DataFrame and TimeArray, then compute spend by product_category and track purchase_timestamp with groupby operations.
Analyze e-commerce data with TimeArray-driven visualizations across five Brazilian cities. Compare monthly revenue and items purchased, and examine moving-window trends in revenue and orders from Olist.
Visualize order time intervals using the TimeArray olist_ta with two side-by-side plots for five Brazilian cities and global customers, then map 73 categories to 7 timeslots and 8 weekdays.
Explore linear regression using the least squares method to minimize residuals and derive the regression line y = ax + b for simple and multiple regression.
Explore building a simple linear regression in Julia using the Body_Brain_Wt.csv dataset to predict brain weight from body weight, with a training and test split and a regression line plot.
Set working directory, import body brain weight CSV, create 2-column df with body weight independent and brain weight dependent, then split into training and test sets with shuffle for reproducibility.
Build a simple linear regression in Julia with glm, predicting brain weight from body weight. Assess significance, fit, and residuals using p-values, t-tests, and r-squared.
Apply simple linear regression in Julia to predict brain weight from body weight, compare actual brain weights vs predicted on the test set, and visualize training and test plots.
Build a multiple linear regression model in Julia to predict medical insurance charges from age, bmi, children, sex, smoker, and region, with data import, encoding, and train-test split.
Learn to encode categorical variables with label encoding, one-hot encoding, and dummy coding, then build a Julia linear regression model with eight coefficients to predict charges.
Build a multiple linear regression model in Julia using the medical insurance cost data, performing data import, preprocessing, encoding of categorical variables, and preparing train/test split.
Build a Julia GLM multiple linear regression with region dummy coding, evaluate with r-squared and residuals, refine by omitting sex, apply log transform, predict on test set, and export results.
Explore polynomial regression to fit curves to data, extending simple linear regression with higher degrees using least squares. Relate years of experience to salary by estimating coefficients a0, a1, a2.
Develop a polynomial regression model to predict CTC from years of experience, convert the first column to numeric, split data into training and test sets, and visualize results.
Welcome to this online course on Julia! This course is for anyone who wants to learn Julia programming for problem solving. Machine learning and data science are the well applied domains of Julia programming. Above all, Julia is a fast and highly efficient programming language for scientific computation. Master Julia syntax for coding through arranged topics and exercises in this course.
Full-fledged segment in this course is dedicated to know about core concept of data manipulation in Julia which is an essential part of data analysis.
This course includes 4 projects on “data analysis” and for building “machine learning models based on regression analysis”, to learn the usage of Julia packages for data analysis and machine learning.
With data manipulation and building machine learning models, we will see the usage of Julia package StatsPlots for data visualization.
By the end of this course, you will know how to work with Julia syntax for
writing Julia program.
working with several datatypes and data-structures.
creating and manipulating arrays.
working with raw text.
defining functions and macros.
metaprogramming.
creating objects from new datatype that can be defined in Julia.
Linear Algebra.
data manipulation in DataFrame and TimeArray objects.
building machine learning models for numeric prediction.
setting up data visualization tools.
See you inside the course!