Reproducible-Science-Curriculum / RR-Jupyter-Hackathon-Jan-2017

Curriculum Development Hackathon on Reproducible Research using Jupyter Notebooks, to be held Jan 9-11 at BIDS in Berkeley, CA
Creative Commons Zero v1.0 Universal
24 stars 3 forks source link

Installing Jupyter and Openning Jupyter Notebooks #6

Open burkesquires opened 7 years ago

burkesquires commented 7 years ago

Having taught a few Introduction to Python Programming courses (at the NIH) utilizing the Jupyter Notebook I have encountered issues with installing and especially with starting up Jupyter notebooks. This makes me think of a few points that I think we may want to address:

  1. The double cognitive load of learning the Jupyter ecosystem AND a new programming language, etc: I usually begin the course by describing the multiple ways to run a python program as 1) from the interpreter, 2) using a source code file and running it through the interpreter, 3) using the Jupyter Notebook, and 4) using a python IDE such as PyCharm. Students have some difficulty understanding the concept that the Jupyter Notebook cell is similar to a source code file. When I was taking the SWC Trainer for Trainers and asked Greg about this he mentioned that trying to learn Jupyter AND a programming language presents a double cognitive load to the students.

  2. Secondly, part of the challenge with the Jupyter Notebook is that one cannot double click a notebook to open it. With exceptions fort the nbopen (https://github.com/takluyver/nbopen), Pineapple (https://nwhitehead.github.io/pineapple/) and nteract projects (https://github.com/nteract/nteract).

  3. Finally, the fact that the terminal window has to be kept open when using the Notebook. Many students would close it and no understand why their notebook was no longer working.

I am sure I am preaching to the choir here but I thought it was worth mentioning these points. Please let me know if it would be preferred to break these out into separate issues.

raynamharris commented 7 years ago

I was thinking about this a little bit, with respect to defining the target audience. Is the target audience novices or people with some python programming experience who want to know how to do it better?

hlapp commented 7 years ago

Is the target audience novices or people with some python programming experience who want to know how to do it better?

Great question. In principle Data Carpentry (of which the Reproducible Research Curriculum is now a part) aims for zero-entry. However, the Rmarkdown-version of the curriculum did assume at least some very basic familiarity with R. I think that still qualifies as novice. Is there something like an experienced novice 😏

lwasser commented 7 years ago

i agree that there is a heavier cognitive load with respect to installing & using python / notebooks, etc. Software carpentry does it successfully and the last workshop i taught (which was a while back) went ok BUT it's more challenging than installing rstudio / r and i've seen workshops where it did not go ok. SO... i like the idea of an experienced novice. but more handholding may be required for the early on lessons even for the experienced novice. :)

burkesquires commented 7 years ago

To be clear, I love working with Jupyter notebooks and I really like the idea of forming a reproducible science curriculum around them. I mention the issues above so we can hopefully address them as we go. :-)

psychemedia commented 7 years ago

I've experience with three routes to getting novices started via MOOCs and undergrad/distance ed teaching, and also trying to get a Jupyter environment up and running in a data hack event:

Running notebooks in a docker container via Kitematic is very attractive I think; also things like nteract, although this requires an IPython installation at the moment? Producing a Raspberry Pi SD card image preloaded with Jupyter et al. with the notebook server set to free run on a known port is another possible approach for workshops?

I think the ability to link notebooks to other applications, such as databases, is relevant - I'll raise another issue for this.

nerdcommander commented 7 years ago

+1 for Anaconda. I've not seen many filepath issues (well not beyond the usual for "for learners who've never installed anything other than an app on their phone" like @psychemedia )

tracykteal commented 7 years ago

Also +1 on Anaconda. It's generally been successful for SWC and they have good install instructions

There are always some issues with people coming without things installed or with laptops that they can't install things on, and that's something we have yet to solve. If there are ideas on backup plans or encouraging installation, those would be great.

tracykteal commented 7 years ago

The backup plan idea is also related to https://github.com/Reproducible-Science-Curriculum/RR-Jupyter-Hackathon-Jan-2016/issues/13 and what places can do where they can't do installation.