Tests
This commit is contained in:
Родитель
63ce3f8109
Коммит
2b65b8655d
|
@ -0,0 +1,68 @@
|
|||
// question: 0 name: Switch category to $course$/top/Default for pls work
|
||||
$CATEGORY: All Question Types Moodle Export
|
||||
|
||||
// question: 8 name: Sample Calculated Question
|
||||
|
||||
|
||||
// question: 9 name: Sample Calculated Multiple Choice Question
|
||||
|
||||
|
||||
// question: 10 name: Sample Simple Calculated Question
|
||||
|
||||
|
||||
// question: 12 name: Sample drag and drop markers question
|
||||
|
||||
|
||||
// question: 11 name: Sample Drag and Drop
|
||||
|
||||
|
||||
// question: 7 name: Sample Essay Question
|
||||
::Sample Essay Question::[html]<p dir\="ltr" style\="text-align\: left;">This is an essay question, which must be graded manually. </p>{}
|
||||
|
||||
|
||||
// question: 13 name: Select missing words Question
|
||||
|
||||
|
||||
// question: 5 name: Sample Matching Question
|
||||
::Sample Matching Question::[html]<p dir\="ltr" style\="text-align\: left;">Please match the following</p>{
|
||||
=Red coloured vegetable -> Radish
|
||||
=<p dir\="ltr" style\="text-align\: left;">Green coloured vegetable</p> -> Spinach
|
||||
=<p dir\="ltr" style\="text-align\: left;">Orange coloured vegetable</p> -> Carrots
|
||||
}
|
||||
|
||||
|
||||
// question: 1 name: Sample Multiple Answer Question
|
||||
::Sample Multiple Answer Question::[html]<p dir\="ltr" style\="text-align\: left;">How many seasons of Game of Thrones exist?</p>{
|
||||
~%50%<p dir\="ltr" style\="text-align\: left;">This answer is correct!</p>#<p dir\="ltr" style\="text-align\: left;">This should be correct </p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">This answwer is wrong</p>#<p dir\="ltr" style\="text-align\: left;">This should be wrong</p>
|
||||
~%50%<p dir\="ltr" style\="text-align\: left;">This answer is also correct</p>#<p dir\="ltr" style\="text-align\: left;">This is also correct</p>
|
||||
####<p dir\="ltr" style\="text-align\: left;">Looks good </p>
|
||||
}
|
||||
|
||||
|
||||
// question: 4 name: Sample Multiple Choice Question - One correct answer
|
||||
::Sample Multiple Choice Question - One correct answer::[html]Which country has the largest human population?{
|
||||
=<p dir\="ltr" style\="text-align\: left;">China</p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">India</p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">United States of America</p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">Brazil</p>
|
||||
}
|
||||
|
||||
|
||||
// question: 6 name: Sample Numerical Question
|
||||
::Sample Numerical Question::[html]<p dir\="ltr" style\="text-align\: left;">What is 5 + 5</p>{#
|
||||
=%100%10:0#
|
||||
}
|
||||
|
||||
|
||||
// question: 3 name: Sample Short Answer - 1 correct answer
|
||||
::Sample Short Answer - 1 correct answer::[html]<p dir\="ltr" style\="text-align\: left;">What is the capital of United Kingdom</p>{
|
||||
=%100%London#<p dir\="ltr" style\="text-align\: left;">You got this!</p>
|
||||
####<p dir\="ltr" style\="text-align\: left;">You got it right! Well done</p>
|
||||
}
|
||||
|
||||
|
||||
// question: 2 name: Sample True-False Question
|
||||
::Sample True-False Question::[html]UCL is not situated in the heart of London{FALSE#<p dir\="ltr" style\="text-align\: left;">Yay you did it!</p>#<p dir\="ltr" style\="text-align\: left;">Try again next time!</p>####<p dir\="ltr" style\="text-align\: left;">You got this!</p>}
|
||||
|
||||
|
|
@ -0,0 +1,204 @@
|
|||
// question: 0 name: Switch category to $course$/top/General Java T//F
|
||||
$CATEGORY: $course$/top/General Java T//F
|
||||
|
||||
|
||||
// question: 38231 name: A class declare
|
||||
::A class declare::[html]A class declared as final cannot have subclasses.{TRUE}
|
||||
|
||||
|
||||
// question: 38234 name: A method can be
|
||||
::A method can be::[html]A method can be declared outside a class.{FALSE}
|
||||
|
||||
|
||||
// question: 38255 name: A method can re
|
||||
::A method can re::[html]A method can return 2 values at once using using a statement like return a,b;{FALSE}
|
||||
|
||||
|
||||
// question: 38254 name: A method parame
|
||||
::A method parame::[html]A method parameter of a primitive type is always initialised with a copy of the value passed in the method call.{TRUE}
|
||||
|
||||
|
||||
// question: 38247 name: A NullPointerEx
|
||||
::A NullPointerEx::[html]A NullPointerException is caused by calling a method on a null reference.{TRUE}
|
||||
|
||||
|
||||
// question: 38232 name: A static method
|
||||
::A static method::[html]A static method can access instance variables.{FALSE}
|
||||
|
||||
|
||||
// question: 38233 name: A static method
|
||||
::A static method::[html]A static method has an automatically declared variable called this.{FALSE}
|
||||
|
||||
|
||||
// question: 38239 name: A static method
|
||||
::A static method::[html]A static method can be overloaded.{FALSE}
|
||||
|
||||
|
||||
// question: 38267 name: A super call to
|
||||
::A super call to::[html]A super call to a superclass constructor can be put at any position in a subclass constructor.{FALSE}
|
||||
|
||||
|
||||
// question: 38268 name: A template meth
|
||||
::A template meth::[html]A template method can be declared final.{TRUE}
|
||||
|
||||
|
||||
// question: 38262 name: A use case desc
|
||||
::A use case desc::[html]A use case describes a <span style\="font-style\: italic;">task</span> that an <span style\="font-style\: italic;">actor</span> can perform when using an application.{TRUE}
|
||||
|
||||
|
||||
// question: 38245 name: A variable of c
|
||||
::A variable of c::[html]A variable of class type holds an object.{FALSE}
|
||||
|
||||
|
||||
// question: 38251 name: A variable of t
|
||||
::A variable of t::[html]A variable of type Object can reference any kind of object.{TRUE}
|
||||
|
||||
|
||||
// question: 38230 name: All methods in
|
||||
::All methods in ::[html]<span style\="font-style\: italic;">All</span> methods in an abstract class must be declared as abstract.{FALSE}
|
||||
|
||||
|
||||
// question: 38258 name: An instance var
|
||||
::An instance var::[html]An instance variable can only be of a primitive type.{FALSE}
|
||||
|
||||
|
||||
// question: 38246 name: An object can b
|
||||
::An object can b::[html]An object can be referenced by only one variable at any time.{FALSE}
|
||||
|
||||
|
||||
// question: 38249 name: An object refer
|
||||
::An object refer::[html]An object reference cannot be copied.{FALSE}
|
||||
|
||||
|
||||
// question: 38266 name: An uncaught exc
|
||||
::An uncaught exc::[html]An uncaught exception will be propagated all the way back to the main method.{TRUE}
|
||||
|
||||
|
||||
// question: 38250 name: Arrays are repr
|
||||
::Arrays are repr::[html]Arrays are represented by objects.{TRUE}
|
||||
|
||||
|
||||
// question: 38259 name: Both throw and
|
||||
::Both throw and ::[html]Both throw and throws are Java keywords.{TRUE}
|
||||
|
||||
|
||||
// question: 38252 name: Character is a
|
||||
::Character is a ::[html]Character is a primitive type.{FALSE}
|
||||
|
||||
|
||||
// question: 38264 name: Class Throw is
|
||||
::Class Throw is ::[html]Class Throw is the superclass of all exception classes.{FALSE}
|
||||
|
||||
|
||||
// question: 38229 name: Classes 1
|
||||
::Classes 1::[html]<pre> class MyClass</pre><pre>\{</pre><pre> public void MyClass()</pre><pre> \{</pre><pre> \}</pre><pre> // etc.</pre><pre>\}</pre>The method shown is a constructor method.<br>{FALSE}
|
||||
|
||||
|
||||
// question: 38244 name: Declaring a cla
|
||||
::Declaring a cla::[html]Declaring a class also declares a new type.{TRUE}
|
||||
|
||||
|
||||
// question: 38219 name: GeneralTF 1
|
||||
::GeneralTF 1::[html]Java is a declarative object-oriented programming language.{FALSE}
|
||||
|
||||
|
||||
// question: 38228 name: GeneralTF 10
|
||||
::GeneralTF 10::[html]Statements are contained inside expressions.<br /><br />{FALSE}
|
||||
|
||||
|
||||
// question: 38220 name: GeneralTF 2
|
||||
::GeneralTF 2::[html]A well-written method should be cohesive.{TRUE}
|
||||
|
||||
|
||||
// question: 38221 name: GeneralTF 3
|
||||
::GeneralTF 3::[html]Arrays in Java are represented by objects.{TRUE}
|
||||
|
||||
|
||||
// question: 38222 name: GeneralTF 4
|
||||
::GeneralTF 4::[html]goto is a Java keyword.{FALSE}
|
||||
|
||||
|
||||
// question: 38224 name: GeneralTF 5
|
||||
::GeneralTF 5::[html]break is a Java keyword{TRUE}
|
||||
|
||||
|
||||
// question: 38223 name: GeneralTF 6
|
||||
::GeneralTF 6::[html]repeat is a Java keyword.{FALSE}
|
||||
|
||||
|
||||
// question: 38225 name: GeneralTF 7
|
||||
::GeneralTF 7::[html]Instance variables are declared in class scope.{TRUE}
|
||||
|
||||
|
||||
// question: 38226 name: GeneralTF 8
|
||||
::GeneralTF 8::[html]A statement is made up of one or more expressions.{TRUE}
|
||||
|
||||
|
||||
// question: 38227 name: GeneralTF 9
|
||||
::GeneralTF 9::[html]A static method must be called on an object.{FALSE}
|
||||
|
||||
|
||||
// question: 38253 name: Integer n = 1;i
|
||||
::Integer n \= 1;i::[html]Integer n \= 1;<br />is a valid statement.<br />{TRUE}
|
||||
|
||||
|
||||
// question: 38265 name: Is this a valid
|
||||
::Is this a valid::[html]Is this a valid catch declaration?<br /><br />catch (Exception e, IllegalNumberFormat f \{ // Not shown \}<br />{FALSE}
|
||||
|
||||
|
||||
// question: 38263 name: Is this valid J
|
||||
::Is this valid J::[html]Is this valid Java code?<br /><br /> private static Stack x; <br /> \{ x \= new Stack(); x.push(1); x.push(2);\}{FALSE}
|
||||
|
||||
|
||||
// question: 38240 name: Private methods
|
||||
::Private methods::[html]Private methods cannot be overloaded.{FALSE}
|
||||
|
||||
|
||||
// question: 38256 name: Return-by-value
|
||||
::Return-by-value::[html]Return-by-value is used when returning a value from a method.{TRUE}
|
||||
|
||||
|
||||
// question: 38257 name: The lifetime of
|
||||
::The lifetime of::[html]The lifetime of a variable is distinct from the lifetime of an object.{TRUE}
|
||||
|
||||
|
||||
// question: 38248 name: The scope of a
|
||||
::The scope of a ::[html]The scope of a parameter variable is the class it is declared in.{FALSE}
|
||||
|
||||
|
||||
// question: 38242 name: The symbols /*
|
||||
::The symbols /* ::[html]The symbols /* and */ are used to bracket a multi-line comment.{TRUE}
|
||||
|
||||
|
||||
// question: 38241 name: The symbols /**
|
||||
::The symbols /**::[html]The symbols /** and **/ are used to bracket a documentation comment.{FALSE}
|
||||
|
||||
|
||||
// question: 38235 name: This code will
|
||||
::This code will ::[html]This code will compile without error\:<br /><br /><pre>int i\=0;\nif(i) \{\n System.out.println("Hello");\n\}</pre><br />{FALSE}
|
||||
|
||||
|
||||
// question: 38236 name: This code will
|
||||
::This code will ::[html]This code will compile without error\:<br /><pre>boolean b\=true;\nboolean b2\=true;\nif(b\=\=b2) \{\n System.out.println("So true");\n\}</pre><br />{TRUE}
|
||||
|
||||
|
||||
// question: 38237 name: This code will
|
||||
::This code will ::[html]This code will compile without error\:<br /><pre>int i\=1;\nint j\=2;\nif(i\=\=1 || j\=\=2)\n System.out.println("OK");</pre> <br />{TRUE}
|
||||
|
||||
|
||||
// question: 38238 name: This code will
|
||||
::This code will ::[html]This code will compile without error\:<br /><pre>int i\=1;\nint j\=2;\nif(i\=\=1 and j\=\=2)\n System.out.println("OK");</pre><br />{FALSE}
|
||||
|
||||
|
||||
// question: 38243 name: True or false:
|
||||
::True or false\: ::[html]True or false\: "Encapsulation is a technique for maximising interdependencies among separately written modules by defining strict external interfaces."{FALSE}
|
||||
|
||||
|
||||
// question: 38261 name: Validation is a
|
||||
::Validation is a::[html]Validation is about testing an application works.{FALSE}
|
||||
|
||||
|
||||
// question: 38260 name: Verification is
|
||||
::Verification is::[html]Verification is about testing an application works.{TRUE}
|
||||
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
|
||||
#!! invalid format
|
||||
// question- 8 name$$ - Hence this should not work
|
||||
|
||||
|
||||
// question: 9 name: Sample Calculated Multiple Choice Question
|
||||
|
||||
|
||||
// question: 10
|
||||
|
||||
|
||||
// question: 12 name: Sample drag and drop markers question
|
||||
|
||||
|
||||
// question: 11 name: Sample Drag and Drop
|
||||
|
||||
|
||||
// question: 7 name: Sample Essay Question
|
||||
::Sample Essay Question::[html]<p dir\="ltr" style\="text-align\: left;">This is an essay question, which must be graded manually. </p>{}
|
||||
|
||||
|
||||
// question: 13 name: Select missing words Question
|
||||
|
||||
|
||||
// question: 5 name: Sample Matching Question
|
||||
::Sample Matching Question::[html]<p dir\="ltr" style\="text-align\: left;">Please match the following</p>{
|
||||
=Red coloured vegetable -> Radish
|
||||
=<p dir\="ltr" style\="text-align\: left;">Green coloured vegetable</p> -> Spinach
|
||||
=<p dir\="ltr" style\="text-align\: left;">Orange coloured vegetable</p> -> Carrots
|
||||
}
|
||||
|
||||
|
||||
// question: 1 name: Sample Multiple Answer Question
|
||||
::Sample Multiple Answer Question::[html]<p dir\="ltr" style\="text-align\: left;">How many seasons of Game of Thrones exist?</p>{
|
||||
~%50%<p dir\="ltr" style\="text-align\: left;">This answer is correct!</p>#<p dir\="ltr" style\="text-align\: left;">This should be correct </p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">This answwer is wrong</p>#<p dir\="ltr" style\="text-align\: left;">This should be wrong</p>
|
||||
~%50%<p dir\="ltr" style\="text-align\: left;">This answer is also correct</p>#<p dir\="ltr" style\="text-align\: left;">This is also correct</p>
|
||||
####<p dir\="ltr" style\="text-align\: left;">Looks good </p>
|
||||
}
|
||||
|
||||
|
||||
// question: 4 name: Sample Multiple Choice Question - One correct answer
|
||||
::Sample Multiple Choice Question - One correct answer::[html]Which country has the largest human population?{
|
||||
=<p dir\="ltr" style\="text-align\: left;">China</p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">India</p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">United States of America</p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">Brazil</p>
|
||||
}
|
||||
|
||||
|
||||
// question: 6 name: Sample Numerical Question
|
||||
::Sample Numerical Question::[html]<p dir\="ltr" style\="text-align\: left;">What is 5 + 5</p>{#
|
||||
=%100%10:0#
|
||||
}
|
||||
|
||||
|
||||
// question: 3 name: Sample Short Answer - 1 correct answer
|
||||
::Sample Short Answer - 1 correct answer::[html]<p dir\="ltr" style\="text-align\: left;">What is the capital of United Kingdom</p>{
|
||||
=%100%London#<p dir\="ltr" style\="text-align\: left;">You got this!</p>
|
||||
####<p dir\="ltr" style\="text-align\: left;">You got it right! Well done</p>
|
||||
}
|
||||
|
||||
|
||||
// question: 2 name: Sample True-False Question
|
||||
::Sample True-False Question::[html]UCL is not situated in the heart of London{FALSE#<p dir\="ltr" style\="text-align\: left;">Yay you did it!</p>#<p dir\="ltr" style\="text-align\: left;">Try again next time!</p>####<p dir\="ltr" style\="text-align\: left;">You got this!</p>}
|
||||
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
// question: 0 name: Switch category to $course$/top/Default for History: Russia Rev
|
||||
$CATEGORY: $course$/top/Default for History: Russia Rev
|
||||
|
||||
|
||||
// question: 610 name: mc
|
||||
::mc::[html]<p>Which group joined the February revolution which the video identifies as a key turning point?</p>\n<p><a href\="http\://www.youtube.com/watch?v\=mMGrIwLj7gU">http\://www.youtube.com/watch?v\=mMGrIwLj7gU</a></p>{
|
||||
=<p>The Cossacks</p>
|
||||
~<p>The students</p>
|
||||
~<p>The police</p>
|
||||
~<p>The peasants</p>
|
||||
}
|
||||
|
||||
|
||||
// question: 612 name: mcp
|
||||
::mcp::[html]<p>What important event in 1917 that forced key Bolsheviks such as Lenin to go into hiding does this photo below portray?</p>\n<p><img src\="@@PLUGINFILE@@/19170704%20Riot%20on%20Nevsky%20prosp%20Petrograd.jpg" width\="461" height\="306" alt\="Wikimedia Riot on Nevsky" /></p>{
|
||||
~<p>The February revolution</p>
|
||||
=<p>The July Days</p>
|
||||
~<p>The Komilov coup</p>
|
||||
~<p>The June offensive</p>
|
||||
}
|
||||
|
||||
|
||||
// question: 613 name: mcr
|
||||
::mcr::[html]<p>The peace treaty signed between Russia and Germany that ended the First World War was signed where?</p>{
|
||||
=<p>Odessa</p>
|
||||
~<p>Warsaw</p>
|
||||
~<p>Brest-Litovsk</p>
|
||||
~<p>Vladivostok</p>
|
||||
}
|
||||
|
||||
|
||||
// question: 611 name: sa
|
||||
::sa::[html]<p>In which month of 1917 did Lenin finally return to Russia? Write your answer as a word, for example <em>November</em>. (November is not the right answer by the way!)</p>{
|
||||
=%100%April#
|
||||
}
|
||||
|
||||
|
||||
// question: 614 name: tf
|
||||
::tf::[html]<p>The period after the February Revolution was known as dual power.</p>{TRUE#<p>Wrong. Please go back and read your notes.</p>#<p>Correct. Well remembered.</p>}
|
||||
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
// question: 0 name: Switch category to $course$/top/Default for VW 101
|
||||
$CATEGORY: $course$/top/Default for VW 101
|
||||
|
||||
|
||||
// question: 1356 name: Issue summary
|
||||
::Issue summary::[html]<p dir\="ltr" style\="text-align\: left;">Write a summary of the main issues, using a minimum of 100 words and a maximum of 650 words. Make sure to include your chosen image.</p>{}
|
||||
|
||||
|
||||
// question: 1357 name: Summarise the issues
|
||||
::Summarise the issues::[html]<p dir\="ltr" style\="text-align\: left;">trrtrt</p>{}
|
||||
|
||||
|
||||
// question: 1358 name: ts
|
||||
::ts::[html]<p dir\="ltr" style\="text-align\: left;">asd</p>{}
|
||||
|
||||
|
||||
// question: 1351 name: Queen V
|
||||
::Queen V::[html]<p dir\="ltr" style\="text-align\: left;">Queen Victoria said the role of women should be...</p>{
|
||||
=<p dir\="ltr" style\="text-align\: left;">as a helpmate for man</p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">as an equal to man</p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">as a superior to man</p>
|
||||
}
|
||||
|
||||
|
||||
// question: 1353 name: Sophia Duleep Singh, the “princess suffragette” was the daughter of:
|
||||
::Sophia Duleep Singh, the “princess suffragette” was the daughter of\:::[html]<p dir\="ltr" style\="text-align\: left;">Sophia Duleep Singh, the “princess suffragette” was the daughter of\:</p>{
|
||||
~Queen Victoria
|
||||
=<p dir\="ltr" style\="text-align\: left;">an Indian Maharaja</p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">Emmeline Pankhurst</p>
|
||||
}
|
||||
|
||||
|
||||
// question: 1352 name: The first woman elected to the British parliament was
|
||||
::The first woman elected to the British parliament was::[html]<p dir\="ltr" style\="text-align\: left;">The first woman elected to the British parliament was...</p>{
|
||||
~<p dir\="ltr" style\="text-align\: left;">Nancy Astor</p>#Wrong!I thought that for years but in fact it is untrue.
|
||||
=<p dir\="ltr" style\="text-align\: left;">Constance Marciewicz</p>#Correct! She was the first woman elected but did not take her seat. (Nancy Astor was the first woman to take her seat in Parliament.)
|
||||
~<p dir\="ltr" style\="text-align\: left;">Emmeline Pankhurst</p>
|
||||
}
|
||||
|
||||
|
||||
// question: 1355 name: When did all American women
|
||||
::When did all American women::[html]<p dir\="ltr" style\="text-align\: left;">When did all American women finally get the vote?</p>{
|
||||
=<p dir\="ltr" style\="text-align\: left;">1920</p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">1918</p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">1928</p>
|
||||
}
|
||||
|
||||
|
||||
// question: 1354 name: When did all British women
|
||||
::When did all British women::[html]<p dir\="ltr" style\="text-align\: left;">When did all British women finally get the vote?</p>{
|
||||
~<p dir\="ltr" style\="text-align\: left;">1918</p>
|
||||
~<p dir\="ltr" style\="text-align\: left;">1924</p>
|
||||
=<p dir\="ltr" style\="text-align\: left;">1928</p>
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
[{
|
||||
"name":"Introduction to Machine Learning",
|
||||
"descrilications of machine learning",
|
||||
"description":"Applications of machine learning are all around us",
|
||||
"options":["True","False"],"answer":["0"], "textType":"text", "questionType": "TF"},
|
||||
{"name":"Machine learning algorithms",
|
||||
"description":"Machine learning algorithms are meant to simulate",
|
||||
"options":["intelligent machines","the human brain","orangutans"],
|
||||
"answer":["1"], "textType":"text", "questionType": "MCQ"},
|
||||
{"name":"Example of a classical ML technique?",
|
||||
"description":"What is an example of a classical ML technique?",
|
||||
"options":["natural language processing","deep learning","neural networks"],
|
||||
"answer":["0"], "textType":"text", "questionType": "MCQ"},
|
||||
{"name": "What is the best machine learning for classification",
|
||||
"answer": ["Sklearn"], "textType": "text", "questionType": "SA"}],
|
||||
"assessmentType":"Quiz"
|
||||
}]
|
|
@ -0,0 +1,19 @@
|
|||
[{
|
||||
"name":"Introduction to Machine Learning",
|
||||
"description":"Machine Learning for Beginners (Microsoft)",
|
||||
"questions":[
|
||||
{"name":"Applications of machine learning",
|
||||
"description":"Applications of machine learning are all around us",
|
||||
"options":["True","False"],"answer":["0"], "textType":"text", "questionType": "TF"},
|
||||
{"name":"Machine learning algorithms",
|
||||
"description":"Machine learning algorithms are meant to simulate",
|
||||
"options":["intelligent machines","the human brain","orangutans"],
|
||||
"answer":["1"], "textType":"text", "questionType": "MCQ"},
|
||||
{"name":"Example of a classical ML technique?",
|
||||
"description":"What is an example of a classical ML technique?",
|
||||
"options":["natural language processing","deep learning","neural networks"],
|
||||
"answer":["0"], "textType":"text", "questionType": "MCQ"},
|
||||
{"name": "What is the best machine learning for classification",
|
||||
"answer": ["Sklearn"], "textType": "text", "questionType": "SA"}],
|
||||
"assessmentType":"Quiz"
|
||||
}]
|
|
@ -0,0 +1,294 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<questestinterop xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/ims_qtiasiv1p2 http://www.imsglobal.org/xsd/ims_qtiasiv1p2p1.xsd">
|
||||
<assessment ident="g0f277944c1073a12c8bdf6220b41a408" title="Quiz With Different Types Of Questions">
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>cc_maxattempts</fieldlabel>
|
||||
<fieldentry>1</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
<section ident="root_section">
|
||||
<item ident="ge278a5b6b6d856acffaa6bd7eb30afbf" title="Question">
|
||||
<itemmetadata>
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>question_type</fieldlabel>
|
||||
<fieldentry>numerical_question</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>points_possible</fieldlabel>
|
||||
<fieldentry>1.0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>original_answer_ids</fieldlabel>
|
||||
<fieldentry>1807,1633</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
||||
<fieldentry>g675362c4183970c301c689a93c8b3fc6</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
</itemmetadata>
|
||||
<presentation>
|
||||
<material>
|
||||
<mattext texttype="text/html"><div><p>What is 5 + 5?</p></div></mattext>
|
||||
</material>
|
||||
<response_str ident="response1" rcardinality="Single">
|
||||
<render_fib fibtype="Decimal">
|
||||
<response_label ident="answer1"/>
|
||||
</render_fib>
|
||||
</response_str>
|
||||
</presentation>
|
||||
<resprocessing>
|
||||
<outcomes>
|
||||
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
||||
</outcomes>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<or>
|
||||
<varequal respident="response1">10.0</varequal>
|
||||
<and>
|
||||
<vargte respident="response1">10.0</vargte>
|
||||
<varlte respident="response1">10.0</varlte>
|
||||
</and>
|
||||
</or>
|
||||
</conditionvar>
|
||||
<setvar action="Set" varname="SCORE">100</setvar>
|
||||
</respcondition>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<or>
|
||||
<varequal respident="response1">15.0</varequal>
|
||||
<and>
|
||||
<vargte respident="response1">15.0</vargte>
|
||||
<varlte respident="response1">15.0</varlte>
|
||||
</and>
|
||||
</or>
|
||||
</conditionvar>
|
||||
<setvar action="Set" varname="SCORE">100</setvar>
|
||||
</respcondition>
|
||||
</resprocessing>
|
||||
</item>
|
||||
<item ident="g02abf7c8697e2d9b7edd6a163421eb83" title="Question">
|
||||
<itemmetadata>
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>question_type</fieldlabel>
|
||||
<fieldentry>essay_question</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>points_possible</fieldlabel>
|
||||
<fieldentry>1.0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>original_answer_ids</fieldlabel>
|
||||
<fieldentry></fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
||||
<fieldentry>g9647bfef516d82dd6b4cb6d06b0fc160</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
</itemmetadata>
|
||||
<presentation>
|
||||
<material>
|
||||
<mattext texttype="text/html"><div><p>Please describe how human metabolism works with regards to hormones.</p></div></mattext>
|
||||
</material>
|
||||
<response_str ident="response1" rcardinality="Single">
|
||||
<render_fib>
|
||||
<response_label ident="answer1" rshuffle="No"/>
|
||||
</render_fib>
|
||||
</response_str>
|
||||
</presentation>
|
||||
<resprocessing>
|
||||
<outcomes>
|
||||
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
||||
</outcomes>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<other/>
|
||||
</conditionvar>
|
||||
</respcondition>
|
||||
</resprocessing>
|
||||
</item>
|
||||
<item ident="gdf42198244c5abf71855a270e7ed7749" title="Sample MCQ Question">
|
||||
<itemmetadata>
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>question_type</fieldlabel>
|
||||
<fieldentry>multiple_choice_question</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>points_possible</fieldlabel>
|
||||
<fieldentry>1.0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>original_answer_ids</fieldlabel>
|
||||
<fieldentry>1790,984,1690</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
||||
<fieldentry>g9d37695ed7cd052d3792717b0f27eab0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
</itemmetadata>
|
||||
<presentation>
|
||||
<material>
|
||||
<mattext texttype="text/html"><div><p>Which of the following is an application of Machine Learning?</p></div></mattext>
|
||||
</material>
|
||||
<response_lid ident="response1" rcardinality="Single">
|
||||
<render_choice>
|
||||
<response_label ident="1790">
|
||||
<material>
|
||||
<mattext texttype="text/html"><p>Making cement</p></mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="984">
|
||||
<material>
|
||||
<mattext texttype="text/html"><p>Healthcare</p></mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="1690">
|
||||
<material>
|
||||
<mattext texttype="text/html"><p>Sewing&nbsp;</p></mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
</render_choice>
|
||||
</response_lid>
|
||||
</presentation>
|
||||
<resprocessing>
|
||||
<outcomes>
|
||||
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
||||
</outcomes>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<varequal respident="response1">1790</varequal>
|
||||
</conditionvar>
|
||||
<setvar action="Set" varname="SCORE">100</setvar>
|
||||
</respcondition>
|
||||
</resprocessing>
|
||||
</item>
|
||||
<item ident="g215538cda3b3bca04709153bfa5878e4" title="Sample Multiple Answer">
|
||||
<itemmetadata>
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>question_type</fieldlabel>
|
||||
<fieldentry>multiple_answers_question</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>points_possible</fieldlabel>
|
||||
<fieldentry>1.0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>original_answer_ids</fieldlabel>
|
||||
<fieldentry>6955,8367,7011,3291</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
||||
<fieldentry>g9044852d0022169badad3972802fbb88</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
</itemmetadata>
|
||||
<presentation>
|
||||
<material>
|
||||
<mattext texttype="text/html"><div><p>Which of the following functionalities are provided by sklearn?</p></div></mattext>
|
||||
</material>
|
||||
<response_lid ident="response1" rcardinality="Multiple">
|
||||
<render_choice>
|
||||
<response_label ident="6955">
|
||||
<material>
|
||||
<mattext texttype="text/plain">Random Forest</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="8367">
|
||||
<material>
|
||||
<mattext texttype="text/plain">Linear Regression</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="7011">
|
||||
<material>
|
||||
<mattext texttype="text/plain">Potential Difference</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="3291">
|
||||
<material>
|
||||
<mattext texttype="text/plain">Polynomial Regression</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
</render_choice>
|
||||
</response_lid>
|
||||
</presentation>
|
||||
<resprocessing>
|
||||
<outcomes>
|
||||
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
||||
</outcomes>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<and>
|
||||
<varequal respident="response1">6955</varequal>
|
||||
<varequal respident="response1">8367</varequal>
|
||||
<not>
|
||||
<varequal respident="response1">7011</varequal>
|
||||
</not>
|
||||
<varequal respident="response1">3291</varequal>
|
||||
</and>
|
||||
</conditionvar>
|
||||
<setvar action="Set" varname="SCORE">100</setvar>
|
||||
</respcondition>
|
||||
</resprocessing>
|
||||
</item>
|
||||
<item ident="ga57a75f239ba4af2616653e2d07b5e77" title="Sample TF Question">
|
||||
<itemmetadata>
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>question_type</fieldlabel>
|
||||
<fieldentry>true_false_question</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>points_possible</fieldlabel>
|
||||
<fieldentry>1.0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>original_answer_ids</fieldlabel>
|
||||
<fieldentry>9543,9675</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
||||
<fieldentry>g4353985942d9fe0203401bc223e1fce1</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
</itemmetadata>
|
||||
<presentation>
|
||||
<material>
|
||||
<mattext texttype="text/html"><div><p>Java is a functional programming language</p></div></mattext>
|
||||
</material>
|
||||
<response_lid ident="response1" rcardinality="Single">
|
||||
<render_choice>
|
||||
<response_label ident="9543">
|
||||
<material>
|
||||
<mattext texttype="text/plain">True</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="9675">
|
||||
<material>
|
||||
<mattext texttype="text/plain">False</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
</render_choice>
|
||||
</response_lid>
|
||||
</presentation>
|
||||
<resprocessing>
|
||||
<outcomes>
|
||||
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
||||
</outcomes>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<varequal respident="response1">9675</varequal>
|
||||
</conditionvar>
|
||||
<setvar action="Set" varname="SCORE">100</setvar>
|
||||
</respcondition>
|
||||
</resprocessing>
|
||||
</item>
|
||||
</section>
|
||||
</assessment>
|
||||
</questestinterop>
|
|
@ -0,0 +1,289 @@
|
|||
<?xml vaxattempts</fieldlabel>
|
||||
<fieldentry>1</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
<section ident="root_section">
|
||||
<item ident="ge278a5b6b6d856acffaa6bd7eb30afbf" title="Question">
|
||||
<itemmetadata>
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>question_type</fieldlabel>
|
||||
<fieldentry>numerical_question</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>points_possible</fieldlabel>
|
||||
<fieldentry>1.0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>original_answer_ids</fieldlabel>
|
||||
<fieldentry>1807,1633</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
||||
<fieldentry>g675362c4183970c301c689a93c8b3fc6</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
</itemmetadata>
|
||||
<presentation>
|
||||
<material>
|
||||
<mattext texttype="text/html"><div><p>What is 5 + 5?</p></div></mattext>
|
||||
</material>
|
||||
<response_str ident="response1" rcardinality="Single">
|
||||
<render_fib fibtype="Decimal">
|
||||
<response_label ident="answer1"/>
|
||||
</render_fib>
|
||||
</response_str>
|
||||
</presentation>
|
||||
<resprocessing>
|
||||
<outcomes>
|
||||
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
||||
</outcomes>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<or>
|
||||
<varequal respident="response1">10.0</varequal>
|
||||
<and>
|
||||
<vargte respident="response1">10.0</vargte>
|
||||
<varlte respident="response1">10.0</varlte>
|
||||
</and>
|
||||
</or>
|
||||
</conditionvar>
|
||||
<setvar action="Set" varname="SCORE">100</setvar>
|
||||
</respcondition>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<or>
|
||||
<varequal respident="response1">15.0</varequal>
|
||||
<and>
|
||||
<vargte respident="response1">15.0</vargte>
|
||||
<varlte respident="response1">15.0</varlte>
|
||||
</and>
|
||||
</or>
|
||||
</conditionvar>
|
||||
<setvar action="Set" varname="SCORE">100</setvar>
|
||||
</respcondition>
|
||||
</resprocessing>
|
||||
</item>
|
||||
<item ident="g02abf7c8697e2d9b7edd6a163421eb83" title="Question">
|
||||
<itemmetadata>
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>question_type</fieldlabel>
|
||||
<fieldentry>essay_question</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>points_possible</fieldlabel>
|
||||
<fieldentry>1.0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>original_answer_ids</fieldlabel>
|
||||
<fieldentry></fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
||||
<fieldentry>g9647bfef516d82dd6b4cb6d06b0fc160</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
</itemmetadata>
|
||||
<presentation>
|
||||
<material>
|
||||
<mattext texttype="text/html"><div><p>Please describe how human metabolism works with regards to hormones.</p></div></mattext>
|
||||
</material>
|
||||
<response_str ident="response1" rcardinality="Single">
|
||||
<render_fib>
|
||||
<response_label ident="answer1" rshuffle="No"/>
|
||||
</render_fib>
|
||||
</response_str>
|
||||
</presentation>
|
||||
<resprocessing>
|
||||
<outcomes>
|
||||
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
||||
</outcomes>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<other/>
|
||||
</conditionvar>
|
||||
</respcondition>
|
||||
</resprocessing>
|
||||
</item>
|
||||
<item ident="gdf42198244c5abf71855a270e7ed7749" title="Sample MCQ Question">
|
||||
<itemmetadata>
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>question_type</fieldlabel>
|
||||
<fieldentry>multiple_choice_question</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>points_possible</fieldlabel>
|
||||
<fieldentry>1.0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>original_answer_ids</fieldlabel>
|
||||
<fieldentry>1790,984,1690</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
||||
<fieldentry>g9d37695ed7cd052d3792717b0f27eab0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
</itemmetadata>
|
||||
<presentation>
|
||||
<material>
|
||||
<mattext texttype="text/html"><div><p>Which of the following is an application of Machine Learning?</p></div></mattext>
|
||||
</material>
|
||||
<response_lid ident="response1" rcardinality="Single">
|
||||
<render_choice>
|
||||
<response_label ident="1790">
|
||||
<material>
|
||||
<mattext texttype="text/html"><p>Making cement</p></mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="984">
|
||||
<material>
|
||||
<mattext texttype="text/html"><p>Healthcare</p></mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="1690">
|
||||
<material>
|
||||
<mattext texttype="text/html"><p>Sewing&nbsp;</p></mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
</render_choice>
|
||||
</response_lid>
|
||||
</presentation>
|
||||
<resprocessing>
|
||||
<outcomes>
|
||||
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
||||
</outcomes>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<varequal respident="response1">1790</varequal>
|
||||
</conditionvar>
|
||||
<setvar action="Set" varname="SCORE">100</setvar>
|
||||
</respcondition>
|
||||
</resprocessing>
|
||||
</item>
|
||||
<item ident="g215538cda3b3bca04709153bfa5878e4" title="Sample Multiple Answer">
|
||||
<itemmetadata>
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>question_type</fieldlabel>
|
||||
<fieldentry>multiple_answers_question</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>points_possible</fieldlabel>
|
||||
<fieldentry>1.0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>original_answer_ids</fieldlabel>
|
||||
<fieldentry>6955,8367,7011,3291</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
||||
<fieldentry>g9044852d0022169badad3972802fbb88</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
</itemmetadata>
|
||||
<presentation>
|
||||
<material>
|
||||
<mattext texttype="text/html"><div><p>Which of the following functionalities are provided by sklearn?</p></div></mattext>
|
||||
</material>
|
||||
<response_lid ident="response1" rcardinality="Multiple">
|
||||
<render_choice>
|
||||
<response_label ident="6955">
|
||||
<material>
|
||||
<mattext texttype="text/plain">Random Forest</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="8367">
|
||||
<material>
|
||||
<mattext texttype="text/plain">Linear Regression</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="7011">
|
||||
<material>
|
||||
<mattext texttype="text/plain">Potential Difference</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="3291">
|
||||
<material>
|
||||
<mattext texttype="text/plain">Polynomial Regression</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
</render_choice>
|
||||
</response_lid>
|
||||
</presentation>
|
||||
<resprocessing>
|
||||
<outcomes>
|
||||
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
||||
</outcomes>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<and>
|
||||
<varequal respident="response1">6955</varequal>
|
||||
<varequal respident="response1">8367</varequal>
|
||||
<not>
|
||||
<varequal respident="response1">7011</varequal>
|
||||
</not>
|
||||
<varequal respident="response1">3291</varequal>
|
||||
</and>
|
||||
</conditionvar>
|
||||
<setvar action="Set" varname="SCORE">100</setvar>
|
||||
</respcondition>
|
||||
</resprocessing>
|
||||
</item>
|
||||
<item ident="ga57a75f239ba4af2616653e2d07b5e77" title="Sample TF Question">
|
||||
<itemmetadata>
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>question_type</fieldlabel>
|
||||
<fieldentry>true_false_question</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>points_possible</fieldlabel>
|
||||
<fieldentry>1.0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>original_answer_ids</fieldlabel>
|
||||
<fieldentry>9543,9675</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
||||
<fieldentry>g4353985942d9fe0203401bc223e1fce1</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
</itemmetadata>
|
||||
<presentation>
|
||||
<material>
|
||||
<mattext texttype="text/html"><div><p>Java is a functional programming language</p></div></mattext>
|
||||
</material>
|
||||
<response_lid ident="response1" rcardinality="Single">
|
||||
<render_choice>
|
||||
<response_label ident="9543">
|
||||
<material>
|
||||
<mattext texttype="text/plain">True</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="9675">
|
||||
<material>
|
||||
<mattext texttype="text/plain">False</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
</render_choice>
|
||||
</response_lid>
|
||||
</presentation>
|
||||
<resprocessing>
|
||||
<outcomes>
|
||||
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
||||
</outcomes>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<varequal respident="response1">9675</varequal>
|
||||
</conditionvar>
|
||||
<setvar action="Set" varname="SCORE">100</setvar>
|
||||
</respcondition>
|
||||
</resprocessing>
|
||||
</item>
|
||||
</section>
|
||||
</assessment>
|
||||
</questestinterop>
|
|
@ -0,0 +1,139 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<questestinterop Incorrect Format xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/ims_qtiasiv1p2 http://www.imsglobal.org/xsd/ims_qtiasiv1p2p1.xsd">
|
||||
Incorrect Format<assessment ident="gf9ca51a6679e4779d0d68ef2dc33bc0a" Incorrect Format
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>cc_maxattempts</fieldlabel>
|
||||
<fieldentry>1</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
<section ident="root_section">
|
||||
<item ident="g708f3d2ae2a48134c88c324ce3cbab3c" title="Id 1">
|
||||
<itemmetadata>
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>question_type</fieldlabel>
|
||||
<fieldentry>multiple_choice_question</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>points_possible</fieldlabel>
|
||||
<fieldentry>1.0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>original_answer_ids</fieldlabel>
|
||||
<fieldentry>3271,9756,5761,6322</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
||||
<fieldentry>g0b6144ee2e26b58f221679802a238f36</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
</itemmetadata>
|
||||
<presentation>
|
||||
<material>
|
||||
<mattext texttype="text/html"><div><div class="move"><a class="draggable-handle" role="button"><i class="icon-drag-handle"><span class="screenreader-only">Move To...</span><span class="accessibility-warning screenreader-only">This element is a more accessible alternative to drag &amp; drop reordering. Press Enter or Space to move this question.</span></i></a></div>
|
||||
<div class="header"><span class="name question_name" role="heading" aria-level="2">What is 5 + 5</span></div></div></mattext>
|
||||
</material>
|
||||
<response_lid ident="response1" rcardinality="Single">
|
||||
<render_choice>
|
||||
<response_label ident="3271">
|
||||
<material>
|
||||
<mattext texttype="text/plain">10</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="9756">
|
||||
<material>
|
||||
<mattext texttype="text/plain">2</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="5761">
|
||||
<material>
|
||||
<mattext texttype="text/plain">3</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="6322">
|
||||
<material>
|
||||
<mattext texttype="text/plain">None</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
</render_choice>
|
||||
</response_lid>
|
||||
</presentation>
|
||||
<resprocessing>
|
||||
<outcomes>
|
||||
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
||||
</outcomes>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<varequal respident="response1">3271</varequal>
|
||||
</conditionvar>
|
||||
<setvar action="Set" varname="SCORE">100</setvar>
|
||||
</respcondition>
|
||||
</resprocessing>
|
||||
</item>
|
||||
<item ident="g60299365b800253608e32dc6c5126474" title="Id 2">
|
||||
<itemmetadata>
|
||||
<qtimetadata>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>question_type</fieldlabel>
|
||||
<fieldentry>multiple_choice_question</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>points_possible</fieldlabel>
|
||||
<fieldentry>1.0</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>original_answer_ids</fieldlabel>
|
||||
<fieldentry>6430,6005,3022,9671</fieldentry>
|
||||
</qtimetadatafield>
|
||||
<qtimetadatafield>
|
||||
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
||||
<fieldentry>g54a2d4fef23deca522eef4ea47d73c7d</fieldentry>
|
||||
</qtimetadatafield>
|
||||
</qtimetadata>
|
||||
</itemmetadata>
|
||||
<presentation>
|
||||
<material>
|
||||
<mattext texttype="text/html"><div><div class="move"><a class="draggable-handle" role="button"><i class="icon-drag-handle"><span class="screenreader-only">Move To...</span><span class="accessibility-warning screenreader-only">This element is a more accessible alternative to drag &amp; drop reordering. Press Enter or Space to move this question.</span></i></a></div>
|
||||
<div class="header"><span class="name question_name" role="heading" aria-level="2">What is 4 - 3</span></div></div></mattext>
|
||||
</material>
|
||||
<response_lid ident="response1" rcardinality="Single">
|
||||
<render_choice>
|
||||
<response_label ident="6430">
|
||||
<material>
|
||||
<mattext texttype="text/plain">1</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="6005">
|
||||
<material>
|
||||
<mattext texttype="text/plain">12</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="3022">
|
||||
<material>
|
||||
<mattext texttype="text/plain">22</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
<response_label ident="9671">
|
||||
<material>
|
||||
<mattext texttype="text/plain">22</mattext>
|
||||
</material>
|
||||
</response_label>
|
||||
</render_choice>
|
||||
</response_lid>
|
||||
</presentation>
|
||||
<resprocessing>
|
||||
<outcomes>
|
||||
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
||||
</outcomes>
|
||||
<respcondition continue="No">
|
||||
<conditionvar>
|
||||
<varequal respident="response1">6430</varequal>
|
||||
</conditionvar>
|
||||
<setvar action="Set" varname="SCORE">100</setvar>
|
||||
</respcondition>
|
||||
</resprocessing>
|
||||
</item>
|
||||
</section>
|
||||
</assessment>
|
||||
</questestinterop>
|
|
@ -0,0 +1,445 @@
|
|||
[
|
||||
{
|
||||
"title": "Data Science for Beginners: Quizzes",
|
||||
"complete": "Congratulations, you completed the quiz!",
|
||||
"error": "Sorry, try again",
|
||||
|
||||
"answerText": "It uses scientific methods to analyze data",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "Only people with academic degrees can understand it",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "To make is sound cool",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Learning Data Science is only useful for developers",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "True",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "False",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "What do we need to demonstrate that basketball players are taller than average people?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Collect some data",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Know some probability and statistics",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "All of the above",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"title": "Defining Data Science: Post-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "Which areas are closely related to data science?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Artificial Intelligence",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Machine Learning",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "All of the above",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Which of the following is an example of non-structured data?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "List of students in class",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Collection of student essays",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "Graph of friends of social network users",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "What is the main goal of data science?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "to collect data",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "to process data",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "to be able to make decisions based on data",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "Ethics - Pre-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "What is a consideration of ethics in Data Science?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Data collection",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Algorithm Design",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "All the above",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Which of the following are a part of ethical challenges?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Transparency",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Data privacy",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "Reliability and safety",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Data ethics also includes AI and machine learning algorithms ",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "True",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "False, they are separate",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "Ethics - Post-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "What is the main difference between ethics and applied ethics?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Applied ethics is a specific type of ethics",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Applied ethics is not a real term",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Applied ethics is the process of finding and correcting ethical issues",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "What is the difference between ethics regulation vs ethics principles",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Ethics regulation focuses on regular ethics",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "There is no difference",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Ethics principles do not relate to a particular law, while regulations do",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Which of these are real ethical principles and practices that can be applied?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Collection bias",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Compliance with ethics regulations",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "both of the above",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"title": "Defining Data - Pre-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "Which of these could be quantitative data?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Photos of dogs",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Hotel reviews",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Student’s marks or grades",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Which of these could be qualitative data?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "List of employees' salaries",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Hotel reviews",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "Students' marks or grades",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "What is the main goal of classifying data?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "To store the data correctly",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "To give the data a proper name",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "To know which method is best to organize it for readability and analysis",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"title": "Defining Data - Post-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "The teacher is reviewing students’ number of correct answers, what type of data is that?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Qualitative Data",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Quantitative Data",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "All the above",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "A company is collecting surveys from their customers to improve their products. What type of data source is this?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Primary",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "Secondary",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Tertiary",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "A student is collecting data using queries. What data source could that be?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Local Files",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "API",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Database",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"title": "Statistics and Probability - Pre-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "Why statistics and probability are important for data science?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Because you cannot operate on data without knowing math",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Because data science is a science and has strong formal foundation",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "Because we want to keep uneducated people from doing data science",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Can you get heads 10 times in a row when throwing a coin?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "yes",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "no",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "When you throw a dice, what is the probability of getting an even number?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "1/2",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "1/3",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "impossible to tell",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"title": "Statistics and Probability - Post-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "We want to prove that basketball players are taller than average people. We have collected heights of 20 people from both groups. What do we need to do?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "compare means",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "collect more data, 20 is not enough!",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "use t-test",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "How can we demonstrate that income of a person is dependent on the level of education?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "compute correlation coefficient",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "divide into educated and non-educated cohorts and compute means",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "use t-test",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "We throw the dice 100 times and compute the average value. What would be the distribution of the result?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "uniform",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "normal",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "none of the above",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,453 @@
|
|||
[
|
||||
{
|
||||
"title": "Data Science for Beginners: Quizzes",
|
||||
"complete": "Congratulations, you completed the quiz!",
|
||||
"error": "Sorry, try again",
|
||||
"quizzes": [
|
||||
{
|
||||
"id": 0,
|
||||
"title": "Defining Data Science - Pre Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "Why is the word _Science_ in Data Science?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "It uses scientific methods to analyze data",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "Only people with academic degrees can understand it",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "To make is sound cool",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Learning Data Science is only useful for developers",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "True",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "False",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "What do we need to demonstrate that basketball players are taller than average people?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Collect some data",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Know some probability and statistics",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "All of the above",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"title": "Defining Data Science: Post-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "Which areas are closely related to data science?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Artificial Intelligence",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Machine Learning",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "All of the above",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Which of the following is an example of non-structured data?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "List of students in class",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Collection of student essays",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "Graph of friends of social network users",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "What is the main goal of data science?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "to collect data",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "to process data",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "to be able to make decisions based on data",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "Ethics - Pre-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "What is a consideration of ethics in Data Science?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Data collection",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Algorithm Design",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "All the above",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Which of the following are a part of ethical challenges?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Transparency",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Data privacy",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "Reliability and safety",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Data ethics also includes AI and machine learning algorithms ",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "True",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "False, they are separate",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "Ethics - Post-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "What is the main difference between ethics and applied ethics?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Applied ethics is a specific type of ethics",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Applied ethics is not a real term",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Applied ethics is the process of finding and correcting ethical issues",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "What is the difference between ethics regulation vs ethics principles",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Ethics regulation focuses on regular ethics",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "There is no difference",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Ethics principles do not relate to a particular law, while regulations do",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Which of these are real ethical principles and practices that can be applied?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Collection bias",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Compliance with ethics regulations",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "both of the above",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"title": "Defining Data - Pre-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "Which of these could be quantitative data?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Photos of dogs",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Hotel reviews",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Student’s marks or grades",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Which of these could be qualitative data?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "List of employees' salaries",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Hotel reviews",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "Students' marks or grades",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "What is the main goal of classifying data?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "To store the data correctly",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "To give the data a proper name",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "To know which method is best to organize it for readability and analysis",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"title": "Defining Data - Post-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "The teacher is reviewing students’ number of correct answers, what type of data is that?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Qualitative Data",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Quantitative Data",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "All the above",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "A company is collecting surveys from their customers to improve their products. What type of data source is this?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Primary",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "Secondary",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Tertiary",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "A student is collecting data using queries. What data source could that be?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Local Files",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "API",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Database",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"title": "Statistics and Probability - Pre-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "Why statistics and probability are important for data science?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "Because you cannot operate on data without knowing math",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "Because data science is a science and has strong formal foundation",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "Because we want to keep uneducated people from doing data science",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "Can you get heads 10 times in a row when throwing a coin?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "yes",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "no",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "When you throw a dice, what is the probability of getting an even number?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "1/2",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "1/3",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "impossible to tell",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"title": "Statistics and Probability - Post-Quiz",
|
||||
"quiz": [
|
||||
{
|
||||
"questionText": "We want to prove that basketball players are taller than average people. We have collected heights of 20 people from both groups. What do we need to do?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "compare means",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "collect more data, 20 is not enough!",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "use t-test",
|
||||
"isCorrect": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "How can we demonstrate that income of a person is dependent on the level of education?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "compute correlation coefficient",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "divide into educated and non-educated cohorts and compute means",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "use t-test",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"questionText": "We throw the dice 100 times and compute the average value. What would be the distribution of the result?",
|
||||
"answerOptions": [
|
||||
{
|
||||
"answerText": "uniform",
|
||||
"isCorrect": "false"
|
||||
},
|
||||
{
|
||||
"answerText": "normal",
|
||||
"isCorrect": "true"
|
||||
},
|
||||
{
|
||||
"answerText": "none of the above",
|
||||
"isCorrect": "false"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,253 @@
|
|||
import {Builder, By, until, WebDriver} from "selenium-webdriver";
|
||||
const homeUrl = `${process.env.REACT_APP_ASSESSMENT_APP_URL}/spa/home`
|
||||
let driver: WebDriver;
|
||||
jest.setTimeout(100000)
|
||||
|
||||
|
||||
beforeAll(async () => {
|
||||
driver = await new Builder().forBrowser('chrome').build();
|
||||
await driver.get(homeUrl);
|
||||
await driver.wait(until.urlContains('https://login.microsoftonline.com/'));
|
||||
await driver.wait(until.urlIs(homeUrl));
|
||||
}, 5 * 60 * 1000)
|
||||
|
||||
afterAll(async () => {
|
||||
await driver.close();
|
||||
})
|
||||
|
||||
const testsDirectory = `${__dirname}\\parser-test-files`
|
||||
console.log(testsDirectory)
|
||||
describe("test question banks", () => {
|
||||
describe('test QTI parser', () => {
|
||||
|
||||
it('Test QTI parser works with all question types', async () => {
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}`);
|
||||
const newUploadButton = await driver.wait(until.elementLocated({className: 'upload-button'}));
|
||||
await newUploadButton.click();
|
||||
// Open Drop down
|
||||
const uploadFormatDropDown = await driver.wait(until.elementLocated({id:"upload format"}));
|
||||
uploadFormatDropDown.click()
|
||||
|
||||
// Select format option
|
||||
const uploadFomatChoice = await driver.wait(until.elementLocated({id:"upload format-list3"}));
|
||||
uploadFomatChoice.click()
|
||||
|
||||
// Upload file
|
||||
const uploadFile = driver.findElement(By.xpath("//input[@name='file']"))
|
||||
await uploadFile.sendKeys(`${testsDirectory}\\QTI\\All-Question-Types-Test.xml`)
|
||||
//Press upload
|
||||
const finalUpload = await driver.wait(until.elementLocated({id:"final-upload"}));
|
||||
finalUpload.click()
|
||||
|
||||
//Check if the file was uploaded successfully
|
||||
await driver.wait(until.elementLocated({className:"successMsg"}))
|
||||
})
|
||||
it('Test QTI parser sends error alert on incorrect QTI file format', async () => {
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}`);
|
||||
const newUploadButton = await driver.wait(until.elementLocated({className: 'upload-button'}));
|
||||
await newUploadButton.click();
|
||||
// Open Drop down
|
||||
const uploadFormatDropDown = await driver.wait(until.elementLocated({id:"upload format"}));
|
||||
uploadFormatDropDown.click()
|
||||
|
||||
// Select format option
|
||||
const uploadFomatChoice = await driver.wait(until.elementLocated({id:"upload format-list3"}));
|
||||
uploadFomatChoice.click()
|
||||
|
||||
// Upload file
|
||||
const uploadFile = driver.findElement(By.xpath("//input[@name='file']"))
|
||||
await uploadFile.sendKeys(`${testsDirectory}\\QTI\\Incorrect-File-Format-Test.xml`)
|
||||
//Press upload
|
||||
const finalUpload = await driver.wait(until.elementLocated({id:"final-upload"}));
|
||||
finalUpload.click()
|
||||
|
||||
// Wait to catch alerts
|
||||
await driver.wait(until.alertIsPresent(), 300000)
|
||||
const al = await driver.switchTo().alert()
|
||||
al.accept()
|
||||
driver.switchTo().defaultContent()
|
||||
})
|
||||
})
|
||||
|
||||
describe('test GIFT parser', () => {
|
||||
|
||||
it('Test GIFT parser works with all question types', async () => {
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}`);
|
||||
const newUploadButton = await driver.wait(until.elementLocated({className: 'upload-button'}));
|
||||
await newUploadButton.click();
|
||||
// Open Drop down
|
||||
const uploadFormatDropDown = await driver.wait(until.elementLocated({id:"upload format"}));
|
||||
uploadFormatDropDown.click()
|
||||
|
||||
// Select format option
|
||||
const uploadFomatChoice = await driver.wait(until.elementLocated({id:"upload format-list2"}));
|
||||
uploadFomatChoice.click()
|
||||
|
||||
// Upload file
|
||||
const uploadFile = driver.findElement(By.xpath("//input[@name='file']"))
|
||||
await uploadFile.sendKeys(`${testsDirectory}\\GIFT\\All-Question-Types-Test.txt`)
|
||||
//Press upload
|
||||
const finalUpload = await driver.wait(until.elementLocated({id:"final-upload"}));
|
||||
finalUpload.click()
|
||||
|
||||
//Check if the file was uploaded successfully
|
||||
await driver.wait(until.elementLocated({className:"successMsg"}))
|
||||
})
|
||||
it('Test GIFT parser works with coding questions', async () => {
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}`);
|
||||
const newUploadButton = await driver.wait(until.elementLocated({className: 'upload-button'}));
|
||||
await newUploadButton.click();
|
||||
// Open Drop down
|
||||
const uploadFormatDropDown = await driver.wait(until.elementLocated({id:"upload format"}));
|
||||
uploadFormatDropDown.click()
|
||||
|
||||
// Select format option
|
||||
const uploadFomatChoice = await driver.wait(until.elementLocated({id:"upload format-list2"}));
|
||||
uploadFomatChoice.click()
|
||||
|
||||
// Upload file
|
||||
const uploadFile = driver.findElement(By.xpath("//input[@name='file']"))
|
||||
await uploadFile.sendKeys(`${testsDirectory}\\GIFT\\Coding-Questions-Test.txt`)
|
||||
//Press upload
|
||||
const finalUpload = await driver.wait(until.elementLocated({id:"final-upload"}));
|
||||
finalUpload.click()
|
||||
|
||||
//Check if the file was uploaded successfully
|
||||
await driver.wait(until.elementLocated({className:"successMsg"}))
|
||||
})
|
||||
it('Test GIFT parser sends error alert on incorrect QTI file format', async () => {
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}`);
|
||||
const newUploadButton = await driver.wait(until.elementLocated({className: 'upload-button'}));
|
||||
await newUploadButton.click();
|
||||
// Open Drop down
|
||||
const uploadFormatDropDown = await driver.wait(until.elementLocated({id:"upload format"}));
|
||||
uploadFormatDropDown.click()
|
||||
|
||||
// Select format option
|
||||
const uploadFomatChoice = await driver.wait(until.elementLocated({id:"upload format-list2"}));
|
||||
uploadFomatChoice.click()
|
||||
|
||||
// Upload file
|
||||
const uploadFile = driver.findElement(By.xpath("//input[@name='file']"))
|
||||
await uploadFile.sendKeys(`${testsDirectory}\\GIFT\\Invalid-Format-Test.txt`)
|
||||
//Press upload
|
||||
const finalUpload = await driver.wait(until.elementLocated({id:"final-upload"}));
|
||||
finalUpload.click()
|
||||
|
||||
// Wait to catch alerts
|
||||
await driver.wait(until.alertIsPresent(), 300000)
|
||||
const al = await driver.switchTo().alert()
|
||||
al.accept()
|
||||
driver.switchTo().defaultContent()
|
||||
|
||||
|
||||
})
|
||||
})
|
||||
|
||||
describe('Microsoft Student Learn Curriculum', () => {
|
||||
|
||||
it('Student learn curriculum parser works with all question types', async () => {
|
||||
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}`);
|
||||
const newUploadButton = await driver.wait(until.elementLocated({className: 'upload-button'}));
|
||||
await newUploadButton.click();
|
||||
// Open Drop down
|
||||
const uploadFormatDropDown = await driver.wait(until.elementLocated({id:"upload format"}));
|
||||
uploadFormatDropDown.click()
|
||||
|
||||
// Select format option
|
||||
const uploadFomatChoice = await driver.wait(until.elementLocated({id:"upload format-list1"}));
|
||||
uploadFomatChoice.click()
|
||||
|
||||
// Upload file
|
||||
const uploadFile = driver.findElement(By.xpath("//input[@name='file']"))
|
||||
await uploadFile.sendKeys(`${testsDirectory}\\student-learn-curriculum\\Real-World-Datascience-Sample-Test.json`)
|
||||
//Press upload
|
||||
const finalUpload = await driver.wait(until.elementLocated({id:"final-upload"}));
|
||||
finalUpload.click()
|
||||
|
||||
//Check if the file was uploaded successfully
|
||||
await driver.wait(until.elementLocated({className:"successMsg"}))
|
||||
})
|
||||
|
||||
it('Student learn curriculum parser sends error alert on incorrect JSON file format', async () => {
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}`);
|
||||
const newUploadButton = await driver.wait(until.elementLocated({className: 'upload-button'}));
|
||||
await newUploadButton.click();
|
||||
// Open Drop down
|
||||
const uploadFormatDropDown = await driver.wait(until.elementLocated({id:"upload format"}));
|
||||
uploadFormatDropDown.click()
|
||||
|
||||
// Select format option
|
||||
const uploadFomatChoice = await driver.wait(until.elementLocated({id:"upload format-list1"}));
|
||||
uploadFomatChoice.click()
|
||||
|
||||
// Upload file
|
||||
const uploadFile = driver.findElement(By.xpath("//input[@name='file']"))
|
||||
await uploadFile.sendKeys(`${testsDirectory}\\student-learn-curriculum\\Invalid-Format-Test.json`)
|
||||
//Press upload
|
||||
const finalUpload = await driver.wait(until.elementLocated({id:"final-upload"}));
|
||||
finalUpload.click()
|
||||
|
||||
// Wait to catch alerts
|
||||
await driver.wait(until.alertIsPresent(), 300000)
|
||||
const al = await driver.switchTo().alert()
|
||||
al.accept()
|
||||
driver.switchTo().defaultContent()
|
||||
})
|
||||
})
|
||||
|
||||
describe('Original Parser', () => {
|
||||
|
||||
it('Original parser works with all question types', async () => {
|
||||
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}`);
|
||||
const newUploadButton = await driver.wait(until.elementLocated({className: 'upload-button'}));
|
||||
await newUploadButton.click();
|
||||
// Open Drop down
|
||||
const uploadFormatDropDown = await driver.wait(until.elementLocated({id:"upload format"}));
|
||||
uploadFormatDropDown.click()
|
||||
|
||||
// Select format option
|
||||
const uploadFomatChoice = await driver.wait(until.elementLocated({id:"upload format-list0"}));
|
||||
uploadFomatChoice.click()
|
||||
|
||||
// Upload file
|
||||
const uploadFile = driver.findElement(By.xpath("//input[@name='file']"))
|
||||
await uploadFile.sendKeys(`${testsDirectory}\\Original\\original.json`)
|
||||
//Press upload
|
||||
const finalUpload = await driver.wait(until.elementLocated({id:"final-upload"}));
|
||||
finalUpload.click()
|
||||
|
||||
//Check if the file was uploaded successfully
|
||||
await driver.wait(until.elementLocated({className:"successMsg"}))
|
||||
})
|
||||
|
||||
it('Original parser sends error alert on incorrect JSON file format', async () => {
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}`);
|
||||
const newUploadButton = await driver.wait(until.elementLocated({className: 'upload-button'}));
|
||||
await newUploadButton.click();
|
||||
// Open Drop down
|
||||
const uploadFormatDropDown = await driver.wait(until.elementLocated({id:"upload format"}));
|
||||
uploadFormatDropDown.click()
|
||||
|
||||
// Select format option
|
||||
const uploadFomatChoice = await driver.wait(until.elementLocated({id:"upload format-list1"}));
|
||||
uploadFomatChoice.click()
|
||||
|
||||
// Upload file
|
||||
const uploadFile = driver.findElement(By.xpath("//input[@name='file']"))
|
||||
await uploadFile.sendKeys(`${testsDirectory}\\Original\\original-invalid-file-format.json`)
|
||||
//Press upload
|
||||
const finalUpload = await driver.wait(until.elementLocated({id:"final-upload"}));
|
||||
finalUpload.click()
|
||||
|
||||
// Wait to catch alerts
|
||||
await driver.wait(until.alertIsPresent(), 300000)
|
||||
const al = await driver.switchTo().alert()
|
||||
al.accept()
|
||||
driver.switchTo().defaultContent()
|
||||
})
|
||||
})
|
||||
|
||||
})
|
|
@ -0,0 +1,169 @@
|
|||
import {Builder, By, until, WebDriver, WebElement, Key} from "selenium-webdriver";
|
||||
|
||||
const homeUrl = `${process.env.REACT_APP_ASSESSMENT_APP_URL}/spa/home`
|
||||
let driver: WebDriver;
|
||||
|
||||
beforeAll(async () => {
|
||||
driver = await new Builder().forBrowser('chrome').build();
|
||||
await driver.get(homeUrl);
|
||||
await driver.wait(until.urlContains('https://login.microsoftonline.com/'));
|
||||
await driver.wait(until.urlIs(homeUrl));
|
||||
}, 5 * 60 * 1000)
|
||||
|
||||
afterAll(async () => {
|
||||
await driver.close();
|
||||
})
|
||||
|
||||
describe("test question banks", () => {
|
||||
const name = "Selenium Test Question Bank";
|
||||
const description = "Description of question bank.";
|
||||
let questionBankId = '';
|
||||
|
||||
it('create question bank', async () => {
|
||||
await driver.get(homeUrl);
|
||||
await driver.wait(until.elementLocated({id: "home-page-tabs"}));
|
||||
|
||||
const newBankButton = await driver.findElement({className: "new-question-bank-button"});
|
||||
await newBankButton.click();
|
||||
|
||||
const newBankContainer = await driver.wait(until.elementLocated({id: "new-question-bank-container"}));
|
||||
const nameInput = await newBankContainer.findElement({id: "input-question-bank-name"});
|
||||
const descriptionInput = await newBankContainer.findElement({id: "input-question-bank-description"});
|
||||
const createBankButton = await newBankContainer.findElement({id: "create-question-bank-button"});
|
||||
|
||||
await nameInput.sendKeys(name);
|
||||
await descriptionInput.sendKeys(description);
|
||||
|
||||
await createBankButton.click();
|
||||
await driver.wait(until.urlContains("/spa/question-bank/"))
|
||||
|
||||
const url = await driver.getCurrentUrl()
|
||||
const result = /.*\/spa\/question-bank\/(.*)/[Symbol.match](url);
|
||||
expect(result).toBeTruthy()
|
||||
questionBankId = result ? result[1] : '';
|
||||
expect(questionBankId).toBeTruthy();
|
||||
})
|
||||
|
||||
it('navigate to question bank page', async () => {
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}/spa/question-bank/${questionBankId}`)
|
||||
const bankName = await driver.wait(until.elementLocated({id: "question-bank-name"}));
|
||||
const bankDescription = await driver.wait(until.elementLocated({id: "question-bank-description"}));
|
||||
|
||||
await driver.wait(until.elementTextIs(bankName, name));
|
||||
expect(await bankDescription.getText()).toEqual(description);
|
||||
})
|
||||
|
||||
describe('test questions', () => {
|
||||
it('Create Multiple Choice Question', async () => {
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}/spa/question-bank/${questionBankId}`);
|
||||
const newQuestionButton = await driver.wait(until.elementLocated({className: 'new-question-button'}));
|
||||
await newQuestionButton.click();
|
||||
|
||||
// Get all required fields, "description", "name", "checkbox", "answer" fields
|
||||
const nameInput = await driver.wait(until.elementLocated({id: "question-name-input"}));
|
||||
const descriptionInput = await driver.wait(until.elementLocated({id: "question-description-input"}));
|
||||
const option0Input = await driver.wait(until.elementLocated({id: "question-option-0"}));
|
||||
const option1Input = await driver.wait(until.elementLocated({id: "question-option-1"}));
|
||||
const createButton = await driver.wait(until.elementLocated({id: "create-question-button"}));
|
||||
|
||||
// Enter sample data into the fields
|
||||
await nameInput.sendKeys("2 + 2")
|
||||
await descriptionInput.sendKeys("What is the result of the sum of 2 and 2?");
|
||||
await option0Input.sendKeys("4");
|
||||
await option1Input.sendKeys("5");
|
||||
|
||||
|
||||
// Validate that the new question is successfully created
|
||||
await createButton.click();
|
||||
await driver.wait(until.urlContains("/spa/question-bank/"))
|
||||
})
|
||||
|
||||
it('Create True/False question', async () => {
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}/spa/question-bank/${questionBankId}`);
|
||||
const newQuestionButton = await driver.wait(until.elementLocated({className: 'new-question-button'}));
|
||||
await newQuestionButton.click();
|
||||
|
||||
// Get "name" and "description" fields from the form
|
||||
const nameInput = await driver.wait(until.elementLocated({id: "question-name-input"}));
|
||||
const descriptionInput = await driver.wait(until.elementLocated({id: "question-description-input"}));
|
||||
|
||||
await nameInput.sendKeys("Testing New Question Type")
|
||||
await descriptionInput.sendKeys("True/False question type");
|
||||
|
||||
|
||||
//Get question type drop down from the form
|
||||
const selectQADropDown = await driver.wait(until.elementLocated({id:"question-type-drop-down"}))
|
||||
await selectQADropDown.click()
|
||||
|
||||
// Navigate and select true/false in the drop down
|
||||
selectQADropDown.sendKeys(Key.ARROW_DOWN)
|
||||
selectQADropDown.sendKeys(Key.RETURN)
|
||||
|
||||
// Click on true
|
||||
const tfSelect = await driver.wait(until.elementLocated({id: "tf"}));
|
||||
await tfSelect.click()
|
||||
|
||||
|
||||
// Create new question
|
||||
const createButton = await driver.wait(until.elementLocated({id: "create-question-button"}));
|
||||
await createButton.click();
|
||||
|
||||
// Validate that the new question is successfully created
|
||||
await driver.wait(until.urlContains("/spa/question-bank/"))
|
||||
})
|
||||
it('Create long/short answer question', async () => {
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}/spa/question-bank/${questionBankId}`);
|
||||
const newQuestionButton = await driver.wait(until.elementLocated({className: 'new-question-button'}));
|
||||
await newQuestionButton.click();
|
||||
|
||||
// Get "name" and "description" fields from the form
|
||||
const nameInput = await driver.wait(until.elementLocated({id: "question-name-input"}));
|
||||
const descriptionInput = await driver.wait(until.elementLocated({id: "question-description-input"}));
|
||||
|
||||
await nameInput.sendKeys("Testing New Question Type")
|
||||
await descriptionInput.sendKeys("Long/Short answer question type");
|
||||
|
||||
|
||||
//Get question type drop down from the form
|
||||
const selectQADropDown = await driver.wait(until.elementLocated({id:"question-type-drop-down"}))
|
||||
await selectQADropDown.click()
|
||||
|
||||
// Navigate and select Long/Short answer question in the drop down
|
||||
selectQADropDown.sendKeys(Key.ARROW_DOWN)
|
||||
selectQADropDown.sendKeys(Key.ARROW_DOWN)
|
||||
selectQADropDown.sendKeys(Key.RETURN)
|
||||
|
||||
// Create new question
|
||||
const createButton = await driver.wait(until.elementLocated({id: "create-question-button"}));
|
||||
await createButton.click();
|
||||
|
||||
// Validate that the new question is successfully created
|
||||
await driver.wait(until.urlContains("/spa/question-bank/"))
|
||||
})
|
||||
|
||||
it('Create Multiple Answer Question', async () => {
|
||||
await driver.get(`${process.env.REACT_APP_ASSESSMENT_APP_URL}/spa/question-bank/${questionBankId}`);
|
||||
const newQuestionButton = await driver.wait(until.elementLocated({className: 'new-question-button'}));
|
||||
await newQuestionButton.click();
|
||||
|
||||
// Get all required fields, "description", "name", "checkbox", "answer" fields
|
||||
const nameInput = await driver.wait(until.elementLocated({id: "question-name-input"}));
|
||||
const descriptionInput = await driver.wait(until.elementLocated({id: "question-description-input"}));
|
||||
const option0Input = await driver.wait(until.elementLocated({id: "question-option-0"}));
|
||||
const option1Input = await driver.wait(until.elementLocated({id: "question-option-1"}));
|
||||
const createButton = await driver.wait(until.elementLocated({id: "create-question-button"}));
|
||||
|
||||
// Enter sample data into the fields
|
||||
await nameInput.sendKeys("2 + 2")
|
||||
await descriptionInput.sendKeys("What is the result of the sum of 2 and 2?");
|
||||
await option0Input.sendKeys("4");
|
||||
await option1Input.sendKeys("5");
|
||||
|
||||
// Validate that the new question is successfully created
|
||||
await createButton.click();
|
||||
await driver.wait(until.urlContains("/spa/question-bank/"))
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
})
|
Загрузка…
Ссылка в новой задаче