
Take a bird's-eye view of the course syllabus, compare Julia to other languages, and preview corner cases, common Julia objects with special behavior, and advanced concepts.
Install the Julia extension in VS code and enable the Julia terminal for seamless code execution. Learn to trust workspace permissions, handle restricted mode, and run code with ctrl enter.
Discover how Julia handles data types, variables, and type inference; work with strings, characters, interpolation, arrays, dictionaries, and the one-based indexing.
Explore control flow in Julia with if statements, else if, end, and loops such as for and while, and note how scope differs from Matlab for variables.
Discover three approaches to writing functions in Julia: named functions, anonymous functions, and for each with do blocks, including examples across a vector of names.
Learn how to install and create Julia packages using pkg mode and the add command, including arrays of names or URLs, then use using or import to access functions.
Learn how to create your own package in julia by generating a package scaffold and activating the project folder. Then define dependencies and use instantiate to install them from github.
Install revise to automatically reload changes in your package, export functions, and choose between using and import to control what loads, while accessing inline documentation with the question mark.
Explore how the Julia pipe operator chains multiple functions in one line, applying stages like filtering temperatures above a threshold, converting to Fahrenheit, sorting, and calculating statistics.
Apply element-wise operations across arrays with the dot and broadcast operator in Julia, then transform strings from lowercase to uppercase and test with occurs in and length against the average.
Learn how to perform in-place, element-wise updates in Julia using broadcast assignment, including partial subarray updates, and the dot syntax to avoid creating new arrays.
Explore iterators in Julia, contrasting them with vectors for memory efficiency, using ranges and on-demand generation to access combinations without storing intermediary values.
Explore metaprogramming in Julia by using macros to transform code, create in-place operations and custom messages, and measure execution time, with a focus on understanding macro structure and usage.
Explore named tuples in Julia, using immutable tuples for fast data transfer between functions. Access fields with dots, unpack values, and return vectors of tuples for concise, performant code.
Define a Julia struct to create a new data type with title, author, and year, explore mutability with the mutable keyword, and implement functions like checkout and return.
Explore Julia's multiple dispatch by modeling an abstract shape and concrete types like circle, rectangle, and triangle, then define area methods for each shape to compute areas.
Explore parametric types by defining a point struct with x, y and z, all same type, where z may be nothing, and implement distance in 2d or 3d.
Are you a Python or MATLAB developer looking to level up your programming skills with a cutting-edge, high-performance language? This course offers the perfect opportunity to dive into Julia — a versatile, rapidly growing language that's becoming a go-to in fields like scientific computing, data science, and machine learning.
Throughout the course, you'll master the essentials of Julia, from understanding its data types and control flow structures to working with its powerful function system. You'll also uncover how Julia's standout features—such as multiple dispatch and parametric types—can simplify and accelerate your coding process, but may be confusing to understand at first sight.
You'll learn how to use its package manager and modules, as well as advanced tools like piping and broadcasting, which will help you write cleaner code. These tools are designed to boost your productivity by enhancing code organization, reusability, and sometimes, performance.
You’ll dig into advanced topics such as in-place operations, iterators, macros, named tuples, structs, and, of course, multiple dispatch. With these skills, you’ll be equipped to design custom data structures, write flexible, efficient functions, and tap into Julia’s powerful metaprogramming abilities.
By the end of this journey, you’ll have a deep understanding of Julia and the confidence to apply it to real-world projects. Whether you're working as a data scientist, researcher, or engineer, this course will arm you with the tools to thrive in the Julia programming landscape.