# Advanced Julia Tutorials

**URL:** <https://discourse.julialang.org/t/advanced-julia-tutorials/25633>\
**Category:** General Usage\
**Tags:** tutorials\
**Created:** [June 25, 2019, 12:08am UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633 "2019-06-25T00:08:05Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![ccoffrin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ccoffrin/32/400_2.png) [@ccoffrin](https://discourse.julialang.org/u/ccoffrin)\
**Post date:** [June 25, 2019, 12:08am UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633/1 "2019-06-25T00:08:05Z")

</div>

I have been able to find a wide range of “getting started” guides to Julia, but I am at a point where I would like to learn more advanced features, for example, designing systems leveraging multiple inheritance, macros, metaprogramming, and performance improvement work flows (@code inspection, etc, …). I am finding it difficult to find tutorials on these topics. Any suggestions?

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [June 25, 2019, 12:15am UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633/2 "2019-06-25T00:15:12Z")

</div>

I gave an intermediate tutorial at JuliaCon 2016 that covers some of these topics, and will be giving another one at JuliaCon 2019 next month.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [June 25, 2019, 4:06am UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633/3 "2019-06-25T04:06:32Z")

</div>

You can have a look at the course we gave a couple of months ago

> **[GitHub - mfalt/juliacourse](https://github.com/mfalt/juliacourse)**
>
> Contribute to mfalt/juliacourse development by creating an account on GitHub.

Slides/notebooks are in the respective lecture folders, with shortcuts below

## Lectures

- [Intro](https://github.com/mfalt/juliacourse/blob/master/lecture1/presentation.pdf)
- [Types, functions multiple dispatch](https://github.com/mfalt/juliacourse/blob/master/lecture2/presentation.pdf)
- [Performance and profiling](https://github.com/mfalt/juliacourse/blob/master/lecture3/performance.pdf)
- [Workflow](https://github.com/mfalt/juliacourse/blob/master/lecture4/presentation.pdf)
- [ControlSystems.jl](https://github.com/mfalt/juliacourse/tree/master/lecture5)
- [Optimization and Learning](https://github.com/mfalt/juliacourse/tree/master/lecture6)
- [Parallel and distributed computing](https://github.com/mfalt/juliacourse/blob/master/lecture7/distributed.pdf)
- [Labs and hardware in Julia](https://github.com/mfalt/juliacourse/blob/master/lecture8/presentation.pdf)

---

<div class="post-metadata">

**Author:** ![BeastyBlacksmith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/beastyblacksmith/32/4741_2.png) [@BeastyBlacksmith](https://discourse.julialang.org/u/BeastyBlacksmith)\
**Post date:** [June 25, 2019, 7:45am UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633/4 "2019-06-25T07:45:33Z")

</div>

I try to collect good learning material [here](https://etherpad.net/p/Julia_teaching-material).

---

<div class="post-metadata">

**Author:** ![ccoffrin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ccoffrin/32/400_2.png) [@ccoffrin](https://discourse.julialang.org/u/ccoffrin)\
**Post date:** [August 16, 2019, 4:50pm UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633/5 "2019-08-16T16:50:54Z")

</div>

@dpsanders can you provide a link to your more advanced JuliaCon tutorial?

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [August 16, 2019, 5:08pm UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633/6 "2019-08-16T17:08:31Z")

</div>

The notebooks are at

> **[GitHub - dpsanders/intermediate\_julia\_2019](https://github.com/dpsanders/intermediate_julia_2019)**
>
> Contribute to dpsanders/intermediate\_julia\_2019 development by creating an account on GitHub.

The video should be available soon.

---

<div class="post-metadata">

**Author:** ![hsm207](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hsm207/32/12066_2.png) [@hsm207](https://discourse.julialang.org/u/hsm207)\
**Post date:** [January 3, 2020, 6:56am UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633/7 "2020-01-03T06:56:58Z")

</div>

@dpsanders Is the video already available? I couldn’t find it in any of the JuliaCon 2019 videos on youtube

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [January 3, 2020, 8:30am UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633/8 "2020-01-03T08:30:06Z")

</div>

Unfortunately the quality was not very good, so it has not been posted.

---

<div class="post-metadata">

**Author:** ![oxinabox](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oxinabox/32/206603_2.png) [@oxinabox](https://discourse.julialang.org/u/oxinabox)\
**Post date:** [January 3, 2020, 12:50pm UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633/9 "2020-01-03T12:50:23Z")

</div>

I wrote a pair of blog posts includes some advanced things like implementing Cassette, and traits

> **[The Emergent Features of JuliaLang: Part I](https://invenia.github.io/blog/2019/10/30/julialang-features-part-1/)**
>
> Introduction

> **[The Emergent Features of JuliaLang: Part II - Traits](https://invenia.github.io/blog/2019/11/06/julialang-features-part-2/)**
>
> Introduction

---

<div class="post-metadata">

**Author:** ![ea42gh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ea42gh/32/12000_2.png) [@ea42gh](https://discourse.julialang.org/u/ea42gh)\
**Post date:** [January 3, 2020, 10:46pm UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633/10 "2020-01-03T22:46:45Z")

</div>

MIT Open Courseware 18.337 and related courses have a lot of good material.  
In particualr, check out the lectures in [https://github.com/alanedelman/18.337\_2018](https://github.com/alanedelman/18.337_2018) and the web page [http://courses.csail.mit.edu/18.337/2018/](http://courses.csail.mit.edu/18.337/2018/)

---

<div class="post-metadata">

**Author:** ![ea42gh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ea42gh/32/12000_2.png) [@ea42gh](https://discourse.julialang.org/u/ea42gh)\
**Post date:** [January 5, 2020, 2:03am UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633/11 "2020-01-05T02:03:22Z")

</div>

For information about parallel processing,  
the free course at [https://juliaacademy.com/](https://juliaacademy.com/)  
has a lot of good information

---

<div class="post-metadata">

**Author:** ![ccoffrin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ccoffrin/32/400_2.png) [@ccoffrin](https://discourse.julialang.org/u/ccoffrin)\
**Post date:** [March 27, 2020, 5:25pm UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633/12 "2020-03-27T17:25:00Z")

</div>

For anyone who may come across this thread. I found this video a nice intermediate talk about making Julia code run fast.

[![](https://global.discourse-cdn.com/julialang/original/3X/4/6/46684ee27b0db777064db22e2fb1a05203a8da49.jpeg "JuliaCon 2018 | Engineering Julia for Speed | Lionel Zoubritzky") ](https://www.youtube.com/watch?v=XWIZ_dCO6X8)

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [March 21, 2021, 5:00pm UTC](https://discourse.julialang.org/t/advanced-julia-tutorials/25633/13 "2021-03-21T17:00:07Z")

</div>

> **[GitHub - mitmath/18337: 18.337 - Parallel Computing and Scientific Machine...](https://github.com/mitmath/18337)**
>
> 18.337 - Parallel Computing and Scientific Machine Learning - GitHub - mitmath/18337: 18.337 - Parallel Computing and Scientific Machine Learning

[http://ucidatascienceinitiative.github.io/IntroToJulia/](http://ucidatascienceinitiative.github.io/IntroToJulia/)

I’d put both somewhere in-between beginner and advanced depending on what page you’re on.
