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 - .mdfiles
- A 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.jsonfile
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 - rmdand 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! 
Thank you!¶
