QuantEcon / meta

For issues and discussion covering more than one repository
0 stars 0 forks source link

Learning Management Platforms (Evaluate for India and Africa Workshops) #61

Closed mmcky closed 1 year ago

mmcky commented 2 years ago

Learning Management Systems

  1. https://edu.google.com/products/classroom/

Video Recording

  1. https://www.loom.com/education

Jupyter Notebooks

  1. https://katiesylvia.medium.com/implementing-google-colab-into-your-google-classroom-88cf22841176
mmcky commented 2 years ago

@jstac I have been reading a few blogs. I think you're right we should probably shoot for:

Google Classroom + Google Colab + Google Drive

The loom for education product looks good also. While the editing application is only available on windows or OS X there is a chrome extension that might be enough:

https://chrome.google.com/webstore/detail/loom-–-free-screen-and-ca/liecbddmkiiihnedobmlmillhodjkdmb

jstac commented 2 years ago

Great, thanks Matt. Sounds good.

mmcky commented 2 years ago

Notes: Discussion with Spencer (Automated Grading) 03rd May 2022

nbgrader

Tried

a. standalone b. more recent notebook extensions

but didn't like due to interface.

Sage / CoCalc (handles a lot of setup)

a. Much better interface for managing grades b. Lightweight LMS, distribution and collection c. Needs a reverse proxy (hardest setup part) d. ssdnode.com (server) hosted instance

Website: https://cocalc.com

Preferred option for a hosted web based lightweight LMS.

Con: However this needs to hosted on a server so if there are >100 participants (simultaneously) then not having elastic expansion may constrain the server setup as would need multiple servers and a redirect proxy sitting in front of them with interlinked database management. (hard!) Q: Are we ever going to have a peak demand >50 users (i.e. tutorial timing in parallel or sequential). In an exam setting this would likely drive the need for elastic cloud.

Otter Grader

a. Berkeley crew b. support for python and r c. integrated with Docker for grading and execute them all in isolation d. more flexible in building problems (more hidden sections with code block) e. Take test cases (for grading) and embed in notebook level metadata so a student can grade this.

https://otter-grader.readthedocs.io/en/latest/index.html#

Pro: Could be used as a standalone grading extension at the notebook level. If we can use Google Classroom to bulk download the assignment notebooks then we can use this to auto grade. But not having it integrated into the LMS will require some extra work to match up student id etc. for grading sheets.

GitHub Classroom

a. template repository (automated unit testing, with feedback PR)

Google Classrooms

a. automated grading (via Otter) a possibility (IF bulk download of assignments is available). b. Can you bulk download assignments? c. no China access (OK for Africa and India)

mmcky commented 2 years ago

Some other resources for commercial offerings, but useful to compare feature availability.

  1. gradescope offers a wide range of infrastructure for automatic grading
  2. canvas
mmcky commented 2 years ago

This looks like a good resource for Jupyter Notebook and Education

https://jupyter4edu.github.io/jupyter-edu-book/getting-going.html

mmcky commented 2 years ago

I found a bit of time this week to explore JupyterLite which runs a python kernel in web assembly.

I explored these tools as a possible option for the upcoming workshops, but I don't think it is quite there just yet. These projects are developing quickly and will be an area I will keep my eye on.

Using jupyterlite means that python can be executed in the browser directly on local machines.

I think it will be a great way to teach python on lecture-python-programming with interactivity.

I updated about_py on the lecture-python-programming site as an example:

An in place REPL:

https://62843fcc0d95d900923e838f--epic-agnesi-957267.netlify.app/about_py.html#numerical-programming

and a JupyterLab:

https://62843fcc0d95d900923e838f--epic-agnesi-957267.netlify.app/about_py_jupyterlite.html

both of these objects are provided by sphinx-jupyterlite.

So I'll focus on Google Colab.

mmcky commented 2 years ago

Things we need to understand:

Support for Live Interaction:

Grading (Otter-Grader)

mmcky commented 2 years ago

To get Breakout room support we will need the Teaching and Learning Upgrade.

https://edu.google.com/intl/ALL_au/workspace-for-education/editions/compare-editions/

mmcky commented 1 year ago

This was evaluated and we used Google Products to deliver these workshops.