This commit is contained in:
Neha Ranade 2022-04-28 13:44:03 +01:00
Родитель 63ce3f8109
Коммит 2b65b8655d
16 изменённых файлов: 7952 добавлений и 0 удалений

Просмотреть файл

@ -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.&nbsp;</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&nbsp;</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&nbsp;</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(&quot;Hello&quot;);\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(&quot;So true&quot;);\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(&quot;OK&quot;);</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(&quot;OK&quot;);</pre><br />{FALSE}
// question: 38243 name: True or false:
::True or false\: ::[html]True or false\: &quot;Encapsulation is a technique for maximising interdependencies among separately written modules by defining strict external interfaces.&quot;{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.&nbsp;</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&nbsp;</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&nbsp;</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">&lt;div&gt;&lt;p&gt;What is 5 + 5?&lt;/p&gt;&lt;/div&gt;</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">&lt;div&gt;&lt;p&gt;Please describe how human metabolism works with regards to hormones.&lt;/p&gt;&lt;/div&gt;</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">&lt;div&gt;&lt;p&gt;Which of the following is an application of Machine Learning?&lt;/p&gt;&lt;/div&gt;</mattext>
</material>
<response_lid ident="response1" rcardinality="Single">
<render_choice>
<response_label ident="1790">
<material>
<mattext texttype="text/html">&lt;p&gt;Making cement&lt;/p&gt;</mattext>
</material>
</response_label>
<response_label ident="984">
<material>
<mattext texttype="text/html">&lt;p&gt;Healthcare&lt;/p&gt;</mattext>
</material>
</response_label>
<response_label ident="1690">
<material>
<mattext texttype="text/html">&lt;p&gt;Sewing&amp;nbsp;&lt;/p&gt;</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">&lt;div&gt;&lt;p&gt;Which of the following functionalities are provided by sklearn?&lt;/p&gt;&lt;/div&gt;</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">&lt;div&gt;&lt;p&gt;Java is a functional programming language&lt;/p&gt;&lt;/div&gt;</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">&lt;div&gt;&lt;p&gt;What is 5 + 5?&lt;/p&gt;&lt;/div&gt;</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">&lt;div&gt;&lt;p&gt;Please describe how human metabolism works with regards to hormones.&lt;/p&gt;&lt;/div&gt;</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">&lt;div&gt;&lt;p&gt;Which of the following is an application of Machine Learning?&lt;/p&gt;&lt;/div&gt;</mattext>
</material>
<response_lid ident="response1" rcardinality="Single">
<render_choice>
<response_label ident="1790">
<material>
<mattext texttype="text/html">&lt;p&gt;Making cement&lt;/p&gt;</mattext>
</material>
</response_label>
<response_label ident="984">
<material>
<mattext texttype="text/html">&lt;p&gt;Healthcare&lt;/p&gt;</mattext>
</material>
</response_label>
<response_label ident="1690">
<material>
<mattext texttype="text/html">&lt;p&gt;Sewing&amp;nbsp;&lt;/p&gt;</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">&lt;div&gt;&lt;p&gt;Which of the following functionalities are provided by sklearn?&lt;/p&gt;&lt;/div&gt;</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">&lt;div&gt;&lt;p&gt;Java is a functional programming language&lt;/p&gt;&lt;/div&gt;</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">&lt;div&gt;&lt;div class="move"&gt;&lt;a class="draggable-handle" role="button"&gt;&lt;i class="icon-drag-handle"&gt;&lt;span class="screenreader-only"&gt;Move To...&lt;/span&gt;&lt;span class="accessibility-warning screenreader-only"&gt;This element is a more accessible alternative to drag &amp;amp; drop reordering. Press Enter or Space to move this question.&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="header"&gt;&lt;span class="name question_name" role="heading" aria-level="2"&gt;What is 5 + 5&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</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">&lt;div&gt;&lt;div class="move"&gt;&lt;a class="draggable-handle" role="button"&gt;&lt;i class="icon-drag-handle"&gt;&lt;span class="screenreader-only"&gt;Move To...&lt;/span&gt;&lt;span class="accessibility-warning screenreader-only"&gt;This element is a more accessible alternative to drag &amp;amp; drop reordering. Press Enter or Space to move this question.&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="header"&gt;&lt;span class="name question_name" role="heading" aria-level="2"&gt;What is 4 - 3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</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": "Students 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": "Students 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/"))
})
})
})