From zero to Julia! Learn how to code in Julia

Hello! In the past few months I’ve been writing a series of introductory lessons to the Julia language. They cover the basics of Julia and gradually move on to more advanced topics, including plotting, parallel computing, GPU computing and code optimization.

Here is a complete list of the lessons:

This series of lessons is a work in progress, and as I write more material I will update the main page.

Currently I’m planning to write three more lessons, one about meta-programming, one on how to call other programming languages (such as c++, Mathlab, Fortran, etc) and finally one about type annotations and multiple dispatch.

Please let me know what you think about these lessons and if you have any suggestions on topics which you think should be covered!

54 Likes

I looked through a few of your lessons and I think they look very useful. One minor thing that might useful to add to your lessons on parallel computing is using @everywhere with a begin block to load multiple items without using individual @everywhere annotations. For example,

@everywhere begin 
    using ....
    include(...)
    ... 
end

I look forward to the lesson on macros, which is something I have not used so far!

2 Likes

Aye. It is pretty common in distributed systems (e.g., HPC) to have a main file and that one having a

@everywhere include(joinpath("src", "common.jl"))
3 Likes

Nice! I already knew them, great job!

I suggest you to use https://www.juliabloggers.com/ to give it a little more visibility.

6 Likes

Thank you! I for one have never particularly used constructs like decorators in Python and now macros in Julia (except a few ones which are provided by libraries), so I am not confident enough to write a guide about them…

This is very useful and my students will hear about it soon. I’d also like to cite this in a book project. I’ll cite it as a web page unless someone has a better idea. I would appreciate such a better idea.

1 Like

I think that citing a website using the Harvard format would be appropriate. In my opinion it is elegant and concise (I’ve found it on this article https://www.mendeley.com/guides/web-citation-guide ).
I won’t change the url https://techytok.com/from-zero-to-julia/ so you can safely use it, if you want.

Thank you very much for your interest!

Thanks. My publisher has a BiBTeX style for web pages, so I’m in fine shape.

— Tim

Wonderful! Please let me know once it gets published!

1 Like

I noticed that it’s not listed in https://julialang.org/learning/

Perhaps you can PR an update the page to include this?

3 Likes

Thank you, I’ve submitted a PR!

Thanks for the work. I find the presentation easy to follow and each lesson is well sized. I like the comparison with python, as most students here have some pythonic knowledge. I am planning of using it as a pointer for my course next year.