How to Build an Interactive Course¶
Using an open source framework created by SpaCy developer Ines Montani
Table of Contents
Introduction¶
Hello! My name is Hayley Boyce. I work for the University of British Columbia’s Master of Data Science program as an Education Specialist. I did my undergraduate degree in Applied mathematics and I am an alumna of the Master of Data Science program.
For the last 8 months I have been working with an open source platform where you can built your own online interactive course. This course was developed by SpaCy developer Ines Montani.
Pre Requisites¶
Knowledge in GitHub
Familiarity with
.md
filesA chosen language of R or Python
Learning Outcomes¶
At the end of this seminar, you should be able to:
Recognize courses that use this framework.
Use resources to begin to install and create your own course.
Identify the different question style you can use to test students knowledge.
Recall key criteria needed to create lectures slides.
Explain the structure needed for your course repository.
See how it can be scaled to larger courses.
Course Options¶
Currently this platform is available in 2 programming languages:
Of course this platform can be used for other non programming subjects but the interactivity is limited to multiple choice questions only.
Course Examples¶
R Bootcamp - by Ted Laderas
Generalized Additive Models in R - by Noam Ross
Supervised Machine Learning: Case Studies in R! - by Julia Silge
And coming September 22, 2020 Programing in Python for Data Science by Tiffany Timbers, Mike Gelbart and Hayley Boyce
Setup¶
Python Course Documentation
Docker compose for Python
Tip
If you have any issues with Python setup, I recommend looking in the issue of the course-starter-python repo or even referring to her SpaCy course repo.
Setting up the Interactive Components¶
meta.json
¶
This is where you specify the repository that will be use for the binder
Course information and links
requirement.txt
¶
This needs to be changed on the branch you specified in the
meta.json
file
Build a Binder¶
Build a binder for your branch
Repository Structure¶
There are a lot of folders and files but the main ones we are going to focus on are:
chapters/
slides/
exercises/
binder/
static/
Important things I don’t have time to talk about but that are explained in the documentation:
theme.sass
src/
Demo - How to make it work¶
Making a chapter
Making slides
Making a multiple choice exercise question
Making a coding question (exc, solution, test)
Note
It’s important that before doing any of the content and question making, you build a binder and change the information in the meta.json
file. This is explained in the setup documentation provided in the README.md
of the course-starter
repositories.
Sneak Peak: A brief look at what I’ve been working on:¶
Small customizations
Similar video style as Ines’s SpaCy course
A bit of a different repo structure
Use
rmd
and a script to produce slides -> Much easier!
Resources¶
Python Course Documentation
Course coming soon - Programing in Python for Data Science
Programing in Python for Data Science GitHub repo
Me and my contact!