rachelyeshurun / magic-of-dynamic-programming

Implement the article 'Towards a Better Way to Teach Dynamic Programming' (Forišek, 2015) as a series of Jupyter notebooks
11 stars 1 forks source link

Implement multiple answer quiz widget #5

Closed rachelyeshurun closed 4 years ago

rachelyeshurun commented 4 years ago

multiple answers to a multiple choice question. input: question, list of choices - each one: text, true/false

e.g. ["What is your name?", ['Sarah', 0, 'Rivkah', 0, 'Rachel', 1, ''Leah', 1] ]

Clear on running the cell Include Submit button

output - red/green rectangle around answer (or no rectangle if correctly unchecked) points: give one point for every correctly checked or unchecked answer out of all the answers. E.g. if student only checked 'Rachel' in above answer, then the score is 3/4 - that's 2 points for not checking Sarah, Rivka and 1 point for checking Rachel. They lost one point for not checking Leah.

Add Clear button after output shown (same as run cell, but nice to have I think)

It is quiz creator responsibility to define the questions and answers intelligently - for n answers, the number of answers to check k should be more than 0 but less than n: 0 < k < n - otherwise students can game the system by checking all, or leaving blank instead of thinking..

see Canvas screenshots below

Question presentation: image

Feedback: image

Note their feedback system:


For now, not including feedback bubbles.. :cry: and we are creating one quiz question at a time. Future work can expand a lot on this... a great idea for a new niche project... quiz infrastructure in Jupyter notebooks is currently very weak. (%activity magic is geared towards real life teaching - but it's a start..)

rachelyeshurun commented 4 years ago

Code is pretty horrific looking, but it works.