Skip to content
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

Add an "introduction to the interpreter interface" episode? #628

Open
njhdunn opened this issue Mar 5, 2019 · 3 comments
Open

Add an "introduction to the interpreter interface" episode? #628

njhdunn opened this issue Mar 5, 2019 · 3 comments

Comments

@njhdunn
Copy link

njhdunn commented Mar 5, 2019

I feel that this lesson could use an "episode 0" that goes over the interface of the selected python interpreter, similar to how 'http://swcarpentry.github.io/python-novice-gapminder/' starts with an introduction to jupyter notebooks in the short "Running and Quitting" section. The prerequisite skills for both python lessons are similar, and I think it is reasonable to assume that much of the class for this lesson would also need a brief introduction to the interpreter interface and features before diving in to use it. I suspect that many instructors are already doing some introduction of this type.

The proposed content would be something like the following:

  • Distinguish between *.py and *.ipynb files, since both are relevant to this lesson
  • Running jupyter notebook
  • A brief feature overview (running code, code cell behavior, code vs text cells, displaying images)
    Essentially, this would be the same content as the "Running and Quitting" episode from the python-gapminder lesson but with less markdown coverage because it isn't as relevant for this lesson.

I realize that this would imply the following:

  1. We would probably want to choose a single interpreter (jupyter?) to avoid creating 3 different episode 0's
  2. The existing lesson content would need to be updated to reference only the selected interpreter
  3. This would add content to an already long lesson

Is there any support for making this kind of addition? Are there other issues/concerns around this potential addition that I'm missing?

@annefou
Copy link

annefou commented Mar 5, 2019

We don't have it as a 0 lesson but in the setup http://swcarpentry.github.io/python-novice-inflammation/setup/
Obviously not as elaborated as in python-novice-gapminder. Discussing in depth about jupyter notebooks (now switching to jupyterlab) may be a bit distracting too. As a side note, we don't always teach it using jupyter notebook (but from the command line).

@njhdunn
Copy link
Author

njhdunn commented Mar 5, 2019

The content in the setup only partially fills this purpose, getting the learner as far as opening a new notebook (or other interpreter), but doesn't provide any orientation for using or navigating those tools. This may be less of an issue for the command line tools, as they don't present as much information to the user upfront as the jupyter notebook (or jupyter lab) GUI does.

A brief guided tour of the interface used in the lesson seems like it could be helpful (at least in the jupyter case), as it could help focus learners on those features that would be relevant for the lesson. A minimal change to this lesson that would accomplish what I'm thinking would be the addition of an optional ~15 minute episode that would only be used when the lesson was given with jupyter notebook/lab, and would provide the content I outlined above (basically the python-novice-gapminder episode minus the markdown content).

Note that I am a new instructor and have not taught this lesson before, so I lack some context on what carpentries learners may see as barriers or find distracting. I am proposing this potential addition as a means of overcoming the barrier of 'GUI information overload'. I have seen this previously while teaching in other contexts, but learner confusion on this point may not be common enough to warrant explicit instruction time in a carpentries context. An introduction to the jupyter GUI seems like it could potentially be helpful, but I am certainly open to the possibility that this is unnecessary or a bad idea.

@ldko
Copy link
Contributor

ldko commented Mar 5, 2019

@njhdunn this is certainly not a bad idea. If instructors are teaching with Jupyter Notebook than whether it is currently in the lesson or not, they end up needing to show learners how to make basic use of the tool. It makes sense to me to include a light introduction (5 minutes or so?) of cells (create/execute/code vs. text) and how to see the other keyboard commands they may want to use in the future. I agree the markdown explanation is out of scope. If it seems like overkill to put this material directly into the python-novice-inflammation lesson, it could be helpful in the setup to link to the python gapminder episode about using Jupyter Notebook as a reference for those who want to make use of it.

I just noticed in http://swcarpentry.github.io/python-novice-inflammation/guide/ it says:

We do not include instructions on running the Jupyter Notebook in the tutorial because we want to focus on the language rather than the tools. Instructors should, however, walk learners through some basic operations

It makes sense to avoid cluttering the lesson with material that not everyone will use, but since it says it should be explained--it would be helpful to at least link to a resource perhaps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants