Package: ubcpi-xblock
Note: This is a work in progressOver the last 20 years, Peer Instruction has become a widely-adopted
instructional technique across higher education. It is the cornerstone
of a range of approaches that collectively aim to use classroom time
(usually lectures) more productively than simply as a vehicle for
didactic presentation of content. Such approaches often broadly
classified as ‘interactive engagement’ strategies, or — more recently —
‘flipped classroom’ approaches.The learning and retention benefits of interactive engagement strategies
has been convincingly demonstrated in a recent meta-analysis by Freeman
et al which examined 225 published studies across various STEM
disciplines and course contexts. Relating directly to peer instruction,
and specifically the efficacy of peer discussion to improve student
performance on concept questions posed in class, a 2009 study by Smith
et al (Science 323, 122 (2009)) demonstrates this effect comes from
enhanced learning, rather than simply peer influence. The impact peer
instruction has had was recognized through the award of the inaugural
Minerva prize for enhancement in higher education to Eric Mazur in 2014.One of the key features in the success of peer instruction in enhancing
student learning is to promote higher-order cognitive activities
(articulation, evaluation, synthesis etc.) within a learning sequence or
activity (for example, within a lecture segment in the face-to-face
environment). It is specifically this benefit that we seek to replicate
and expose within the online environment through this suggestion to
develop online Peer Instruction (oPI) in the functionality within edX.
To that effect, we have created the Peer Instruction Tool.Basic workflowIn Studio, course creator creates a new advanced problem of type Peer
Instruction, configures and publishesIn the LMS, (following some content presentation) the student is
presented the question, answer options and text box to complete their
rationale for their answer.Following submit, the student is presented with a range of
alternative student answers and rationales (This is as an alternative
to small group discussion)Students reflect on the answers presented, then modify their own
answer and rationale and submit a final answerStudents are presented feedback including their own answer, the model
instructor answer and class distribution statistics across both
stages.The Instructor is able to see class statistics on demand at any given
time in process.Installing Dependencies and this XBlockcd PATH/TO/SOURCE
make deps
pip install -e .Update Lanaguage FilesExtract Stringsmake extractThen uploadubcpi/translations/en/LC_MESSAGES/text.poto transifex
for translation. Once translation is complete, download the translated
files and compile them into .mo files.Compile Translation Filesmake compileRunning in WorkBenchmake workbenchRunning Unit Testsmake testormake test-py
make test-jsRunning Acceptance TestsTo run acceptance test, the devstack has to be running at localhost:8000
and localhost:8001 (configurable in protractor.conf) with auth auth
enabled. To enable auto auth under FEATURE section in cms.env.json and
lms.env.json from Edx platform:AUTOMATIC_AUTH_FOR_TESTING: true(Optional) Disable Django debug toolbar and contracts for faster tests:https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack#making-the-local-servers-run-fasterInstall webdriver:node_modules/protractor/bin/webdriver-manager update --standaloneRun tests:make test-acceptanceSingle test:node_modules/protractor/bin/protractor protractor.conf.js --browser chrome --specs=ubcpi/static/js/features/cms.featureDeploy UBCPI to upstream edxIn order for the upstream edx to include a new version of UBCPI, modify
the filemain.ymland submit a pull request to that repository.Changelog1.0.0Revised UI to improve visual consistency.Fixed issues with deleting learner state.Added function to allow students to fresh rationales shown.0.6.5Added logging of rationales seen by the learner when submitting final
answer.Fixed issue with selecting answers when there are multiple ubcpi
xblocks in the same unit.Fixed issue with anchoring the page after submission when there are
multiple units with ubcpi xblocks in the same subsection.Fixed issue with Step 1 answer disappearing after switching to other
units and back.0.6.4Fixed broken buttons in Studio view.Fixed bug with certain strings not being exported for translation.Handled logging student response when there is no correct answer.0.6.3Added missing translation strings.Added full i18n support.Converted all course_ids to strings before sending to submissions
API.0.6.2Added additional translations.UI update for accessibility.0.6Allowed setup of a question with no correct answer.Made the instructor-entered rationale optional for case where there
is no correct answer.Changed text in various locations to reflect option of scenario
where there is no correct answer.Inserted red asterisks in Studio view as appropriate to further
indicate fields as required.Fixed display of graphs on mobile.Introduced a progress bar, with anchoring as appropriate, to better
orient students during each stage of a question.Changed colouring of both initial and final answers at last stage to
correspond to correct answer, if specified, as appropriate. Initial
and final answers are left black for the scenario where the
instructor did not specify a correct answer.Changed text labels to emphasize answer chosen by student, as
appropriate.Moved graphs headings above graphs for further emphasis.Styled (italicized, emboldened) various labels for further emphasis.0.5.3Introduced Esperanto (eo) language dummy translations.Added character limit warning for rationale.0.5.2Updated XBlock version reference to 0.4.7Added support for XBlock-level internationalization/localizationAdded chart labels: Original Answer, Revised AnswerFixed the fact that rationales that had words longer than 77
characters would bleed outside container/not-wrapModified CSS to make images larger than the container responsiveMinor text change (clarification of rationale to students)Added question text to final stepChanged icon on final step + style change to remove floating list
bulletChanged title from “Question” to “Peer Instruction Question”0.5.1Changed the “Question” title to “Peer Instruction Question”Changed the answer icon from fa-users to fa-user and the dot at the
last stepModified the ‘Explain your selection’ instruction to remind them that
the intended readers are other studentsAdded question text at the end of the process0.5.0Updated UX based on feedbacks from the student usability testingUpdated UX and accessibility based on feedbacks from EdXAdded serialisation support for course exportAdded EdX analytic eventAdded participation score supportDisabled student empty rationale submissionFixed a bug where a 500 error is generated when removing an option
from list under certain conditionFixed a bug where the responses are missing after going to a
different page0.4.0Added unit and acceptance tests with 100% coverageDisabled chart generation when there is not enough responseImproved accessibilityA lot of code refactoring0.3.0Added the ‘random’ algorithm which allows a student to see a
completely random selection of others’ answersAdded and edited front-end help documentation so that it’s more clear
what each step is and what will happen at the next step and, if
appropriate, why you can’t progress to the next stepAdded a first-pass at hooking up UBCPI to the edX grading system.
This is more of a ‘completion’ mark as a student is always given the
grade after they submit their revised answer regardless of the
responses being correct or notTidying up of the statistics graphs that are shown on the last step0.2.0The edit window in studio is now much tidier and contains much more
useful hintsFixed the bug where a rationale wasn’t requiredTidied up the bar charts display for the LMS view and made the
correct answer show more prominantlyDefault content is now somewhat more usefulRationales now can have a minimum an/or maximum character count0.1.0Incredibly basic proof of concept workingCan add questions and possible responsesStudents can answer, view others’ responses (with seeds if necessary)Analytics in the form of charts of initial and final responses