Techela in a flask
Techela in a flask is an application for using Jupyter notebooks in a course.
There is one command, techela, which launches the flask app for the course and opens it in a browser. This app lists all course lectures, and assignments, and provides the functionality required to download and submit assignments.
Students complete assignments as IPython notebooks. The app submits the assignments by email using an authenticated server. The assignments are automatically uploaded to a folder on Box.com. Instructors and TAs then the assignments, add feedback and grades to them, and finally return them to the students by email.
This package is currently only usable at CMU without significant modification.
Installation
Python
You need Python 3, I recommend Anaconda.
Then, open IPython, and run this command.
!pip install techela
Instructors
Using techela
First time course setup for instructors
Box setup
- Create a Box folder you plan to use for the course. Invite the TAs as collaborators.
- Create a folder called submissions in this folder, and enable uploads by email. Make a note of the email address.
For students
- Open Ipython.
- import techela
- Type techela. This will setup a course for you.
from datetime import datetime
today = datetime.utcnow()
dd = '2017-01-31 23:59:59'
if "<" in dd:
d = datetime.strptime(dd, "<%Y-%m-%d %a>")
else:
d = datetime.strptime(dd, "%Y-%m-%d %H:%M:%S")
if (today - d).days >= 0:
POSTDUE = True
else:
POSTDUE = False
print(POSTDUE)