Issues encountered teaching classes with Julia for the first time

This happened when a user forcibly interrupted the registry download (with e.g. Ctrl-C) and resulted in a “partial” registry which was unexpected and things then behaved badly. This is fixed on the upcoming 1.6 so it should at leat not happen anymore after that.

17 Likes

That sounds promising!
[Thanks for letting me know!]

I have had it break fairly often using it on different platforms. Unfortunately, once that starts happening, it is a total mess, and is virtually unfixable. I had once figured out a workaround which allowed me to keep using Plots, via plotting to png, which I have now forgotten. Perhaps, if there were an easy ‘safety net’, where I could tell my students ‘if you get GR errors, try this’, that would go a long way to minimising my own issues (as teacher) in this regard.

GR has just worked for me, but I have a Mac. In the Computational Thinking discussion forums some guy was complaining it not working on Windows.

I have not had any problem with it on my Mac, but I did remotely connecting to Linux from my Mac… however this seems to have been fixed by the recent (unexpected) update of XQuartz. You might be right about it being a Windows problem.

To get around any issue that might come from issues with the computer that the student is using or as a backup in case of problems, you can always use a katacoda sandbox with the libraries that you will need for the course of the day already preinstalled. Each student will open its own version of the sandbox and will be free to work autonomously.

I set up a sandbox myself just to try out - https://www.katacoda.com/widged/scenarios/julia-sandbox. All you need to do, as starter, is copy the code in katacoda-scenarios/julia-sandbox at master · widged/katacoda-scenarios · GitHub into the katacoda-scenarios repo that you can create using their easy to follow step by step helpers

This might help:

ENV["GRDIR"]=""
] build GR

Thanks, yes, this one has come in handy quite a few times. [I tend to forget about it, though and then rediscover it]

I wonder if maybe development people might even add this suggestion in the GR error messages? [Or even figure out a way to prevent errors caused by this?]

Thanks!

Have the same problem, for first years students it is better to have an ordered code, reactivity is confusing to them. How did you deactivate it?

I did it by getting some programming help to fix it and creating Neptune!

Have your students try Neptune.jl

[btw, it also allows multi-line cells by default, which Pluto doesn’t]

Great! Thanks!

Since starting this post, I have taught again using Julia and this time, it went much more smoothly. The issues with package management have smoothed out alot, and run much faster, and everything is seeming alot more stable. In fact, Julia was very popular in a Financial Theory class of 200 students. We made heavy use of JuMP, which has a much-improved interface that students liked. I used Jupyter Notebooks, and I have found this to work much better since the JupyterLab standalone app. The GR issue and the CSV issues I had pointed out still came up, but with much lower frequency [actually these issues are avoided entirely, so long as you warn students to add CSV before IJulia]

There also are a few helpful online courses now, so students having difficulty catching on can get extra support.

All in all, a great improvement in teacher (and I think student) experience.

Thanks All!

30 Likes

Great to hear this has improved!

1 Like

Thanks for the feedback on this. You’re a pioneer! Do you have some of the class material in a public repo, just out of curiosity (particularly to see the instructions and FAQs for students)?

No longer using Neptune? Did you use extensions with Jupyter Lab or just the basics?

2 Likes

I recently taught a course using Julia for all the examples, it went very smoothly. Time to first plot is no longer an issue, given that it’s simple to use a system image. VS code gives an interface that is appealing to students, and allows for easily switching themes and using zoom to give a good presentation when projecting. Compared to Matlab, which I also had to use, it’s a lot nicer to use Julia!

10 Likes

May I ask why not choose Jupyter notebook or Pluto?

I just prefer scripts, in general. It’s possible to execute lines or blocks, or the whole script. That’s good enough for what I do. I have the scripts embedded in a document, which has the explanations.

3 Likes

I just use JupyterLab out of the box (with IJulia). I use Neptune less since standalone JupyterLab. I have it there for backup, but I need it less and less.

1 Like

Some purists like the reactivity of Pluto, but it’s not for me (except as a novelty), which is why I created Neptune.

Compared to Jupyter, I prefer the standalone JupyterLab app, on which I can run Jupyter. I like not having to worry about starting/running a server process or worrying what happens to my work if I restart my browser or if/when it crashes or I accidentally close a window.

2 Likes

For the student experience of incremental learning (and, for incremental development) I have found the Notebook interface to be very helpful. Horses for courses

1 Like