Hi All,

We just open sourced a proctoring solution for Open edX
https://github.com/perpetualny/proctoru-xblock 

Thanks,
-Amish


On Friday, June 5, 2015 at 11:27:44 AM UTC-4, Chris Dodge wrote:
>
> Hello,
>
> Our team has embarked on a new feature to do proctored timed exams (we're 
> hoping to support timed exams without proctoring, should be possible but 
> not our primary use case).
>
> It's on a short development cycle as it has a hard delivery date (late 
> July/early August) for a customer's course launch, so we don't have a lot 
> written up on this right now. I'll see if I can write up a public Wiki 
> page. I'll try to remember to swing back to this posting and give a link to 
> the page.
>
> Best wishes,
>
> - Chris
>
> On Friday, June 5, 2015 at 3:45:31 AM UTC-4, shubham rawat wrote:
>>
>> Any chances of this feature being added in the near future?
>>
>> On Wednesday, 30 April 2014 22:28:44 UTC+5:30, stv stnfrd wrote:
>>>
>>> The following is a draft proposal for a new platform feature.
>>> Please feel free to reply with feedback.
>>>
>>> Abstract
>>> ========
>>> A previous Stanford class required a timed exam, so we built enough platform
>>> support to be able to run timed exams in the course, but we didn't build a
>>> general solution.  In particular, the functionality provided was the ability
>>> for an instructor to set a time limit (in minutes) for a single problem
>>> component in the "Settings" of the component.  The functionality of having 
>>> more
>>> than one question on the exam was provided by creating more than one 
>>> response
>>> in the problem component.  The system then rejects any submissions made more
>>> than that number of minutes after the student started the component.
>>>
>>> But additional support is needed to make this feature robust and usable for
>>> students.  In particular, students need an interstitial with a chance to 
>>> back
>>> out before they load the exam,  they need a visible countdown timer on their
>>> timed item, and if a student hasn't submitted by the time the timer reaches 
>>> 0,
>>> their last saved version should be submitted.
>>>
>>> We'd like students to lose work as infrequently as is feasible, and we'd 
>>> also
>>> like the system to be transparent to students and easy to understand, with
>>> buttons performing expected features (e.g. "save" button doing what a 
>>> student
>>> expects that it will do).
>>>
>>>
>>> Terminology
>>> ===========
>>> Instructor
>>>     a course creator
>>>
>>> Student
>>>     a course enrollee
>>>
>>> Client
>>>     a user's web browser
>>>
>>> Server
>>>     an edX instance
>>>
>>> Problem Component
>>>     A single problem (advanced or basic) that has one or more responses.
>>>
>>>
>>> Proposed Functionality
>>> ======================
>>>
>>> Setting a time limit
>>> --------------------
>>>
>>> Functionality
>>> ~~~~~~~~~~~~~
>>> An instructor should be able specify a time limit (number of minutes) for
>>> completing a problem component.  A student must not be able to submit work
>>> after the deadline expires.
>>>
>>> Implementation
>>> ~~~~~~~~~~~~~~
>>> A setting (``minutes_allowed``?) can be stored per problem component.
>>>
>>> Rationale
>>> ~~~~~~~~~
>>> An instructor should be able to assign a desired time limit per problem
>>> component.
>>>
>>>
>>> Interstitial Warning
>>> --------------------
>>>
>>> Functionality
>>> ~~~~~~~~~~~~~
>>> A student will be presented with an interstitial confirmation dialog before
>>> viewing a timed problem, so that they have a chance to back out if they 
>>> didn't
>>> intend to start the timer.
>>>
>>> Implementation
>>> ~~~~~~~~~~~~~~
>>> After accepting the confirmation, the server will log the time at which the
>>> student began the problem.  This will be used to prevent a student from
>>> circumventing the deadline by editing JavaScript, HTML or any local code.
>>>
>>> Rationale
>>> ~~~~~~~~~
>>> A student could load a problem component, not knowing that it is timed.  
>>> This
>>> dialog will explain how much time will be allotted to complete the problem, 
>>> so
>>> that the student can begin once they are prepared.
>>>
>>>
>>> Countdown Timer
>>> ---------------
>>>
>>> Functionality
>>> ~~~~~~~~~~~~~
>>> A student should see a countdown timer indicating the time remaining.
>>>
>>> Implementation
>>> ~~~~~~~~~~~~~~
>>> Once a student begins a timed problem, the client is responsible for 
>>> displaying
>>> the amount of time remaining; i.e., the client should not constantly poll 
>>> the
>>> server to determine time remaining (though, the server does have a record of
>>> this).  The client will synchronize its timer with the server each time the
>>> problem is opened, refreshed, or saved.
>>>
>>> Rationale
>>> ~~~~~~~~~
>>> A student must know how much time they have remaining, in order to complete 
>>> and
>>> submit their work.
>>>
>>>
>>> Manual Saving
>>> -------------
>>>
>>> Functionality
>>> ~~~~~~~~~~~~~
>>> A student must be able to manually save the current state of their work.
>>>
>>> Implementation
>>> ~~~~~~~~~~~~~~
>>> Clicking a save button must save the current problem state in the browser to
>>> the server.
>>>
>>> Rationale
>>> ~~~~~~~~~
>>> While automatic saving could be convenient, a student should always have the
>>> final say on which version of their work is submitted.  A student will feel
>>> more comfortable if they can save their work when they want to, knowing 
>>> that if
>>> they were to lose connectivity before the end of the exam, their last saved
>>> version would be graded.
>>>
>>>
>>> Automatic Submission
>>> --------------------
>>>
>>> Functionality
>>> ~~~~~~~~~~~~~
>>> The client should automatically submit work when the timer expires.
>>>
>>> Implementation
>>> ~~~~~~~~~~~~~~
>>> If it exists, the most recent manual save should be used.
>>>
>>> Note: As a client may lose connectivity after saving (manually or
>>> automatically) but before time expires, the server must be able to properly
>>> handle these case.  At grading or re-rendering time, if a student has saved
>>> state in an expired problem, that saved state will be submitted and graded.
>>>
>>> Rationale
>>> ~~~~~~~~~
>>> If a student has saved work but has not submitted before the timer expires, 
>>> we
>>> don’t want them to lose all of their work.
>>>
>>>
>>> Manual Submission
>>> --------------------
>>>
>>> Functionality
>>> ~~~~~~~~~~~~~~
>>> A student must be able to submit their work before time expires.
>>>
>>> Implementation
>>> ~~~~~~~~~~~~~~
>>> Multiple submissions and submissions past the timer expiration must be
>>> rejected.
>>>
>>> Rationale
>>> ~~~~~~~~~
>>> Students should complete and submit their work before the timer expires.
>>>
>>>
>>> Desired Analytics
>>> -----------------
>>> - Distribution of time taken
>>> - Number/percentage of automatic submissions (time expired)
>>> - Number/percentage of non-submissions (exam started, never saved, no 
>>> answers
>>>   attempted at time expiration)
>>>
>>>
>>> Deferred
>>> ========
>>> - Warnings:  It'd be nice to warn students (flashing? beeping?) shortly 
>>> before
>>>   the time is up.  This could either be at a fixed interval (e.g. 1 minute
>>>   before the end), or configurable per item by course staff.
>>> - Per-student time limit adjustments (e.g. for a student with a disability
>>>   requiring extra time).
>>>
>>>
>>> Implementation Approach
>>> =======================
>>> Most, if not all of the functionality will be implemented by adding
>>> functionality to the ``CapaModule`` class and associated templates.  For
>>> possible reuse in other module class, the functionality may be isolated in a
>>> mixin class.
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"General Open edX discussion" group.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/edx-code/9f81b01d-288d-42e0-a92a-4ebd9f0251f9%40googlegroups.com.

Reply via email to