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

Adding Google Colab as a possible working enviroment for learners? #611

Open
GuillermoFidalgo opened this issue Sep 1, 2022 · 9 comments
Labels
type:discussion Discussion or feedback about the lesson

Comments

@GuillermoFidalgo
Copy link

Pros:

  • Google Colab brings a jupyter notebook style working environment with many packages installed.
  • It's free, reliable and steady (as long as your internet connection is stable).
  • No installation needed.
  • Only requires a Google account.
  • I can give my learners a fully working piece of code that they can then use to solve exercises on their own and share with others.
  • Notebooks get saved to learners' google drive.
  • Learners can (somewhat asynchronously) collaborate on the same notebook.

Cons:

  • Unlike Binder, I'm not able to give learners the data I used for the exercises unless:
    • Learners download and upload the data to their Colab session.
    • Learners run wget or curl commands inside one of the notebook cells to download the data from an openly available online site (usually download from Github or give the direct link to the zip files)
    • Use python packages like pandas.read_csv() to read in the data. Again has to be publicly available online.
  • If I decide to share pre-filled notebooks I would need to provide a badge or a link to each notebook or ask learners to download a browser extension to open them from Github.
  • Requires a Google account. (People might not want to make an account just for learning python)
@GuillermoFidalgo
Copy link
Author

P.S.
Wasn't sure which repo was most appropriate to add this as an issue.

@GuillermoFidalgo
Copy link
Author

Forgot to mention the reason for this issue.

I've noticed that we focus on learners having Anaconda distribution of python and Jupyter notebooks as the only working environment for this tutorial.
I believe Google Colab has some value especially since it's basically a ready-to-go environment with little to no setup required.

@vahtras
Copy link
Contributor

vahtras commented Sep 2, 2022

I agree with this. I often use this myself as a backup strategy for students with install problems in order to get something that just works.

@nquarder
Copy link

nquarder commented Sep 8, 2022

I agree with you @GuillermoFidalgo that adding Google Colab as another possible working environment is a good idea. We have shifted towards Colab in some of our work with novice programmers from underrepresented communities and it has been a game changer for them in that it allows them to get going with writing code without the barriers of needing to set up JupyterLab ahead of time.

One recommendation would be to add some text about Google Colab as an alternative to JupyterLab in the 'Setup' or 'Running & Quitting' episodes of the Python Plotting & Programming Lesson.

@slel
Copy link

slel commented Sep 8, 2022

See a similar discussion at

@alee alee added the type:discussion Discussion or feedback about the lesson label Nov 1, 2022
@gabrielesh
Copy link

I'm going to add support to the suggestion to add documentation for Google CoLab or similar. Inevitably at least one student is unable to get a successful install in time and we have to direct them to Google CoLab.

@martinosorb
Copy link
Contributor

Imho, colab is ok as a backup option, and should/could be mentioned as an alternative to use in case of emergency (ie. when the workshop has already started and the learner has a broken environment).

However, generally, the Carpentries policy is that learners should leave the workshop and be able to immediately apply what they learned, at home or in their work. So ideally I think Colab should not be encouraged as a default option, precisely because it's not easy to install python, jupyter, and all, and the workshop might be the only chance learners have to get support for that.

@froggleston
Copy link
Contributor

This is an interesting conversation - we recently were involved with an online workshop where some users were unable to get the prerequisites installed before the workshop, and doing this during the workshop was also proving to be difficult so we used Google Colab and it seemed to be a useful backup. I would agree that the best scenario is to:

  • have a pre-workshop "helpdesk" drop-in session if possible to try and get installation issues resolved before the first day
  • suggest Colab as a "last resort" if there are users having local issues due to personal hardware or typical difficulties with assisting learners with complex install problems whilst a workshop is in progress

@martinosorb
Copy link
Contributor

I was about to say that we could go ahead and add Colab or MyBinder as alternative solutions, but I noticed that this Carpentries blog post specifically says We recommend that Instructors wait to share this information with learners until the start of the workshop, and then only with those learners who have not successfully completed installation on their own computer.

I can see that we do not want learners to simply give up installing and rely on online options. So either we add specific phrasing that discourages learners, or we only add it to the instructors' notes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:discussion Discussion or feedback about the lesson
Projects
None yet
Development

No branches or pull requests

8 participants