I've taught both ways and lean towards Jupyter for shorter-contact workshops, and lean towards CLI for longer-contact workshops and classes.
Jupyter notebooks lower the cognitive load associated with CLI, text editors, edit-save-execute iterations, and are a lower barrier to providing a standardized implementation (e.g., Anaconda on learner's machines or a public-facing notebook server you control). With the lower load, it's possible to go from 0 to image processing in no time, and that time saved I think contributes substantially to the take-aways of our learners in short workshops. "Wow! I did some real data wrangling there, and I can use this on my work today!" I also *really* like having the code and the presentation of data in one place, so when I work with students now it's easy to fiddle with things in plots in the notebooks which significantly accelerates our group understanding of what our data means. (as compared to "plot it a different way and see you next week") My minor qualm is that the notebooks don't provide exposure to the CLI and the very common workflows that combine loops, pipes, python scripts, and other unixy tools. In the context of my semester-long courses we'll start with CLI, python, and git, and maybe 5 weeks in show "Here are jupyter notebooks, which are a really great compliment to what we've learned so far!". And in terms of keeping track of code used by, managing jupyter notebooks with version control can be tricky. So, the quick version: Jupyter notebooks are amazing, but in some ways orthogonal to the automation, reproducibility, and sharing ecosystem that software carpentry has been thoughtful about making self-consistent. Talk permissions granted! Best, Eric On Wed, May 10, 2017 at 1:03 PM, Maneesha Sane <[email protected]> wrote: > Hi all, > > I am giving two talks next week at Bryn Mawr's Jupyter days conference ( > http://jupyterday.blogs.brynmawr.edu/) > > One is running an intro to Python workshop using Jupyter and I'm piecing > together parts of the SWC and DC curricula to teach it. > > The other talk is a shorter talk (~20 minutes, incuding Q&A) about the > differences teaching Python via straight command line compared to teaching > from the Jupyter notebook. When I've taught for the Carpentries, I've > always used Jupyter. In other contexts, I've taught strictly from the > CLI. I'm curious to know if others have taught in both ways (either for > the Carpentries or in other circumstances) and what you've thought of it. > Advantages/disadvantages? What you like and don't like about Jupyter and > CLI environments? > > With your permission, I'd like to use some of your feedback in my talk. I > also think it would be useful for Carpentries instructors to know in > general, so please share any feedback to the list. > > Thanks! > > > > -- > Maneesha Sane > Software Carpentry: https://software-carpentry.org/ > Data Carpentry: http://www.datacarpentry.org/ > > > _______________________________________________ > Discuss mailing list > [email protected] > http://lists.software-carpentry.org/listinfo/discuss >
_______________________________________________ Discuss mailing list [email protected] http://lists.software-carpentry.org/listinfo/discuss
