Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Julia Programming for Data Science and Machine Learning

Packt via Coursera

Overview

Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
This course covers the application of Julia v1.8.x in the areas of scientific computing and data science. The course will be of use to those with some previous knowledge of Julia or as a primer for programmers familiar with other scripting or compiled languages. This resource provides a practical guide to mastering Julia, a high-performance programming language ideal for scientific computing, data analysis, and machine learning. It helps developers enhance their existing programming skills by introducing Julia’s powerful features and applications. The content is structured to support hands-on learning and real-world problem-solving. After a brief introduction to code simple scripts, the next few sections introduce major topics in Julia such as the type system, meta-programming and modularisation. The remainder of the course continues with practical discussions by separate topics, concluding with a look at some of the fringe features in Julia, such as optimal coding techniques, debugging and creating packages This resource is ideal for developers with experience in scripting or compiled languages like Python, R, C, or Java who want to expand their skill set with Julia. It assumes a basic understanding of programming concepts and focuses on practical application.

Syllabus

  • The Julia Environment
    • This module introduces learners to the Julia programming environment, highlighting its unique features, performance advantages, and philosophy compared to other languages. You will explore Julia's scoping rules, macro system, and integration with tools like Jupyter and Pluto notebooks. The module also covers package management, inline graphics, and Julia's capabilities in statistics and mathematics.
  • Developing in Julia
    • This module introduces key programming concepts in Julia, including primitive types, arrays, recursion, and matrix operations. Learners will explore data structures, pattern matching with regular expressions, and practical applications such as generating Julia sets and working with data frames. By the end, you'll be equipped to handle both foundational and advanced data manipulation tasks in Julia.
  • The Julia Type System
    • This module explores the foundational elements of Julia's type system, including closures, variable argument functions, and composite data types. Learners will gain hands-on experience with modularization, multiple dispatch, and practical problem-solving using Julia, such as implementing the Queens Problem and working with multidimensional vectors. By the end, you'll understand how Julia's unique features support scientific programming and data science applications.
  • The Three Ms
    • This module delves into Julia's advanced programming features, including multiple dispatch, metaprogramming, macros, and code generation. Learners will explore how these tools enable dynamic and efficient code, as well as best practices for macro hygiene and testing. Practical examples illustrate how to leverage these capabilities for robust and flexible software development.
  • Interoperability
    • This module explores how Julia interacts with other programming languages and the operating system, enabling seamless integration and parallel processing. Learners will discover practical techniques for calling routines from Fortran, C++, Python, R, Java, and Perl, as well as handling process I/O and text processing tasks. By the end, you'll be equipped to leverage Julia's interoperability features for efficient, multi-language workflows.
  • Working with Data
    • This module introduces learners to handling real-world data in Julia, including reading and writing various file formats such as text, binary, CSV, HDF5, and XML. Learners will explore time series data, work with DataFrames, and perform basic statistical analysis using built-in and external datasets. By the end, you'll be equipped to manage, analyze, and manipulate diverse data sources in Julia.
  • Scientific Programming
    • This module introduces key computational techniques in scientific programming using Julia, including solving simultaneous equations, working with eigenvectors, and processing signals and images. Learners will explore ordinary and stochastic differential equations, automatic differentiation, and optimization methods, applying these concepts to real-world scenarios such as bank queue modeling. By the end, students will gain practical skills in mathematical modeling and numerical analysis.
  • Visualization
    • This module introduces learners to visualization in Julia, covering key graphics packages such as Luxor, Gadfly, Gaston, GR, and StatsPlots. You will explore both raster and vector graphics, learn to leverage visualization frameworks, and perform basic image processing tasks like cropping and resizing. By the end, you'll be equipped to select and use appropriate Julia tools for creating and manipulating visual data.
  • Database Access
    • This module explores various methods for accessing and managing data stored in different types of databases, including relational, NoSQL, and embedded systems. Learners will gain practical experience interfacing with databases using tools like SQLite, PostgreSQL, ODBC, and RESTful APIs, as well as leveraging Julia's Queryverse for data analysis. The module also highlights the differences between database architectures and their appropriate use cases.
  • Networks and Multitasking
    • This module explores how to build networked and multitasking applications using Julia, covering topics such as socket programming, inter-process communication, web servers, and distributed computing. Learners will gain hands-on experience with tools like UDP/TCP sockets, named pipes, middleware frameworks, and parallel processing techniques. The module also introduces key packages for web development and big data handling in Julia.
  • Julia's Back Pages
    • This module explores advanced Julia tools and workflows, including command-line options, argument parsing, system images, and performance optimization. Learners will also discover how to profile code, use live code revision, and create well-structured Julia packages. By the end, you'll be equipped to streamline your Julia development and enhance your productivity.

Taught by

Packt - Course Instructors

Reviews

Start your review of Julia Programming for Data Science and Machine Learning

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.