-
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Select software tools #3
Comments
A lot of interest in Pluto.jl as an alternative to jupyter. The "every cell must be one scope" thing is a barrier for me, but I can't tell how much that would bother learners. The interactivity of notebooks is a major plus in general, and I think it might be superior for a short workshop. In classes, I always want students to write real code, so it's worth taking the time to get VS code set up. I worry about locking students in to the abstraction of a notebook, but there's a reason people use them a lot for teaching. Regardless, I think we need to spend some time with the REPL at the beginning, if for no other reason than package installation and environment setup |
I've seen good things about Pluto. I haven't used it but I think this may be better for people past the introductory stage. I agree that the basic Julia download and launch of the REPL should form the beginning of the lesson episodes, with real 'live coding' and getting a feel for the essential interactions with the REPL. And yes, knowing how to do installation! After a few sessions getting comfortable, we could introduce Pluto and/or Jupyter (via IJulia.jl) for interactive tasks like plotting/visualisation. One advantage for Jupyter notebooks is prior familiarity of the learners, though not an assumption that should be made implicitly or explictly in the lesson design. |
Putting in here some good real-world experience to inform the discussion: Edit: adding an older but related Discourse thread: |
It's been a while with other commitments, but keen to start working on this lesson (again).
(And also for x-ref: https://discourse.julialang.org/t/experimental-reproducibility-julia-vs-the-rest/46769/2 ) Without trying it in depth, this strikes me as an excellent basis for an episode or even the majority of the lesson if we explain the rationale for why the package constructs/guides the user workflow as it does. I'm assuming that the package is sufficiently mature that lesson content won't go stale too quickly... Also, the developers note that
|
I think DataDeps.jl is really the solution to the data management piece. It's not super straightforward, but I got it to work really well for a recent project. I reviewed the DrWatson JOSS paper, but haven't used it much myself |
Nice. Thanks for the tip on DataDeps.jl, keeping things minimal like this is good. I'll have a look. Going slightly off-topic, for more complex code with multiple data sources, I've been using BinaryBuilder.jl lately, and the Sources section has a nice schema for "artifacts" that will track different operating systems within the build. |
While lower in priority to #1 or #2, we should decide on the software mode of delivery for the lesson. Each complete SC or DC lesson requires some setup from the learner in terms of interface (GUI or otherwise), browser or manager to facilitate the lesson ideas. This is should not be (but sometimes is) a major barrier to entry for the learner, so the advantages or drawbacks of the software required should be weighed carefully against getting started easily and eventually enabling good practices.
Here are a few options to consider:
Any I've missed?
The text was updated successfully, but these errors were encountered: