diff --git a/docs/en_us/course_authors/source/Images/multiple-choice-shuffle-1.png b/docs/en_us/course_authors/source/Images/multiple-choice-shuffle-1.png
new file mode 100644
index 0000000000..61883c66be
Binary files /dev/null and b/docs/en_us/course_authors/source/Images/multiple-choice-shuffle-1.png differ
diff --git a/docs/en_us/course_authors/source/Images/multiple-choice-shuffle-2.png b/docs/en_us/course_authors/source/Images/multiple-choice-shuffle-2.png
new file mode 100644
index 0000000000..0f8fb0da49
Binary files /dev/null and b/docs/en_us/course_authors/source/Images/multiple-choice-shuffle-2.png differ
diff --git a/docs/en_us/course_authors/source/change_log.rst b/docs/en_us/course_authors/source/change_log.rst
index 402b1f48f6..c872aaac81 100644
--- a/docs/en_us/course_authors/source/change_log.rst
+++ b/docs/en_us/course_authors/source/change_log.rst
@@ -1,8 +1,10 @@
-
-
-**********
+############
Change Log
-**********
+############
+
+************
+April, 2014
+************
.. list-table::
:widths: 10 70
@@ -10,6 +12,13 @@ Change Log
* - Date
- Change
+ * - 04/16/14
+ - In support of new features, added the following sections to :ref:`Multiple Choice` problems:
+
+ * :ref:`Shuffle Answers in a Multiple Choice Problem`
+ * :ref:`Targeted Feedback in a Multiple Choice Problem`
+ * :ref:`Answer Pools in a Multiple Choice Problem`
+
* - 4/15/14
- Updated :ref:`Testing Your Course` to include a section on how to :ref:`View Your Live Course`.
* - 4/11/14
@@ -32,6 +41,18 @@ Change Log
* -
- Updated the :ref:`Releasing Your Course Index` section to include
:ref:`Launch`.
+
+
+************
+March, 2014
+************
+
+.. list-table::
+ :widths: 10 70
+ :header-rows: 1
+
+ * - Date
+ - Change
* - 03/31/14
- Expanded the :ref:`Grades` chapter to include the new
:ref:`Review_Answers` section.
@@ -73,6 +94,18 @@ Change Log
* :ref:`Describe Your Course`
+
+
+****************
+February, 2014
+****************
+
+.. list-table::
+ :widths: 10 70
+ :header-rows: 1
+
+ * - Date
+ - Change
* - 02/25/14
- Updated :ref:`Add Files to a Course` section to include new External URL
feature.
@@ -112,6 +145,18 @@ Change Log
* -
- Added :ref:`Additional Tools` topic with :ref:`Multiple Choice and
Numerical Input` and :ref:`Protein Builder`.
+
+
+**************
+January, 2014
+**************
+
+.. list-table::
+ :widths: 10 70
+ :header-rows: 1
+
+ * - Date
+ - Change
* - 01/29/2014
- Added the chapter :ref:`Using an Instant Hangout in Your Course`.
* - 01/24/2014
@@ -146,9 +191,17 @@ Change Log
- Updated the chapters :ref:`Organizing Your Course Content` and
:ref:`Testing Your Course` to reflect changes in the Course Outline
design.
- * -
- - Updated the topic :ref:`Add Files to a Course` to reflect addition of
- pagination to the Files & Uploads page.
+
+***************
+December, 2013
+***************
+
+.. list-table::
+ :widths: 10 70
+ :header-rows: 1
+
+ * - Date
+ - Change
* - 12/20/2013
- Made :ref:`ORA for Students` into template that instructors can
customize.
diff --git a/docs/en_us/course_authors/source/problems_tools/common_problems.rst b/docs/en_us/course_authors/source/problems_tools/common_problems.rst
index 571764b3c5..4aaed74188 100644
--- a/docs/en_us/course_authors/source/problems_tools/common_problems.rst
+++ b/docs/en_us/course_authors/source/problems_tools/common_problems.rst
@@ -47,8 +47,9 @@ Create a Checkbox Problem
You can create checkbox problems in the Simple Editor or in the Advanced Editor.
+++++++++++++++++++++++++++++++++++++++++++
Simple Editor
--------------
+++++++++++++++++++++++++++++++++++++++++++
#. Under **Add New Component**, click **Problem**.
#. In the **Select Problem Component Type** screen, click **Checkboxes** on the **Common Problem Types** tab.
@@ -91,8 +92,9 @@ following.
(or other preventative measures) have fewer benefits than they actually do.
[explanation]
+++++++++++++++++++++++++++++++++++++++++++
Advanced Editor
----------------
+++++++++++++++++++++++++++++++++++++++++++
To create this problem in the Advanced Editor, click the **Advanced** tab in the Problem component editor, and then replace the existing code with the following code.
@@ -142,8 +144,9 @@ Create a Dropdown Problem
You can create dropdown problems in the Simple Editor or in the Advanced Editor.
+++++++++++++++++++++++++++++++++++++++++++
Simple Editor
--------------
+++++++++++++++++++++++++++++++++++++++++++
To create a dropdown problem, follow these steps.
@@ -186,8 +189,9 @@ following.
Life stage - infant, child, and adult:
[[(Nominal), Discrete, Continuous]]
+++++++++++++++++++++++++++++++++++++++++++
Advanced Editor
----------------
+++++++++++++++++++++++++++++++++++++++++++
To create this problem in the Advanced Editor, click the **Advanced** tab in the Problem component editor, and then replace the existing code with the following code.
@@ -229,14 +233,21 @@ the question.
.. image:: ../Images/MultipleChoiceExample.png
:alt: Image of a multiple choice problem
+You can also configure the following:
+
+* :ref:`Shuffle Answers in a Multiple Choice Problem`
+* :ref:`Targeted Feedback in a Multiple Choice Problem`
+* :ref:`Answer Pools in a Multiple Choice Problem`
+
==================================
Create a Multiple Choice Problem
==================================
You can create multiple choice problems in the Simple Editor or in the Advanced Editor.
+++++++++++++++++++++++++++++++++++++++++++
Simple Editor
--------------
+++++++++++++++++++++++++++++++++++++++++++
#. Under **Add New Component**, click **Problem**.
#. In the **Select Problem Component Type** screen, click **Multiple
@@ -290,8 +301,9 @@ following.
investigating lateral inhibition using horseshoe crabs.
[Explanation]
+++++++++++++++++++++++++++++++++++++++++++
Advanced Editor
----------------
+++++++++++++++++++++++++++++++++++++++++++
To create this problem in the Advanced Editor, click the **Advanced** tab in the Problem component editor, and then replace the existing code with the following code.
@@ -316,6 +328,244 @@ To create this problem in the Advanced Editor, click the **Advanced** tab in the
+.. _Shuffle Answers in a Multiple Choice Problem:
+
+=============================================
+Shuffle Answers in a Multiple Choice Problem
+=============================================
+
+Optionally, you can configure a multiple choice problem so that it shuffles the order of possible answers.
+
+For example, one view of the problem could be:
+
+.. image:: ../Images/multiple-choice-shuffle-1.png
+ :alt: Image of a multiple choice problem
+
+And another view of the same problem, for another student or for the same student of a subsequent view of the unit, could be:
+
+.. image:: ../Images/multiple-choice-shuffle-2.png
+ :alt: Image of a multiple choice problem with shuffled answers
+
+You can also have some answers shuffled, but not others. For example, you may want to have the answer "All of the Above" fixed at the end of the list, but shuffle other answers.
+
+You can configure the problem to shuffle answers through :ref:`Simple Editor` or :ref:`Advanced Editor`.
+
+++++++++++++++++++++++++++++++++++++++++++
+Use the Simple Editor to Shuffle Answers
+++++++++++++++++++++++++++++++++++++++++++
+
+You can configure the problem to shuffle answers in :ref:`Simple Editor`.
+
+For example, the following text defines a multiple choice problem, before shuffling is enabled. The ``(x)`` indicates the correct answer::
+
+ >>What Apple device competed with the portable CD player?<<
+ ( ) The iPad
+ ( ) Napster
+ (x) The iPod
+ ( ) The vegetable peeler
+
+To add shuffling to this problem, add ``!`` in the parenthesis of the first answer::
+
+ >>What Apple device competed with the portable CD player?<<
+ (!) The iPad
+ ( ) Napster
+ (x) The iPod
+ ( ) The vegetable peeler
+
+To fix an answer's location in the list, add ``@`` in the parenthesis of that answer::
+
+ >>What Apple device competed with the portable CD player?<<
+ (!) The iPad
+ ( ) Napster
+ (x) The iPod
+ ( ) The vegetable peeler
+ (@) All of the above
+
+You can combine symbols within parenthesis as necessary. For example, to show the correct answer in a fixed location, you could use::
+
+ (x@) The iPod
+
+++++++++++++++++++++++++++++++++++++++++++
+Use the Advanced Editor to Shuffle Answers
+++++++++++++++++++++++++++++++++++++++++++
+
+You can configure the problem to shuffle answers through XML in :ref:`Advanced Editor`.
+
+For example, the following XML defines a multiple choice problem, before shuffling is enabled:
+
+.. code-block:: xml
+
+
What Apple device competed with the portable CD player?
+
+
+ The iPad
+ Napster
+ The iPod
+ The vegetable peeler
+
+
+
+
+To add shuffling to this problem, add ``shuffle="true"`` to the ```` element:
+
+.. code-block:: xml
+
+ What Apple device competed with the portable CD player?
+
+
+ The iPad
+ Napster
+ The iPod
+ The vegetable peeler
+
+
+
+To fix an answer's location in the list, add ``fixed="true"`` to the ``choice`` element for the answer:
+
+.. code-block:: xml
+
+ What Apple device competed with the portable CD player?
+
+
+ The iPad
+ Napster
+ The iPod
+ The vegetable peeler
+ All of the above
+
+
+
+
+.. _Targeted Feedback in a Multiple Choice Problem:
+
+===============================================
+Targeted Feedback in a Multiple Choice Problem
+===============================================
+
+You can configure a multiple choice problem so that explanations for incorrect answers are automatically shown to students. You can use these explanations to guide students towards the right answer. Therefore, targeted feedback is most useful for multiple choice problems for which students are allowed multiple attempts.
+
+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Use the Advanced Editor to Configure Targeted Feedback
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+You configure the problem to provide targeted feedback through XML in :ref:`Advanced Editor`.
+
+Follow these XML guidelines:
+
+* Add a ``targeted-feedback`` attribute to the ```` element, with no value: ````
+* Add a ```` element before the ```` element.
+* Within ````, add one or more ```` elements.
+* Within each ```` element, enter your explanation for the incorrect answer in HTML as markup described below.
+* Connect the ```` element with a specific incorrect answer by using the same ``explanation-id`` attribute value for each.
+* Use the ```` element for the correct answer, with the same ``explanation-id`` attribute value as the correct ````.
+
+For example, the XML for the multiple choice problem is:
+
+.. code-block:: xml
+
+ What Apple device competed with the portable CD player?
+
+
+ The iPad
+ Napster
+ The iPod
+ The vegetable peeler
+
+
+
+This is followed by XML that defines the targeted feedback:
+
+.. code-block:: xml
+
+
+
+
+
Targeted Feedback
+
The iPad came out later and did not directly compete the portable CD players.
+
+
+
+
+
Targeted Feedback
+
Napster was not an Apple product.
+
+
+
+
+
Targeted Feedback
+
No, not even close.
+
+
+
+
+
+
+
Yes, the iPod competed with portable CD players.
+
+
+
+
+.. _Answer Pools in a Multiple Choice Problem:
+
+=============================================
+Answer Pools in a Multiple Choice Problem
+=============================================
+
+You can configure a multiple choice problem so that a random subset of choices are shown to each student. For example, you can add 10 possible choices to the problem, and each student views a set of five choices.
+
+The answer pool must have at least one correct answer, and can have more than one. In each set of choices shown to a student, one correct answer is included. For example, you may configure two correct answers in the set of 10. One of the two correct answers is included in each set a student views.
+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Use the Advanced Editor to Configure Answer Pools
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+You configure the problem to provide answer pools through XML in :ref:`Advanced Editor`.
+
+Follow these XML guidelines:
+
+* In the ```` element, add the ``answer-pool`` attribute, with the numerical value indicating the number of possible answers in the set. For example, ````.
+
+* For each correct answer, to the ```` element, add an ``explanation-id`` attribute and value that maps to a solution. For example, ``The iPod``.
+
+* For each ```` element, add an ``explanation-id`` attribute and value that maps back to a correct answer. For example, ````.
+
+.. note:: If the choices include only one correct answer, you do not have to use the ``explanation-id`` in either the ``choice`` or ```` element. You do still use the ```` element to wrap the ```` element.
+
+For example, for the following multiple choice problem, a student will see four choices, and in each set one of the choices will be one of the two correct ones. The explanation shown for the correct answer is the one with the same explanation ID.
+
+.. code-block:: xml
+
+
+ What Apple devices let you carry your digital music library in your pocket?
+
+
+ The iPad
+ Napster
+ The iPod
+ The vegetable peeler
+ The iMac
+ The iPhone
+
+
+
+
+
+
+
Explanation
+
Yes, the iPod is Apple's portable digital music player.
+
+
+
+
+
Explanation
+
In addition to being a cell phone, the iPhone can store and play your digital music.
+
+
+
+
+
+
.. _Numerical Input:
*******************
@@ -363,8 +613,9 @@ Student Answers
.. _Math Expression Syntax:
++++++++++++++++++++++++
Math Expression Syntax
-----------------------
++++++++++++++++++++++++
In numerical input problems, the **student's input** may be more complicated than a
simple number. Expressions like ``sqrt(3)`` and even ``1+e^(sin(pi/2)+2*i)``
@@ -455,8 +706,10 @@ For example, the following example problems require the Advanced Editor.
For more information about including a Python script in your problem, see :ref:`Custom Python Evaluated Input`.
-Simple Editor
--------------
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Create a Numerical Input Problem in the Simple Editor
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#. Under **Add New Component**, click **Problem**.
#. In the **Select Problem Component Type** screen, click **Numerical
@@ -503,8 +756,26 @@ following.
[explanation]
-Advanced Editor
----------------
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Create a Numerical Input Problem in the Advanced Editor
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+**Examples**
+
+The following are a few more examples of the way that Studio renders numerical input
+text that students enter.
+
+.. image:: ../Images/Math1.gif
+ :alt: Image of a numerical input probem rendered by Studio
+.. image:: ../Images/Math2.gif
+ :alt: Image of a numerical input probem rendered by Studio
+.. image:: ../Images/Math3.gif
+ :alt: Image of a numerical input probem rendered by Studio
+.. image:: ../Images/Math4.gif
+ :alt: Image of a numerical input probem rendered by Studio
+.. image:: ../Images/Math5.gif
+ :alt: Image of a numerical input probem rendered by Studio
To create this problem in the Advanced Editor, click the **Advanced** tab in the Problem component editor, and then replace the existing code with the following code.
@@ -581,8 +852,9 @@ Create a Text Input Problem
You can create multiple choice problems in the Simple Editor or in the Advanced Editor.
+++++++++++++++++++++++++++++++++++++++++++
Simple Editor
--------------
+++++++++++++++++++++++++++++++++++++++++++
To create a text input problem in the Simple Editor, follow these steps.
@@ -625,8 +897,9 @@ following.
from the group (even when the group does not have 100% bednet coverage).
[explanation]
+++++++++++++++++++++++++++++++++++++++++++
Advanced Editor
----------------
+++++++++++++++++++++++++++++++++++++++++++
To create this problem in the Advanced Editor, click the **Advanced** tab in the Problem component editor, and then replace the existing code with the following code.
@@ -676,8 +949,9 @@ For example, instead of requiring students to enter exactly "Dr. Martin Luther
King, Junior," you can allow answers of "Martin Luther King," "Doctor Martin
Luther King," and other variations. To do this, you can use the Simple Editor or the Advanced Editor.
+++++++++++++++++++++++++++++++++++++++++++
Simple Editor
--------------
+++++++++++++++++++++++++++++++++++++++++++
To specify additional correct responses in the Simple Editor, include "or=" (without the quotation marks) before each additional correct response.
@@ -690,9 +964,9 @@ To specify additional correct responses in the Simple Editor, include "or=" (wit
or= Martin Luther King
-
+++++++++++++++++++++++++++++++++++++++++++
Advanced Editor
----------------
+++++++++++++++++++++++++++++++++++++++++++
To specify additional correct responses in the Advanced Editor, add an ```` for each correct response inside the opening and closing ```` tags.
@@ -774,3 +1048,110 @@ You can provide hints that appear when students enter common incorrect answers i
The regular expression that the student enters must contain the part of the answer that the instructor specifies. For example, if an instructor has specified ````, correct answers include ``example answered``, ``two example answers``, or even ``==example answer==``, but not ``examples`` or ``example anser``.
You can add ``regexp`` to the value of the ``type`` attribute, for example: ``type="ci regexp"`` or ``type="regexp"`` or ``type="regexp cs"``. In this case, any answer or hint are treated as regular expressions.
+
+
+You can provide hints for common incorrect answers in text input problems. You can also set a text input problem to allow a regular expression as an answer. To do this, you'll have to modify the problem's XML in the Advanced Editor. For more information, see :ref:`Text Input`.
+
+Although you can create text input problems by using the Simple Editor in Studio, you may want to see or change the problem's underlying XML. For example, you can add hints that appear when students enter common incorrect answers, or modify the problem's XML so that students can submit regular expressions as answers.
+
+The regular expression that the student enters must contain the part of the answer that the instructor specifies. For example, if an instructor has specified ````, correct answers include ``example answered``, ``two example answers``, or even ``==example answer==``, but not ``examples`` or ``example anser``.
+
+You can add ``regexp`` to the value of the ``type`` attribute, for example: ``type="ci regexp"`` or ``type="regexp"`` or ``type="regexp cs"``. In this case, any answer or hint will be treated as regular expressions.
+
+**Sample Problem**
+
+.. image:: /Images/TextInputExample.gif
+ :alt: Image of a string response problem
+
+**XML Tags**
+
+.. list-table::
+ :widths: 20 80
+
+ * - ````
+ - Indicates that the problem is a text input problem.
+ * - ````
+ - Child of ````. Lists the answer options and contains the ``label`` attribute.
+ * - ```` (optional)
+ - Specifies an additional correct answer for the problem. A problem can contain an unlimited number of additional answers.
+ * - ```` (optional)
+ - Indicates that the instructor has provided hints for certain common incorrect answers.
+ * - ```` (optional)
+ - Child of ````. Specifies the text of the incorrect answer to provide the hint for. Contains answer, type, name.
+ * - ````
+ - Contains the name from ````. Associates the incorrect answer with the hint text for that incorrect answer.
+ * - ````
+ - Indicates the beginning of the text of the hint.
+ * - ````
+ - Indicates the end of the text of the hint.
+
+**Sample Problem Code**
+
+.. code-block:: xml
+
+
+
+ This problem is adapted from an exercise that first appeared in MITx's 14.73x The Challenges of Global Poverty course, spring 2013.
+
+ What is the technical term that refers to the fact that, when enough people sleep under a bednet, the disease may altogether disappear?
+
+ community immunity
+ population immunity
+
+
+
+
+
+ In contact immunity, a vaccinated individual passes along his immunity to another person through contact with feces or bodily fluids. The answer to the question above refers to the form of immunity that occurs when so many members of a population are protected, an infectious disease is unlikely to spread to the unprotected population.
+
+
+
+
+
+ Although a firewall provides protection for a population, the term "firewall" is used more in computing and technology than in epidemiology.
+
+
+
+
+
+
+
Explanation
+
The correct answer is herd immunity. As more and more people use bednets, the risk of malaria begins to fall for everyone – users and non-users alike. This can fall to such a low probability that malaria is effectively eradicated from the group (even when the group does not have 100% bednet coverage).
+
+
+
+
+**Template**
+
+.. code-block:: xml
+
+
+ Problem text
+
+ Correct answer 2
+ Correct answer 3
+
+
+
+
+ Text of hint for incorrect answer A
+
+
+
+ Text of hint for incorrect answer B
+
+
+
+ Text of hint for incorrect answer C
+
+
+
+
+
+
Explanation or Solution Header
+
Explanation or solution text
+
+
+
+
+You can provide hints for common incorrect answers in text input problems. You can also set a text input problem to allow a regular expression as an answer. To do this, you'll have to modify the problem's XML in the Advanced Editor. For more information, see :ref:`Text Input`.
diff --git a/docs/en_us/course_authors/source/problems_tools/create_problem_component.rst b/docs/en_us/course_authors/source/problems_tools/create_problem_component.rst
index 7b800b2e79..a1c6ef5726 100644
--- a/docs/en_us/course_authors/source/problems_tools/create_problem_component.rst
+++ b/docs/en_us/course_authors/source/problems_tools/create_problem_component.rst
@@ -139,6 +139,9 @@ Editor and the Advanced Editor.
of the Simple Editor interface. However, it is not possible to switch from
the Advanced Editor to the Simple Editor.
+
+.. _Simple Editor:
+
The Simple Editor
~~~~~~~~~~~~~~~~~
The Common Problem templates, including multiple choice, open in the Simple Editor. The