I’m looking to run a short introduction to Julia course at Oxford aimed at maths/stats students. The idea came about because everyone I speak to has heard of Julia but never used it. I am not aware of many research or teaching fellows* that use the language in their research beyond my supervisor Rafael Bailo so I fear that few are introduced to it formally, unlike my previous institution Warwick where some postgraduate courses are taught with Julia.
The idea for the course is twofold:
- To introduce the language to an audience that does not know or care about software engineering.
- To demonstrate why someone would want to use Julia in specific mathematical domains or related subjects.
I emphasise the first point because many of the reasons people recommend to switch from MATLAB or Python to Julia are rooted in SWE best practices and theory that may be difficult to grasp for someone who uses software as a scientific tool. The majority of students here have used both MATLAB and Python in their undergraduate years but have a narrow view of programming as a whole and don’t understand why one would choose one language over another. I would like to give people the opportunity to try Julia on real problems, possibly even their own, while smoothing the initial learning/transition curve for someone who is not so familiar with programming.
I would like to gather examples of code that do simple yet difficult things in Julia. I have personal experience using certain packages like
Agents, but since Julia has been my primary language of choice for a while now, I never got the opportunity to use the Python/R/MATLAB equivalents and so I don’t know what the “pain points” of the equivalent packages would be.
It would be nice if people could submit code with some description of the following things:
- The code (nicely annotated for someone who understand the domain at an undergraduate level)
- An explanation of the problem the code solves and any particularities of Julia that make it easier such as JIT compilation or multiple dispatch.
- Bonus points for equivalent code in MATLAB or Python!
I will start compiling my own examples for topics in numerical computing and agent-based modelling, but I would highly appreciate any submissions on mathematical topics! If you’d like an idea of what is taught here at a graduate level to know what students would be interested in, a full list of courses can be found here. Once I’ve got a few things set up I’ll make a GitHub repository for the course, it won’t be so professional, just a casual endeavour to foster a Julia community at the university.
*I have only been here since October of last year, so I could be mislead.