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

Course as Slides? #125

Open
callummole opened this issue Sep 26, 2022 · 3 comments
Open

Course as Slides? #125

callummole opened this issue Sep 26, 2022 · 3 comments
Labels
Coursebook Related to JupyterBook or the course material in general Delivery Related to teaching the course

Comments

@callummole
Copy link
Contributor

callummole commented Sep 26, 2022

There are two competing requirements for this course that don't play well with each other:

  • Asynchronous learning: the course should have enough information to work as a standalone course. Concepts need to fully explained.
  • Presentations: The course should be engaging to present. This often means more pithy text.

We have investigated embedding slides using reveal.js, for examples:

The idea here is that you would have an iframe that links to some static html output, generated by, for example, pandoc or nbconvert (jupyter nbconvert "4.1_What_and_Why.ipynb" --to slides). You could set up a CI that executes these in a loop then the iframe picks up the resulting html files.

A few obstacles:

  • nbconvert doesn't cope with myst.
    • solution: have myst blocks as 'skip' slides.
  • how to present the static html slides? as iframes or in some other form?
  • all the modules will need to be notebooks, and each cell will have to stated whether they are in the slides or not.
    • this might not actually be terrible, since the instructor can go through and easily state what content they want in the slides
@callummole
Copy link
Contributor Author

Work on this going on in #126.

Have initial proof of concept - generated slides are embedded and can be full-screened. I also tested whether you can toggle a cell to be present in the book build only, the slides only, or both (you can)

To do:

  • Go through each module, split into cells and say which you want to go into slides.
  • Write instructions for presenters on how to edit to their wishes
  • Set up makefile which does the conversion for you.

@jack89roberts
Copy link
Contributor

Brain dump of thoughts:

We have both code-based and text-based material.

  • For the text-based material, I agree (properly formatted/prepared) slides would be better to present, but we need the verbose material for the course web-site and people following asynchronously. The main problem I see is the potential added cost of maintaining both.

  • For the code-based material, I see more challenges, particularly for:

    • Instructors running the code, maybe modifying/adding cells to answer questions etc. - would that work in slides?
    • Some participants like to follow along running the code with the instructor, which may be more difficult if the slides don't map onto the notebooks exactly.

And would this require a more explicit separation between "code-based" sections/files and "text-based" sections/files?

@AoifeHughes
Copy link
Contributor

AoifeHughes commented Sep 29, 2022

Instructors running the code, maybe modifying/adding cells to answer questions etc. - would that work in slides?

This is part of the beauty of having rendered slides - we can have Slide_0 be the code and Slide_1 show output without risking the inevitable embarrassments that come with live code executions.

Sorry, I misread this initially, it is a good point and probably comes down to the person delivering it and their style of teaching. Having the embedded Binder button would most likely be good enough for this, though?

Some participants like to follow along running the code with the instructor, which may be more difficult if the slides don't map onto the notebooks exactly.

I entirely agree, I don't think we should have slides which do not exactly follow the order of code blocks, and do not omit any.

And would this require a more explicit separation between "code-based" sections/files and "text-based" sections/files?

From reading through the course I think there is a degree of this already, where a lot of the text is superfluous and doesn't add much for the majority of learners who (In my biased opinion) are likely to move from src block to src block without reading unless something breaks. - My current working branch is experimenting with streamlining the amount of text by ensuring it's directly relevant and adding to the code it surrounds.

@jack89roberts jack89roberts added Delivery Related to teaching the course Coursebook Related to JupyterBook or the course material in general labels Feb 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Coursebook Related to JupyterBook or the course material in general Delivery Related to teaching the course
Projects
None yet
Development

No branches or pull requests

3 participants