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 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.