High performance machine learning and data analysis with Julia
Learn to perform a range of tasks from everyday data wrangling to developing highperformance AI and machine learning algorithms using Julia
Join Julia cocreator and Professor of Mathematics at MIT and CSAIL, Alan Edelman, for a handson, indepth exploration of the Julia Language.
Julia combines the ease of use of R and Python with the performance of C++, Java, and Fortran. With Julia, you'll get a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library as well as more than 1200 packages in the Julia ecosystem that range across a variety of scientific and business disciplines.
In this course, you’ll gain a thorough understanding of Julia and learn how build your own machine learning algorithms at scale.
What you'll learnand how you can apply it
By the end of this live, online course, you'll understand:
 Data munging and analysis on large volumes and variety of data in Julia
 How to develop effective prototypes in a short time in Julia How to easily convert prototyped models into realworld applications in Julia
 Various concepts that aid the writing of highperformance and fast code in Julia
And you'll be able to:
 Use Julia effectively for variety of applications, such as building a recommender system from scratch with support of Julia’s extensive mathematical function library
 Build larger endtoend applications, such as an analytics platform for asset management
 Build highperformance machine learning algorithms using Julia
 Effectively use various resources, development platforms within Julia
 Better collaborate with analysis and development teams
 Effectively use GitHub to get help and collaborate with the Julia community
This training course is for you because...
You are a data analyst with at least 2+ years experience who wants to build high performance functional prototypes of datarelated applications in your organization.
You are computer science student finishing up college, and would like to get an edge over fellow students to get exciting and lucrative job offers.
You are a developer writing code in C/C++ and would like to use a higher level language to save time and effort.
Prerequisites
Some basic knowledge of scripting languages, such as PERL, or Python, and at least one highlevel programming language, such as C or MATLAB.
Materials or downloads needed in advance:
 You'll need to install JuliaPro (preferred) or Juliabox.com
Recommended Preparation
About your instructor

Alan Edelman is Professor of Applied Mathematics, and in 2004 founded Interactive Supercomputing (recently acquired by Microsoft). He received the B.S. & M.S. degrees in mathematics from Yale in 1984, and the Ph.D. in applied mathematics from MIT in 1989 under the direction of Lloyd N. Trefethen. Following a year at Thinking Machines Corp and at CERFACS in France, Edelman went to U.C. Berkeley as a Morrey Assistant Professor and Lewy Fellow, 199093. He joined the MIT faculty in applied mathematics in 1993. Edelman's research interests include high performance computing, numerical computation, linear algebra and stochastic eigenanalysis (random matrix theory). He has consulted for Akamai, IBM, Pixar, and NKK Japan among other corporations.
A Sloan fellow, Edelman received an NSF Faculty Career award in 1995. He has received numerous awards, among them the Gordon Bell Prize and Householder Prize (1990), the Chauvenet Prize (1998), the Edgerly Science Partnership Award (1999), the SIAM Activity Group on Linear Algebra Prize (2000), and the Lester R. Ford Award, (2005). In 2011, Edelman was selected a Fellow of SIAM, for his contributions in bringing together mathematics and industry in the areas of numerical linear algebra, random matrix theory, and parallel computing.
Schedule
The timeframes are only estimates and may vary according to how the class is progressing
Segment 1 Getting started with Julia (15 mins)
 Introduction to the Julia language
 Demonstration of various Julia tools and IDEs using a simple program
 How to load a small dataset and produce a plot
Segment 2 Julia Basics (20 mins)
 Data types, control flow, arrays
 Introduction to type systems and multiple dispatch in Julia
Segment 3 Handling data in Julia (20 mins)
 Refresher intro to Linear Algebra with examples in Julia
 How to perform fast array operations in Julia
 Handling File I/O(JLD, CSV)
 How to call C functions from Julia
Q&A/break (5 mins)
Segment 4 Fast data analysis using Julia (25 mins)
 Introduction to basic statistical and data manipulation
 Demo: Deep learning for character recognition
Segment 5 Parallel processing (20 mins)
 Introduction to parallelism in Julia
 Shared and distributed arrays
 Short demos of parallel tasks
Segment 5 Julia and the external world (10 mins)
 Calling C functions from Julia
 Interoperability with Python and R
Q&A (5 mins)