# 2021 Recommended self-teaching Julia material depending on computing skills

**URL:** <https://discourse.julialang.org/t/2021-recommended-self-teaching-julia-material-depending-on-computing-skills/60551>\
**Category:** Teaching & Outreach\
**Tags:** teaching\
**Created:** [May 4, 2021, 11:11pm UTC](https://discourse.julialang.org/t/2021-recommended-self-teaching-julia-material-depending-on-computing-skills/60551 "2021-05-04T23:11:11Z")\
**Posts on this page:** 4\
**Page:** 2

<div class="post-metadata">

**Author:** ![RogerP](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rogerp/32/17496_2.png) [@RogerP](https://discourse.julialang.org/u/RogerP)\
**Post date:** [May 9, 2021, 5:57pm UTC](https://discourse.julialang.org/t/2021-recommended-self-teaching-julia-material-depending-on-computing-skills/60551/21 "2021-05-09T17:57:15Z")

</div>

Well, I beg to differ about the George Root book. [Edit:] I don’t love it. The front cover gives it away as it shows the author has just picked up the language coming from a Python background. The book just explains the syntax of Julia but not as well as the official and excellent on-line manual, which is always up to date. A book like Root’s will be out of date in the blink of an eye as Julia is maturing rapidly.

It depends on the level of the student to some extent but learning Julia at the level taught in Root’s book is trivial anyway – it’s just syntax plus dataframes and plotting using PyPlot. If that’s all you want to do your students to learn, you may as well use Python or MATLAB.

At the other end of the spectrum is [Hands on Design Patterns and Best Practices with Julia](https://www.packtpub.com/product/hands-on-design-patterns-and-best-practices-with-julia/9781838648817) by Tom Kwon. This teaches you how to write Julia programs sensiblly. Starting with the correct structural basics is much more important than throwing syntax at people. Anyone can learn syntax but IMHO the whole point of Julia is its elegance and the way it inherently forces you to adopt good practice but only if you have some understanding of good practice.

I speak from some 30 years’ experience having taught FORTRAN, Pascal, Java and even a little Erlang to university students. But I learned from my mistakes such as teaching students how to program well by focusing on good practice and making fun of bad practice seemed to lead to more engagement and much better outcomes. Rant, rant, rant somebody stop me.

---

<div class="post-metadata">

**Author:** ![Satvik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/satvik/32/20486_2.png) [@Satvik](https://discourse.julialang.org/u/Satvik)\
**Post date:** [May 9, 2021, 6:48pm UTC](https://discourse.julialang.org/t/2021-recommended-self-teaching-julia-material-depending-on-computing-skills/60551/22 "2021-05-09T18:48:55Z")

</div>

Seconding Tom Kwong’s book for people in categories 2 or 3. It’s a well-written, extremely approachable overview. No one will use everything in it, but almost everyone will learn something.

---

<div class="post-metadata">

**Author:** ![Henri\_Laurie](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/henri_laurie/32/5079_2.png) [@Henri\_Laurie](https://discourse.julialang.org/u/Henri_Laurie)\
**Post date:** [May 10, 2021, 3:05pm UTC](https://discourse.julialang.org/t/2021-recommended-self-teaching-julia-material-depending-on-computing-skills/60551/23 "2021-05-10T15:05:07Z")

</div>

Eish, I am blushing. The real reason is that i am just not as productive as the youngsters!

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [May 10, 2021, 7:00pm UTC](https://discourse.julialang.org/t/2021-recommended-self-teaching-julia-material-depending-on-computing-skills/60551/24 "2021-05-10T19:00:20Z")

</div>

@Henri_Laurie, we all learn from mistakes and people are afraid to make them, so the title of your beginners course is spot on.

_ **NB:** _  
_To get back one’s youth one has merely to repeat one’s follies (Oscar Wilde)_

[Previous page](https://discourse.julialang.org/t/2021-recommended-self-teaching-julia-material-depending-on-computing-skills/60551.md?page=1)
