Widget:WJG Sandbox Merge: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(8 intermediate revisions by the same user not shown) | |||
Line 238: | Line 238: | ||
background-color:#3366CC; | background-color:#3366CC; | ||
height:40px; | height:40px; | ||
line-height: 15px; | |||
border-radius: 15px; | |||
font-weight:bold; | font-weight:bold; | ||
width:150px; | width:150px; | ||
Line 388: | Line 390: | ||
} | } | ||
} | } | ||
window.exam=options; | |||
var background_html="<div class='container'><header><h1 class='animated bounceInDown'>Wikidoc Board Review </br> <span>Please select an exam below</span></h1></header></div>"; | var background_html="<div class='container'><header><h1 class='animated bounceInDown'>Wikidoc Board Review </br> <span>Please select an exam below</span></h1></header></div>"; | ||
$("#chooseQBank").html(background_html); | $("#chooseQBank").html(background_html); | ||
Line 777: | Line 779: | ||
$.each(window.exam.examQuestions, function (index, value) { | $.each(window.exam.examQuestions, function (index, value) { | ||
$("#navPane").append("<div id='" + index + "' class='navPaneButton'> " + (index - -1) + "</div>"); | $("#navPane").append("<div id='" + index + "' class='navPaneButton'> " + (index - -1) + "</div>"); | ||
console.log(index) | |||
window.exam.examQuestions[index].creditReceived=false | |||
}); | }); | ||
$(".navPaneButton").click(questionNavigation); | $(".navPaneButton").click(questionNavigation); | ||
Line 992: | Line 996: | ||
function answerSubmitted(event) { | function answerSubmitted(event) { | ||
$("#submit").remove(); | $("#submit").remove(); | ||
if (!window.exam.examQuestions[window.exam.currentQuestion]. | if (!window.exam.examQuestions[window.exam.currentQuestion].creditReceived && window.exam.examQuestions[window.exam.currentQuestion].selectedAnswer === String(window.exam.examQuestions[window.exam.currentQuestion].RightAnswer)) { | ||
console.log("You answered a question correctly") | |||
window.exam.answeredRight += 1; | window.exam.answeredRight += 1; | ||
window.exam.examQuestions[window.exam.currentQuestion]. | window.exam.examQuestions[window.exam.currentQuestion].creditReceived = true; | ||
} | } | ||
if (window.exam.examType === "Tutor") { | if (window.exam.examType === "Tutor") { | ||
Line 1,060: | Line 1,065: | ||
$("#details").slideToggle("slow"); | $("#details").slideToggle("slow"); | ||
} | } | ||
function convolve_bernouli(qprobs){ | |||
//takes in an array of probabilities of guessing questions correct | |||
for (var counter = 0; counter < qprobs.length; counter++) { | |||
//if the loop is in the first iteration, then initialize the array | |||
if (counter==0){ | |||
var pdfArray=[1-qprobs[0],qprobs[0]]; | |||
}else{ | |||
//initialize new Array for pdfs | |||
var newpdfArray= []; | |||
for (var i = 0; i < pdfArray.length+1; i+=1) { | |||
newpdfArray[i]=0; | |||
} | |||
//multiply by ones first | |||
for (var i = 0; i < pdfArray.length; i+=1) { | |||
newpdfArray[i+1]+=pdfArray[i]*qprobs[counter]; //probability of adding a success | |||
newpdfArray[i]+=pdfArray[i]*(1-qprobs[counter]); | |||
} | |||
pdfArray=newpdfArray; | |||
} | |||
} | |||
console.log(pdfArray); | |||
return(pdfArray); | |||
}//ends convolve_bernouli | |||
function endExam(event) { | function endExam(event) { | ||
if (window.exam.timer) { | if (window.exam.timer) { | ||
Line 1,070: | Line 1,102: | ||
datas = ""; | datas = ""; | ||
datas += "<br />You answered " + window.exam.answeredRight + " out of " + window.exam.examQuestions.length + " correctly.<br /> Your percentage score is: "; | datas += "<br />You answered " + window.exam.answeredRight + " out of " + window.exam.examQuestions.length + " correctly.<br /> Your percentage score is: "; | ||
var percent = (window.exam.answeredRight / window.exam.examQuestions.length) * 100; | var percent = Math.round((window.exam.answeredRight / window.exam.examQuestions.length) * 100); | ||
datas += percent + "%<br /><br />Click the Navigation Buttons on the left to review the questions you answered."; | testlength=window.exam.examQuestions.length; | ||
var question_probs=[]; | |||
for (var j = 0; j < testlength; j+=1){ | |||
question_probs[j]=Math.random(); | |||
} | |||
qdist=convolve_bernouli(question_probs); | |||
var myTotal = 0; //Variable to hold your total | |||
for(var i=0, len=window.exam.answeredRight+1; i<len; i++){ | |||
myTotal += qdist[i]; //Iterate over your first array and then grab the second element add the values up | |||
} | |||
datas += percent + "%<br /><br />Click the Navigation Buttons on the left to review the questions you answered.<br />"; | |||
datas += "<br />You scored in the " + Math.round(myTotal*100) + " percentile. <br /><br />"; | |||
datas += "<canvas id='simExams' width='600' height='400'></canvas>"; | |||
var api = new mw.Api(); | var api = new mw.Api(); | ||
Line 1,087: | Line 1,138: | ||
$(".navPaneButton").unbind('click'); | $(".navPaneButton").unbind('click'); | ||
$(".navPaneButton").click(window.exam, questionReviewNavigation); | $(".navPaneButton").click(window.exam, questionReviewNavigation); | ||
point_labels=[]; | |||
for (var j = 0; j < qdist.length; j+=1){ | |||
point_labels[j]=j.toString(); | |||
} | |||
var simExamData = { | |||
labels : point_labels, | |||
datasets : [ | |||
{ | |||
fillColor : "rgba(220,220,220,0.5)", | |||
strokeColor : "rgba(220,220,220,1)", | |||
pointColor : "rgba(220,220,220,1)", | |||
pointStrokeColor : "#fff", | |||
data : qdist, | |||
title: "Percent of test takers" | |||
} | |||
] | |||
} | |||
var newopts = { | |||
yAxisLabel : "Percent of test takers", | |||
yAxisFontFamily : "'Arial'", | |||
yAxisFontSize : 16, | |||
yAxisFontStyle : "normal", | |||
yAxisFontColor : "#666", | |||
xAxisLabel : "Number of correct answers", | |||
legend : false, | |||
legendFontFamily : "'Arial'", | |||
legendFontSize : 12, | |||
legendFontStyle : "normal", | |||
legendFontColor : "#666", | |||
legendBlockSize : 15, | |||
legendBorders : false, | |||
legendBordersColor : "#666", | |||
graphTitle : "Peer Performance", | |||
graphTitleFontFamily : "'Arial'", | |||
graphTitleFontSize : 24, | |||
graphTitleFontStyle : "bold", | |||
graphTitleFontColor : "#666", | |||
} | |||
// get line chart canvas | |||
var simExams = document.getElementById('simExams').getContext('2d'); | |||
// draw line chart | |||
new Chart(simExams).Line(simExamData,newopts); | |||
} | } | ||
function submitRating(ratingType, score, page) { | function submitRating(ratingType, score, page) { | ||
if (ratingType === "difficulty") { | if (ratingType === "difficulty") { |