Commit 19c873e4 by Toddi Norum Committed by David Baumgold

Working HTML docs

parent 716e0e27
==========================
APPENDIX E: Problem Types
==========================
**Option Response**
The Option Response input type allows the student to choose from a collection of answer options, presented as a drop-down list.
Option Response is structurally similar to Multiple Choice. Some conceptual differences between the two include the following.
• The Multiple Choice radio button format makes it easier for students to read very long response options.
• The Option Response drop-down input format makes it more likely for students to think of an answer and then search for it, rather than relying purely on recognition to answer the question.
The Multiple Choice format is more explicit and visual. This makes it a more appropriate choice for presenting tricky or complicated answer options which are intended to get the student to pause and think.
**Sample Problem**
Insert Image
**Problem Code** ::
<problem>
<p>Option Response is most similar to __________.</p>
<optionresponse>
<optioninput options="('Multiple Choice','String Response','Numerical Response','External Response','Image Response')"correct="Multiple Choice"/>
</optionresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>Like Option Response, Multiple Choice also allows students to select from a variety of pre-written responses.</p>
</div>
</solution>
</problem>
**Template** ::
<problem>
<optionresponse>
options="('A','B')"
correct="A"/>
</optionresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
**XML Attribute Information** ::
<optionresponse>
<optioninput>
**Multiple Choice**
The Multiple Choice input type allows the student to select at most one choice from a collection of answer choices, presented as a list of radio buttons.
A Multiple Choice problem can have more than one correct answer, depending on how many choices are marked as correct in the underlying XML. If all choices are marked as incorrect, there is no correct response.
Multiple Choice is structurally similar to Option Response. Some conceptual differences between the two include the following.
• The Multiple Choice radio button format makes it easier for students to read very long response options.
• The Option Response drop-down input format makes it more likely for students to think of an answer and then search for it, rather than relying purely on recognition to answer the question.
• The Multiple Choice format is more explicit and visual. This makes it a more appropriate choice for presenting tricky or complicated answer options which are intended to get the student to pause and think.
Sample Problem
**Problem Code** ::
<problem>
<p><b>Example Problem</b></p>
<p>How many correct responses can a Multiple Choice question have?</p>
<multiplechoiceresponse>
<choicegroup type="MultipleChoice">
<choice correct="false" name="one">Only one</choice>
<choice correct="false" name="zeroone">Only zero or one</choice>
<choice correct="true" name="zeromore">Zero or more</choice>
<choice correct="false" name="onemore">Only one or more</choice>
<choice correct="false" name="noone">Nobody knows</choice>
<choice correct="true" name="someone">Somebody might know :)</choice>
</choicegroup>
</multiplechoiceresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>It depends on how many choices are marked as correct in the underlying XML.</p>
<p>Note that if all choices are marked as incorrect, there is no
correct response.</p>
</div>
</solution>
</problem>
**Template** ::
<problem>
<multiplechoiceresponse>
<choicegroup type="MultipleChoice">
<choice correct="false" name="a">A</choice>
<choice correct="true" name="b">B</choice>
</choicegroup>
</multiplechoiceresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
**XML Attribute Information**
<multiplechoiceresponse>
+---------------------------+------------------+----------------------+
| Attribute | Description | Notes |
| | | |
+===========================+==================+======================+
| Options | A list of options|Attribute must be |
| | that students |defined with double |
| | choose from. |quotes and the values |
| | |in the list with |
| | |single quotes. |
| | | |
| | |There must be a space |
| | |between the separating|
| | |commas and single |
| | |quote start of the |
| | |option. |
| | | |
| | |Answers displayed to |
| | |students cannot con- |
| | |tain any quotes. |
+---------------------------+------------------+----------------------+
| correct | The option that | To get credit, this |
| | grader will | option must be typed |
| | accept as correct| exactly the same as |
| | | the definition in |
| | | "options" |
+---------------------------+------------------+----------------------+
Attribute
Description
Notes
Children
Description
Notes
All standard HTML tags
to display text relevant to the problem
choicegroup
a method to take input from students. See description below
<choicegroup>
Attribute
Description
Notes
type
needs to have the value "MultipleChoice"
Children
Description
Notes
choice
a description of an option to de displayed to students. Details below
<choice>
Attribute
Description
Notes
name
(optional) a unique name that the backend will use to refer to this option
correct
"true" if this option is the correct answer, "false" if not
Only one choice in the choicegroup can have correct="true" in order for it to be possible to get the correct answer
Checkbox
The Checkbox input type allows the student to select zero or more choices from a collection of answer choices, presented as a list of checkboxes.
Remark: Questions with one Checkbox input type have exactly one correct response. All the choices marked as correct="true" have to be selected for the submitted answer (i.e. the response) to be considered correct.
In particular, the response of no boxes checked off could be the single correct response, and a Checkbox question, unlike a Multiple Choice question, cannot have zero correct responses.
Sample Problem
Problem Code
<problem>
<startouttext/>
<p>How many correct responses can a Checkbox question have?</p>
<choiceresponse>
<checkboxgroup>
<choice correct="false"><text>Zero</text></choice>
<choice correct="true"><text>One</text></choice>
<choice correct="false"><text>Two or more</text></choice>
<choice correct="false"><text>Nobody knows</text></choice>
<choice correct="true"><text>Somebody might know :)</text></choice>
</checkboxgroup>
</choiceresponse>
</problem>
Template
<problem>
<choiceresponse>
<checkboxgroup>
<choice correct="false"><text>Zero</text></choice>
<choice correct="true"><text>One</text></choice>
</checkboxgroup>
</choiceresponse>
</problem>
String Response
The String Response input type provides an input box in which the student can enter a line of text, which is then checked against a specified expected answer.
A String Response input does not provide any answer suggestions, so it can be a good way to get the students to engage with the material more deeply in a sequence and look up, figure out, or remember the correct answer themselves.
Note that a student's answer in a String Response is marked as correct if it matches every character of the expected answer. This can be a problem with international spelling, dates, or anything where the format of the answer is not clear.
Sample Problem
Problem Code
<problem>
<p><b>Example Problem</b></p>
<p>What is the name of this unit? (What response type is this?)</p>
<stringresponse answer="String Response" type="ci">
<textline size="20"/>
</stringresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>The name of this unit is "String Response," written without the punctuation.</p>
<p>Arbitrary capitalization is accepted.</p>
</div>
</solution>
</problem>
Template
<problem>
<stringresponse answer="REPLACE_THIS" type="ci">
<textline size="20"/>
</stringresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
XML Attribute Information
<stringresponse>
Attribute
Description
Notes
type
(optional) "ci" if the student response should be graded case-insensitively. The default is to take case into consideration when grading.
answer
The string that students need to enter in order to get credit.
Children
Description
Notes
textline
used to accept student input. See description below
<textline>
Attribute
Description
Notes
math
(optional) If this attribute has any value at all, a math preview will display beneath the textbox showing well-formatted math corresponding to student input
size
(optional) defines the size in character widths of the input box as it is displayed to students.
hidden
(optional) if true, the textbox will be hidden from students.
Children
Description
Notes
Numerical Response
The Numerical Response input type accepts a line of text input from the student and evaluates the input for correctness based on its numerical value. The input is allowed to be a number or a mathematical expression in a fixed syntax.
The answer is correct if it is within a specified numerical tolerance of the expected answer.
The expected answer can be specified explicitly or precomputed by a Python script.
Sample Problem
Problem Code
<problem>
<p><b>Example Problem</b></p>
<p>What base is the decimal numeral system in?
<numericalresponse answer="10">
<textline />
</numericalresponse>
</p>
<p>What is the value of the standard gravity constant <i>g</i>, measured in m/s<sup>2</sup>? Give your answer to at least two decimal places.
<numericalresponse answer="9.80665">
<responseparam type="tolerance" default="0.01" />
<textline />
</numericalresponse>
</p>
<!-- Use python script spacing. The following should not be indented! -->
<script type="loncapa/python">
computed_response = math.sqrt(math.fsum([math.pow(math.pi,2), math.pow(math.e,2)]))
</script>
<p>What is the distance in the plane between the points (pi, 0) and (0, e)? You can type math.
<numericalresponse answer="$computed_response">
<responseparam type="tolerance" default="0.0001" />
<textline math="1" />
</numericalresponse>
</p>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>The decimal numerical system is base ten.</p>
<p>The standard gravity constant is defined to be precisely 9.80665 m/s<sup>2</sup>.
This is 9.80 to two decimal places. Entering 9.8 also works.</p>
<p>By the distance formula, the distance between two points in the plane is
the square root of the sum of the squares of the differences of each coordinate.
Even though an exact numerical value is checked in this case, the
easiest way to enter this answer is to type
<code>sqrt(pi^2+e^2)</code> into the editor.
Other answers like <code>sqrt((pi-0)^2+(0-e)^2)</code> also work.
</p>
</div>
</solution>
</problem>
Templates
Exact values
<problem>
<numericalresponse answer="10">
<textline />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Answers with decimal precision
<problem>
<numericalresponse answer="9.80665">
<responseparam type="tolerance" default="0.01" />
<textline />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Answers with percentage precision
<problem>
<numericalresponse answer="100">
<responseparam type="tolerance" default="10%" />
<textline />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Answers with a live math interpretation popup display
<problem>
<numericalresponse answer="3.14159">
<responseparam type="tolerance" default="0.00001" />
<textline math="1" />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Answers with scripts
<problem>
<!-- Use python script spacing. The following should not be indented! -->
<script type="loncapa/python">
computed_response = math.sqrt(math.fsum([math.pow(math.pi,2), math.pow(math.e,2)]))
</script>
<numericalresponse answer="$computed_response">
<responseparam type="tolerance" default="0.0001" />
<textline math="1" />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
XML Attribute Information
<script>
Attribute
Description
Notes
type
"loncapa/python" - a script written in python
• A problem will behave the same way if all of the code in all of the script tags were in a single script tag. Specifically, any variables that are used in multiple script tags share a namespace and can be overridden.
• Like all python, indentation matters, even though it is embedded in XML.
Children
Description
Notes
<numericalresponse>
Attribute
Description
Notes
answer
A value to which student input must be equivalent. Note that this expression can be expressed in terms of a variable that is computed in a script provided in the problem by preceding the appropriate variable name with a dollar sign.
Note that any numeric expression provided by the student will be automatically simplified on the grader's backend.
Children
Description
Notes
responseparam
used to specify a tolerance on the accepted values of a number. See description below
textline
a format to take input from students. See description below
<responseparam>
Attribute
Description
Notes
type
"tolerance" - defines a tolerance for a number
default
either a number or a percentage, defining how different from the provided answer a student answer can be while still getting full credit
Children
Description
Notes
<textline>
Attribute
Description
Notes
math
(optional) If this attribute has any value at all, a math preview will display beneath the textbox showing well-formatted math corresponding to student input
size
(optional) defines the size in character widths of the input box as it is displayed to students.
hidden
(optional) if true, the textbox will be hidden from students.
Children
Description
Notes
Formula Response
The Formula Response input type accepts a line of text representing a mathematical expression from the student and evaluates the input for equivalence to a mathematical expression provided by the grader. Correctness is based on numerical sampling of the symbolic expressions.
The answer is correct if both the student-provided response and the grader's mathematical expression are equivalent to specified numerical tolerance, over a specified range of values for each variable.
This kind of response type can handle symbolic expressions. However, it places an extra burden on the problem author to specify the allowed variables in the expression and the numerical ranges over which the variables must be sampled in order to test for correctness.
Sample Problem
Problem Code
<problem>
<p><b>Example Problem</b></p>
<p>This is a short introduction to the Formula Response editor.</p>
<p>Write an expression for the product of R_1, R_2, and the inverse of R_3.</p>
<formularesponse type="ci" samples="R_1,R_2,R_3@1,2,3:3,4,5#10" answer="$VoVi">
<responseparam type="tolerance" default="0.00001"/>
<textline size="40" math="1" />
</formularesponse>
<p>Let <i>c</i> denote the speed of light. What is the relativistic energy <i>E</i> of an object of mass <i>m</i>?</p>
<script type="loncapa/python">
VoVi = "(R_1*R_2)/R_3"
</script>
<formularesponse type="cs" samples="m,c@1,2:3,4#10" answer="m*c^2">
<responseparam type="tolerance" default="0.00001"/>
<text><i>E</i> =</text> <textline size="40" math="1" />
</formularesponse>
<p>Let <i>x</i> be a variable, and let <i>n</i> be an arbitrary constant. What is the derivative of <i>x<sup>n</sup></i>?</p>
<script type="loncapa/python">
derivative = "n*x^(n-1)"
</script>
<formularesponse type="ci" samples="x,n@1,2:3,4#10" answer="$derivative">
<responseparam type="tolerance" default="0.00001"/>
<textline size="40" math="1" />
</formularesponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>Use standard arithmetic operation symbols and indicate multiplication explicitly.</p>
<p>Use the symbol <tt>^</tt> to raise to a power.</p>
<p>Use parentheses to specify order of operations.</p>
</div>
</solution>
</problem>
Template
<problem>
<script type="loncapa/python">
answer_value = "n*x^(n-1)"
</script>
<formularesponse type="ci" samples="x,n@1,2:3,4#10" answer="$answer_value">
<responseparam type="tolerance" default="0.00001"/>
<textline size="40" math="1" />
</formularesponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
XML Attribute Information
<script>
Attribute
Description
Notes
type
"loncapa/python" - a script written in python
• A problem will behave the same way if all of the code in all of the script tags were in a single script tag. Specifically, any variables that are used in multiple script tags share a namespace and can be overridden.
• Like all python, indentation matters, even though it is embedded in XML.
Children
Description
Notes
<formularesponse>
Attribute
Description
Notes
type
• "cs" - Case Sensitive, the default
• "ci" - Case Insensitive, capitalization does not matter in variable names
answer
An expression to which the student provided response must be equivalent. Note that this expression can be expressed in terms of a variable that is computed in a script provided with the problem by preceding the appropriate variable name with a dollar sign.
Multiplication must be explicitly stated with an asterisk. Students also must enter their input with multiplication as an asterisk. The phrase "mc^2" will be interpreted as a single value represented by the variable named "mc" raised to the second power.
samples
This attribute is one of the more complicated attributes in the EDXML tag system. It contains four related comma-delineated lists, separated by special delineators. The lists are in the format
<variables>@<lower_bounds>:<upper_bound>#<num_samples
• variables - a set of variables that are allowed as student input
• lower_bounds - for every variable defined in variables, a lower bound on the numerical tests to use for that variable
• upper_bounds - for every variable defined in variables, an upper bound on the numerical tests to use for that variable
• num_samples - how many times to test the expression
Children
Description
Notes
responseparam
used to define an upper bound on the variance of the numerical methods used to approximate a test for equality. See description below.
textbox
used to take student responses. See description below.
<responseparam>
Attribute
Description
Notes
default
a number or a percentage specifying how close the student and grader expressions must be.
Failure to include a tolerance leaves expressions vulnerable to unavoidable rounding errors during sampling, causing some student input to be graded as incorrect, even if it is algebraically equivalent to the grader's expression.
type
"tolerance" - defines a tolerance for a number
Children
Description
Notes
Image Response
The Image Response input type presents an image and accepts clicks on the image as an answer.
Images have to be uploaded to the courseware Assets directory. Response clicks are marked as correct if they are within a certain specified sub rectangle of the image canvas.
Note The Mozilla Firefox browser is currently not supported for this problem type.
Sample Problem
Problem Code
<problem>
<p><b>Example Problem</b></p>
<startouttext/>
<p>You are given three shapes. Click on the triangle.</p>
<endouttext/>
<imageresponse>
<imageinput src="/c4x/edX/edX101/asset/threeshapes.png" width="220" height="150" rectangle="(80,40)-(130,90)" />
</imageresponse>
</problem>
Template
<problem>
<imageresponse>
<imageinput src="Path_to_Image_File.png" width="220" height="150" rectangle="(80,40)-(130,90)" />
</imageresponse>
</problem>
XML Attribute Information
<imageresponse>
Attribute
Description
Notes
Children
Description
Notes
imageinput
used to get input based off of an image. See description below.
<imageinput>
Attribute
Description
Notes
src
the url from which the image should be taken
height
The height that the image should be displayed with
width
the width that the image should be displayed with
rectangle
an attribute with four embedded values in the format
(<start_width>,<start_height>)-(<end_width>,<end_height>)
All coordinates start with (0,0) at the top left corner and increase in value towards the bottom right corner, very similar to the progression of reading English. The two coordinates defined form the two opposite corners of a box which a student can click inside of in order to get credit for the problem.
Children
Description
Notes
Custom Response
A Custom Response input type accepts one or more lines of text input from the student and evaluate the inputs for correctness using an embedded Python script.
Sample Problem
Problem Code
<problem>
<p><b>Example Problem</b></p>
<script type="loncapa/python">
def test_add_to_ten(expect,ans):
try:
a1=int(ans[0])
a2=int(ans[1])
except ValueError:
a1=0
a2=0
return (a1+a2)==10
def test_add(expect,ans):
try:
a1=float(ans[0])
a2=float(ans[1])
except ValueError:
a1=0
a2=0
return (a1+a2)== float(expect)
</script>
<p>This question consists of two parts. </p>
<p>First, enter two integers which sum to 10. </p>
<customresponse cfn="test_add_to_ten">
<textline size="40" /><br/>
<textline size="40" />
</customresponse>
<p>Now enter two (finite) decimals which sum to 20.</p>
<customresponse cfn="test_add" expect="20">
<textline size="40" /><br/>
<textline size="40" />
</customresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>For the first part, any two numbers of the form <i>n</i>
and <i>10-n</i>, where <i>n</i> is any integer, will work.
One possible answer would be the pair 0 and 10.
</p>
<p>For the second part, any pair <i>x</i> and <i>20-x</i> will work, where <i>x</i> is any real number with a finite decimal representation. Both inputs have to be entered either in standard decimal notation or in scientific exponential notation. One possible answer would be the pair 0.5 and 19.5. Another way to write this would be 5e-1 and 1.95e1.
</p>
</div>
</solution>
</problem>
Templates
With displayed suggested correct answers
<problem>
<script type="loncapa/python">
def test_add(expect,ans):
a1=float(ans[0])
a2=float(ans[1])
return (a1+a2)== float(expect)
</script>
<p>Enter two real numbers which sum to 20: </p>
<customresponse cfn="test_add" expect="20">
<textline size="40" correct_answer="11"/><br/>
<textline size="40" correct_answer="9"/>
</customresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
With no suggested correct answers
<problem>
<script type="loncapa/python">
def test_add(expect,ans):
a1=float(ans[0])
a2=float(ans[1])
return (a1+a2)== float(expect)
</script>
<p>Enter two real numbers which sum to 20: </p>
<customresponse cfn="test_add" expect="20">
<textline size="40" /><br/>
<textline size="40" />
</customresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Chemical Equation Response
The Chemical Equation Response input type is a special type of Custom Response that allows the student to enter chemical equations as answers.
Sample Problem
Problem Code
<problem>
<p><b>Example Problem</b></p>
<startouttext/>
<p>Some problems may ask for a particular chemical equation. Practice by writing out the following reaction in the box below.</p>
<center>\( \text{H}_2\text{SO}_4 \longrightarrow \text{ H}^+ + \text{ HSO}_4^-\)</center>
<br/>
<customresponse>
<chemicalequationinput size="50"/>
<answer type="loncapa/python">
if chemcalc.chemical_equations_equal(submission[0], 'H2SO4 -> H^+ + HSO4^-'):
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</customresponse>
<p> Some tips:<ul><li>Only real element symbols are permitted.</li><li>Subscripts are entered with plain text.</li><li>Superscripts are indicated with a caret (^).</li><li>The reaction arrow (\(\longrightarrow\)) is indicated with "->".</li></ul>
So, you can enter "H2SO4 -> H^+ + HSO4^-".</p>
<endouttext/>
</problem>
Schematic Response
The Schematic Response input type provides an interactive grid on which the student can construct a schematic answer, such as a circuit.
Sample Problem
Problem Code
<problem>
Make a voltage divider that splits the provided voltage evenly.
<schematicresponse>
<center>
<schematic height="500" width="600" parts="g,r" analyses="dc"
initial_value="[["v",[168,144,0],{"value":"dc(1)","_json_":0},["1","0"]],["r",[296,120,0],{"r":"1","_json_":1},["1","output"]],["L",[296,168,3],{"label":"output","_json_":2},["output"]],["w",[296,216,168,216]],["w",[168,216,168,192]],["w",[168,144,168,120]],["w",[168,120,296,120]],["g",[168,216,0],{"_json_":7},["0"]],["view",-67.49999999999994,-78.49999999999994,1.6000000000000003,"50","10","1G",null,"100","1","1000"]]"
/>
</center>
<answer type="loncapa/python">
dc_value = "dc analysis not found"
for response in submission[0]:
if response[0] == 'dc':
for node in response[1:]:
dc_value = node['output']
if dc_value == .5:
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</schematicresponse>
<schematicresponse>
<p>Make a high pass filter.</p>
<center>
<schematic height="500" width="600" parts="g,r,s,c" analyses="ac"
submit_analyses="{"ac":[["NodeA",1,9]]}"
initial_value="[["v",[160,152,0],{"name":"v1","value":"sin(0,1,1,0,0)","_json_":0},["1","0"]],["w",[160,200,240,200]],["g",[160,200,0],{"_json_":2},["0"]],["L",[240,152,3],{"label":"NodeA","_json_":3},["NodeA"]],["s",[240,152,0],{"color":"cyan","offset":"0","_json_":4},["NodeA"]],["view",64.55878906250004,54.114697265625054,2.5000000000000004,"50","10","1G",null,"100","1","1000"]]"/>
</center>
<answer type="loncapa/python">
ac_values = None
for response in submission[0]:
if response[0] == 'ac':
for node in response[1:]:
ac_values = node['NodeA']
print "the ac analysis value:", ac_values
if ac_values == None:
correct = ['incorrect']
elif ac_values[0][1] < ac_values[1][1]:
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</schematicresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>A voltage divider that evenly divides the input voltage can be formed with two identically valued resistors, with the sampled voltage taken in between the two.</p>
<p><img src="/c4x/edX/edX101/asset/images_voltage_divider.png"/></p>
<p>A simple high-pass filter without any further constaints can be formed by simply putting a resister in series with a capacitor. The actual values of the components do not really matter in order to meet the constraints of the problem.</p>
<p><img src="/c4x/edX/edX101/asset/images_high_pass_filter.png"/></p>
</div>
</solution>
</problem>
===========================
APPENDIX E: Problem Types
===========================
**Option Response**
The Option Response input type allows the student to choose from a collection of answer options, presented as a drop-down list.
Option Response is structurally similar to Multiple Choice. Some conceptual differences between the two include the following.
• The Multiple Choice radio button format makes it easier for students to read very long response options.
• The Option Response drop-down input format makes it more likely for students to think of an answer and then search for it, rather than relying purely on recognition to answer the question.
The Multiple Choice format is more explicit and visual. This makes it a more appropriate choice for presenting tricky or complicated answer options which are intended to get the student to pause and think.
**Sample Problem**
Insert Image
**Problem Code** ::
<problem>
<p>Option Response is most similar to __________.</p>
<optionresponse>
<optioninput options="('Multiple Choice','String Response','Numerical Response','External Response','Image Response')"correct="Multiple Choice"/>
</optionresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>Like Option Response, Multiple Choice also allows students to select from a variety of pre-written responses.</p>
</div>
</solution>
</problem>
**Template** ::
<problem>
<optionresponse>
options="('A','B')"
correct="A"/>
</optionresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
**XML Attribute Information**
<optionresponse>
+---------------------------+------------------+-----------------+
| Attribute | Description | Notes |
| | | |
+===========================+==================+=================+
| Children | Description | Notes |
+---------------------------+------------------+-----------------+
| All Standard HTML Tags | Relevant Text | … |
+---------------------------+------------------+-----------------+
| option input | Relevant Input | |
| See Below | See Below | … |
+---------------------------+------------------+-----------------+
<optioninput>
+---------------------------+------------------+----------------------+
| Attribute | Description | Notes |
| | | |
+===========================+==================+======================+
| Options | A list of options|Attribute must be |
| | that students |defined with double |
| | choose from. |quotes and the values |
| | |in the list with |
| | |single quotes. |
| | | |
| | | |
| | |There must be a space |
| | |between the separating|
| | |commas and single |
| | |quote start of the |
| | |option. |
| | | |
| | |Answers displayed to |
| | |students cannot con- |
| | |tain any quotes. |
+---------------------------+------------------+----------------------+
| correct | The option that | To get credit, this |
| | grader will | option must be typed |
| | accept as correct| exactly the same as |
| | | the definition in |
| | | "options" |
+---------------------------+------------------+----------------------+
**Multiple Choice**
The Multiple Choice input type allows the student to select at most one choice from a collection of answer choices, presented as a list of radio buttons.
A Multiple Choice problem can have more than one correct answer, depending on how many choices are marked as correct in the underlying XML. If all choices are marked as incorrect, there is no correct response.
Multiple Choice is structurally similar to Option Response. Some conceptual differences between the two include the following.
• The Multiple Choice radio button format makes it easier for students to read very long response options.
• The Option Response drop-down input format makes it more likely for students to think of an answer and then search for it, rather than relying purely on recognition to answer the question.
• The Multiple Choice format is more explicit and visual. This makes it a more appropriate choice for presenting tricky or complicated answer options which are intended to get the student to pause and think.
Sample Problem
**Problem Code** ::
<problem>
<p><b>Example Problem</b></p>
<p>How many correct responses can a Multiple Choice question have?</p>
<multiplechoiceresponse>
<choicegroup type="MultipleChoice">
<choice correct="false" name="one">Only one</choice>
<choice correct="false" name="zeroone">Only zero or one</choice>
<choice correct="true" name="zeromore">Zero or more</choice>
<choice correct="false" name="onemore">Only one or more</choice>
<choice correct="false" name="noone">Nobody knows</choice>
<choice correct="true" name="someone">Somebody might know :)</choice>
</choicegroup>
</multiplechoiceresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>It depends on how many choices are marked as correct in the underlying XML.</p>
<p>Note that if all choices are marked as incorrect, there is no
correct response.</p>
</div>
</solution>
</problem>
**Template** ::
<problem>
<multiplechoiceresponse>
<choicegroup type="MultipleChoice">
<choice correct="false" name="a">A</choice>
<choice correct="true" name="b">B</choice>
</choicegroup>
</multiplechoiceresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
**XML Attribute Information**
<multiplechoiceresponse>
+---------------------------+------------------+----------------------+
| Attribute | Description | Notes |
| | | |
+===========================+==================+======================+
| Options | A list of options|Attribute must be |
| | that students |defined with double |
| | choose from. |quotes and the values |
| | |in the list with |
| | |single quotes. |
| | | |
| | |There must be a space |
| | |between the separating|
| | |commas and single |
| | |quote start of the |
| | |option. |
| | | |
| | |Answers displayed to |
| | |students cannot con- |
| | |tain any quotes. |
+---------------------------+------------------+----------------------+
| correct | The option that | To get credit, this |
| | grader will | option must be typed |
| | accept as correct| exactly the same as |
| | | the definition in |
| | | "options" |
+---------------------------+------------------+----------------------+
Attribute
Description
Notes
Children
Description
Notes
All standard HTML tags
to display text relevant to the problem
choicegroup
a method to take input from students. See description below
<choicegroup>
Attribute
Description
Notes
type
needs to have the value "MultipleChoice"
Children
Description
Notes
choice
a description of an option to de displayed to students. Details below
<choice>
Attribute
Description
Notes
name
(optional) a unique name that the backend will use to refer to this option
correct
"true" if this option is the correct answer, "false" if not
Only one choice in the choicegroup can have correct="true" in order for it to be possible to get the correct answer
Checkbox
The Checkbox input type allows the student to select zero or more choices from a collection of answer choices, presented as a list of checkboxes.
Remark: Questions with one Checkbox input type have exactly one correct response. All the choices marked as correct="true" have to be selected for the submitted answer (i.e. the response) to be considered correct.
In particular, the response of no boxes checked off could be the single correct response, and a Checkbox question, unlike a Multiple Choice question, cannot have zero correct responses.
Sample Problem
Problem Code
<problem>
<startouttext/>
<p>How many correct responses can a Checkbox question have?</p>
<choiceresponse>
<checkboxgroup>
<choice correct="false"><text>Zero</text></choice>
<choice correct="true"><text>One</text></choice>
<choice correct="false"><text>Two or more</text></choice>
<choice correct="false"><text>Nobody knows</text></choice>
<choice correct="true"><text>Somebody might know :)</text></choice>
</checkboxgroup>
</choiceresponse>
</problem>
Template
<problem>
<choiceresponse>
<checkboxgroup>
<choice correct="false"><text>Zero</text></choice>
<choice correct="true"><text>One</text></choice>
</checkboxgroup>
</choiceresponse>
</problem>
String Response
The String Response input type provides an input box in which the student can enter a line of text, which is then checked against a specified expected answer.
A String Response input does not provide any answer suggestions, so it can be a good way to get the students to engage with the material more deeply in a sequence and look up, figure out, or remember the correct answer themselves.
Note that a student's answer in a String Response is marked as correct if it matches every character of the expected answer. This can be a problem with international spelling, dates, or anything where the format of the answer is not clear.
Sample Problem
Problem Code
<problem>
<p><b>Example Problem</b></p>
<p>What is the name of this unit? (What response type is this?)</p>
<stringresponse answer="String Response" type="ci">
<textline size="20"/>
</stringresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>The name of this unit is "String Response," written without the punctuation.</p>
<p>Arbitrary capitalization is accepted.</p>
</div>
</solution>
</problem>
Template
<problem>
<stringresponse answer="REPLACE_THIS" type="ci">
<textline size="20"/>
</stringresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
XML Attribute Information
<stringresponse>
Attribute
Description
Notes
type
(optional) "ci" if the student response should be graded case-insensitively. The default is to take case into consideration when grading.
answer
The string that students need to enter in order to get credit.
Children
Description
Notes
textline
used to accept student input. See description below
<textline>
Attribute
Description
Notes
math
(optional) If this attribute has any value at all, a math preview will display beneath the textbox showing well-formatted math corresponding to student input
size
(optional) defines the size in character widths of the input box as it is displayed to students.
hidden
(optional) if true, the textbox will be hidden from students.
Children
Description
Notes
Numerical Response
The Numerical Response input type accepts a line of text input from the student and evaluates the input for correctness based on its numerical value. The input is allowed to be a number or a mathematical expression in a fixed syntax.
The answer is correct if it is within a specified numerical tolerance of the expected answer.
The expected answer can be specified explicitly or precomputed by a Python script.
Sample Problem
Problem Code
<problem>
<p><b>Example Problem</b></p>
<p>What base is the decimal numeral system in?
<numericalresponse answer="10">
<textline />
</numericalresponse>
</p>
<p>What is the value of the standard gravity constant <i>g</i>, measured in m/s<sup>2</sup>? Give your answer to at least two decimal places.
<numericalresponse answer="9.80665">
<responseparam type="tolerance" default="0.01" />
<textline />
</numericalresponse>
</p>
<!-- Use python script spacing. The following should not be indented! -->
<script type="loncapa/python">
computed_response = math.sqrt(math.fsum([math.pow(math.pi,2), math.pow(math.e,2)]))
</script>
<p>What is the distance in the plane between the points (pi, 0) and (0, e)? You can type math.
<numericalresponse answer="$computed_response">
<responseparam type="tolerance" default="0.0001" />
<textline math="1" />
</numericalresponse>
</p>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>The decimal numerical system is base ten.</p>
<p>The standard gravity constant is defined to be precisely 9.80665 m/s<sup>2</sup>.
This is 9.80 to two decimal places. Entering 9.8 also works.</p>
<p>By the distance formula, the distance between two points in the plane is
the square root of the sum of the squares of the differences of each coordinate.
Even though an exact numerical value is checked in this case, the
easiest way to enter this answer is to type
<code>sqrt(pi^2+e^2)</code> into the editor.
Other answers like <code>sqrt((pi-0)^2+(0-e)^2)</code> also work.
</p>
</div>
</solution>
</problem>
Templates
Exact values
<problem>
<numericalresponse answer="10">
<textline />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Answers with decimal precision
<problem>
<numericalresponse answer="9.80665">
<responseparam type="tolerance" default="0.01" />
<textline />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Answers with percentage precision
<problem>
<numericalresponse answer="100">
<responseparam type="tolerance" default="10%" />
<textline />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Answers with a live math interpretation popup display
<problem>
<numericalresponse answer="3.14159">
<responseparam type="tolerance" default="0.00001" />
<textline math="1" />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Answers with scripts
<problem>
<!-- Use python script spacing. The following should not be indented! -->
<script type="loncapa/python">
computed_response = math.sqrt(math.fsum([math.pow(math.pi,2), math.pow(math.e,2)]))
</script>
<numericalresponse answer="$computed_response">
<responseparam type="tolerance" default="0.0001" />
<textline math="1" />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
XML Attribute Information
<script>
Attribute
Description
Notes
type
"loncapa/python" - a script written in python
• A problem will behave the same way if all of the code in all of the script tags were in a single script tag. Specifically, any variables that are used in multiple script tags share a namespace and can be overridden.
• Like all python, indentation matters, even though it is embedded in XML.
Children
Description
Notes
<numericalresponse>
Attribute
Description
Notes
answer
A value to which student input must be equivalent. Note that this expression can be expressed in terms of a variable that is computed in a script provided in the problem by preceding the appropriate variable name with a dollar sign.
Note that any numeric expression provided by the student will be automatically simplified on the grader's backend.
Children
Description
Notes
responseparam
used to specify a tolerance on the accepted values of a number. See description below
textline
a format to take input from students. See description below
<responseparam>
Attribute
Description
Notes
type
"tolerance" - defines a tolerance for a number
default
either a number or a percentage, defining how different from the provided answer a student answer can be while still getting full credit
Children
Description
Notes
<textline>
Attribute
Description
Notes
math
(optional) If this attribute has any value at all, a math preview will display beneath the textbox showing well-formatted math corresponding to student input
size
(optional) defines the size in character widths of the input box as it is displayed to students.
hidden
(optional) if true, the textbox will be hidden from students.
Children
Description
Notes
Formula Response
The Formula Response input type accepts a line of text representing a mathematical expression from the student and evaluates the input for equivalence to a mathematical expression provided by the grader. Correctness is based on numerical sampling of the symbolic expressions.
The answer is correct if both the student-provided response and the grader's mathematical expression are equivalent to specified numerical tolerance, over a specified range of values for each variable.
This kind of response type can handle symbolic expressions. However, it places an extra burden on the problem author to specify the allowed variables in the expression and the numerical ranges over which the variables must be sampled in order to test for correctness.
Sample Problem
Problem Code
<problem>
<p><b>Example Problem</b></p>
<p>This is a short introduction to the Formula Response editor.</p>
<p>Write an expression for the product of R_1, R_2, and the inverse of R_3.</p>
<formularesponse type="ci" samples="R_1,R_2,R_3@1,2,3:3,4,5#10" answer="$VoVi">
<responseparam type="tolerance" default="0.00001"/>
<textline size="40" math="1" />
</formularesponse>
<p>Let <i>c</i> denote the speed of light. What is the relativistic energy <i>E</i> of an object of mass <i>m</i>?</p>
<script type="loncapa/python">
VoVi = "(R_1*R_2)/R_3"
</script>
<formularesponse type="cs" samples="m,c@1,2:3,4#10" answer="m*c^2">
<responseparam type="tolerance" default="0.00001"/>
<text><i>E</i> =</text> <textline size="40" math="1" />
</formularesponse>
<p>Let <i>x</i> be a variable, and let <i>n</i> be an arbitrary constant. What is the derivative of <i>x<sup>n</sup></i>?</p>
<script type="loncapa/python">
derivative = "n*x^(n-1)"
</script>
<formularesponse type="ci" samples="x,n@1,2:3,4#10" answer="$derivative">
<responseparam type="tolerance" default="0.00001"/>
<textline size="40" math="1" />
</formularesponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>Use standard arithmetic operation symbols and indicate multiplication explicitly.</p>
<p>Use the symbol <tt>^</tt> to raise to a power.</p>
<p>Use parentheses to specify order of operations.</p>
</div>
</solution>
</problem>
Template
<problem>
<script type="loncapa/python">
answer_value = "n*x^(n-1)"
</script>
<formularesponse type="ci" samples="x,n@1,2:3,4#10" answer="$answer_value">
<responseparam type="tolerance" default="0.00001"/>
<textline size="40" math="1" />
</formularesponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
XML Attribute Information
<script>
Attribute
Description
Notes
type
"loncapa/python" - a script written in python
• A problem will behave the same way if all of the code in all of the script tags were in a single script tag. Specifically, any variables that are used in multiple script tags share a namespace and can be overridden.
• Like all python, indentation matters, even though it is embedded in XML.
Children
Description
Notes
<formularesponse>
Attribute
Description
Notes
type
• "cs" - Case Sensitive, the default
• "ci" - Case Insensitive, capitalization does not matter in variable names
answer
An expression to which the student provided response must be equivalent. Note that this expression can be expressed in terms of a variable that is computed in a script provided with the problem by preceding the appropriate variable name with a dollar sign.
Multiplication must be explicitly stated with an asterisk. Students also must enter their input with multiplication as an asterisk. The phrase "mc^2" will be interpreted as a single value represented by the variable named "mc" raised to the second power.
samples
This attribute is one of the more complicated attributes in the EDXML tag system. It contains four related comma-delineated lists, separated by special delineators. The lists are in the format
<variables>@<lower_bounds>:<upper_bound>#<num_samples
• variables - a set of variables that are allowed as student input
• lower_bounds - for every variable defined in variables, a lower bound on the numerical tests to use for that variable
• upper_bounds - for every variable defined in variables, an upper bound on the numerical tests to use for that variable
• num_samples - how many times to test the expression
Children
Description
Notes
responseparam
used to define an upper bound on the variance of the numerical methods used to approximate a test for equality. See description below.
textbox
used to take student responses. See description below.
<responseparam>
Attribute
Description
Notes
default
a number or a percentage specifying how close the student and grader expressions must be.
Failure to include a tolerance leaves expressions vulnerable to unavoidable rounding errors during sampling, causing some student input to be graded as incorrect, even if it is algebraically equivalent to the grader's expression.
type
"tolerance" - defines a tolerance for a number
Children
Description
Notes
Image Response
The Image Response input type presents an image and accepts clicks on the image as an answer.
Images have to be uploaded to the courseware Assets directory. Response clicks are marked as correct if they are within a certain specified sub rectangle of the image canvas.
Note The Mozilla Firefox browser is currently not supported for this problem type.
Sample Problem
Problem Code
<problem>
<p><b>Example Problem</b></p>
<startouttext/>
<p>You are given three shapes. Click on the triangle.</p>
<endouttext/>
<imageresponse>
<imageinput src="/c4x/edX/edX101/asset/threeshapes.png" width="220" height="150" rectangle="(80,40)-(130,90)" />
</imageresponse>
</problem>
Template
<problem>
<imageresponse>
<imageinput src="Path_to_Image_File.png" width="220" height="150" rectangle="(80,40)-(130,90)" />
</imageresponse>
</problem>
XML Attribute Information
<imageresponse>
Attribute
Description
Notes
Children
Description
Notes
imageinput
used to get input based off of an image. See description below.
<imageinput>
Attribute
Description
Notes
src
the url from which the image should be taken
height
The height that the image should be displayed with
width
the width that the image should be displayed with
rectangle
an attribute with four embedded values in the format
(<start_width>,<start_height>)-(<end_width>,<end_height>)
All coordinates start with (0,0) at the top left corner and increase in value towards the bottom right corner, very similar to the progression of reading English. The two coordinates defined form the two opposite corners of a box which a student can click inside of in order to get credit for the problem.
Children
Description
Notes
Custom Response
A Custom Response input type accepts one or more lines of text input from the student and evaluate the inputs for correctness using an embedded Python script.
Sample Problem
Problem Code
<problem>
<p><b>Example Problem</b></p>
<script type="loncapa/python">
def test_add_to_ten(expect,ans):
try:
a1=int(ans[0])
a2=int(ans[1])
except ValueError:
a1=0
a2=0
return (a1+a2)==10
def test_add(expect,ans):
try:
a1=float(ans[0])
a2=float(ans[1])
except ValueError:
a1=0
a2=0
return (a1+a2)== float(expect)
</script>
<p>This question consists of two parts. </p>
<p>First, enter two integers which sum to 10. </p>
<customresponse cfn="test_add_to_ten">
<textline size="40" /><br/>
<textline size="40" />
</customresponse>
<p>Now enter two (finite) decimals which sum to 20.</p>
<customresponse cfn="test_add" expect="20">
<textline size="40" /><br/>
<textline size="40" />
</customresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>For the first part, any two numbers of the form <i>n</i>
and <i>10-n</i>, where <i>n</i> is any integer, will work.
One possible answer would be the pair 0 and 10.
</p>
<p>For the second part, any pair <i>x</i> and <i>20-x</i> will work, where <i>x</i> is any real number with a finite decimal representation. Both inputs have to be entered either in standard decimal notation or in scientific exponential notation. One possible answer would be the pair 0.5 and 19.5. Another way to write this would be 5e-1 and 1.95e1.
</p>
</div>
</solution>
</problem>
Templates
With displayed suggested correct answers
<problem>
<script type="loncapa/python">
def test_add(expect,ans):
a1=float(ans[0])
a2=float(ans[1])
return (a1+a2)== float(expect)
</script>
<p>Enter two real numbers which sum to 20: </p>
<customresponse cfn="test_add" expect="20">
<textline size="40" correct_answer="11"/><br/>
<textline size="40" correct_answer="9"/>
</customresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
With no suggested correct answers
<problem>
<script type="loncapa/python">
def test_add(expect,ans):
a1=float(ans[0])
a2=float(ans[1])
return (a1+a2)== float(expect)
</script>
<p>Enter two real numbers which sum to 20: </p>
<customresponse cfn="test_add" expect="20">
<textline size="40" /><br/>
<textline size="40" />
</customresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Chemical Equation Response
The Chemical Equation Response input type is a special type of Custom Response that allows the student to enter chemical equations as answers.
Sample Problem
Problem Code
<problem>
<p><b>Example Problem</b></p>
<startouttext/>
<p>Some problems may ask for a particular chemical equation. Practice by writing out the following reaction in the box below.</p>
<center>\( \text{H}_2\text{SO}_4 \longrightarrow \text{ H}^+ + \text{ HSO}_4^-\)</center>
<br/>
<customresponse>
<chemicalequationinput size="50"/>
<answer type="loncapa/python">
if chemcalc.chemical_equations_equal(submission[0], 'H2SO4 -> H^+ + HSO4^-'):
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</customresponse>
<p> Some tips:<ul><li>Only real element symbols are permitted.</li><li>Subscripts are entered with plain text.</li><li>Superscripts are indicated with a caret (^).</li><li>The reaction arrow (\(\longrightarrow\)) is indicated with "->".</li></ul>
So, you can enter "H2SO4 -> H^+ + HSO4^-".</p>
<endouttext/>
</problem>
Schematic Response
The Schematic Response input type provides an interactive grid on which the student can construct a schematic answer, such as a circuit.
Sample Problem
Problem Code
<problem>
Make a voltage divider that splits the provided voltage evenly.
<schematicresponse>
<center>
<schematic height="500" width="600" parts="g,r" analyses="dc"
initial_value="[["v",[168,144,0],{"value":"dc(1)","_json_":0},["1","0"]],["r",[296,120,0],{"r":"1","_json_":1},["1","output"]],["L",[296,168,3],{"label":"output","_json_":2},["output"]],["w",[296,216,168,216]],["w",[168,216,168,192]],["w",[168,144,168,120]],["w",[168,120,296,120]],["g",[168,216,0],{"_json_":7},["0"]],["view",-67.49999999999994,-78.49999999999994,1.6000000000000003,"50","10","1G",null,"100","1","1000"]]"
/>
</center>
<answer type="loncapa/python">
dc_value = "dc analysis not found"
for response in submission[0]:
if response[0] == 'dc':
for node in response[1:]:
dc_value = node['output']
if dc_value == .5:
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</schematicresponse>
<schematicresponse>
<p>Make a high pass filter.</p>
<center>
<schematic height="500" width="600" parts="g,r,s,c" analyses="ac"
submit_analyses="{"ac":[["NodeA",1,9]]}"
initial_value="[["v",[160,152,0],{"name":"v1","value":"sin(0,1,1,0,0)","_json_":0},["1","0"]],["w",[160,200,240,200]],["g",[160,200,0],{"_json_":2},["0"]],["L",[240,152,3],{"label":"NodeA","_json_":3},["NodeA"]],["s",[240,152,0],{"color":"cyan","offset":"0","_json_":4},["NodeA"]],["view",64.55878906250004,54.114697265625054,2.5000000000000004,"50","10","1G",null,"100","1","1000"]]"/>
</center>
<answer type="loncapa/python">
ac_values = None
for response in submission[0]:
if response[0] == 'ac':
for node in response[1:]:
ac_values = node['NodeA']
print "the ac analysis value:", ac_values
if ac_values == None:
correct = ['incorrect']
elif ac_values[0][1] < ac_values[1][1]:
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</schematicresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>A voltage divider that evenly divides the input voltage can be formed with two identically valued resistors, with the sampled voltage taken in between the two.</p>
<p><img src="/c4x/edX/edX101/asset/images_voltage_divider.png"/></p>
<p>A simple high-pass filter without any further constaints can be formed by simply putting a resister in series with a capacitor. The actual values of the components do not really matter in order to meet the constraints of the problem.</p>
<p><img src="/c4x/edX/edX101/asset/images_high_pass_filter.png"/></p>
</div>
</solution>
</problem>
.. image:: images/image001.png
###########################
Getting Started with Studio
###########################
************
Introduction
************
Since the launch of edX to our original partners, we have been working to provide opportunities for additional educators to create courses on our platform. The fruits of our efforts are Edge and Studio. These tools are available not only to our edX partners, but to all faculty at consortium universities.
EdX (http://edx.org) is our original, premiere learning portal. Publication to edX is available on a limited basis, depending on your university’s agreement with edX. You need specific approval from your university to release your course on the edX portal.
Edge (http://edge.edx.org) is our newest online learning portal. It is almost identical to edX.org both visibly and functionally.
Edge is where you view the content you create with Studio, our course authoring tool, and where students will view your course. Instructors are encouraged to use Edge to experiment with creating courses. You do not need approval to release a course on Edge—you can create a course and release it immediately.
Studio (http://studio.edge.edx.org) is our web-based course authoring tool. It is the easiest way for educators to develop courses for the edX platform. You can create courses in Studio and view and enroll in them instantly on Edge—even before you have finished creating the course.
**There is a workflow to getting started.**
1. First, go to: https://studio.edge.edx.org. Sign up and create an account.
.. image:: images/image009.png
:width: 800
**then**
2. Create a course in Studio.
.. image:: images/image021.png
:width: 800
**then**
3. View your course on Edge.
.. image:: images/image027.png
:width: 800
Create an Account
*****************
To begin using Studio, create an account with a unique user ID and password. A Studio account isn't the same as an edX account. Even if you already have an edX account,
you still need to create a separate Studio account. You can use the same e-mail address for both accounts.
When you create your account on Studio, an account on Edge is automatically created using
the same user name and password. You don't have to create separate accounts on Studio and
Edge.
Edge has two views - an Instructor view and a Student view. When you view your course on Edge, you view your course as an instructor, and you see the **Instructor** tab at the top of the page.
.. image:: images/image007.png
:width: 800
Your students will view your courses in Student view, which is similar to Instructor view, but does not include the Instructor tab or release dates.
To create an account:
1. Go to http://studio.edge.edX.org. The Welcome to edX Studio page opens.
.. image:: images/image009.png
:width: 800
2. Scroll to the bottom of the page and click **Sign Up & Start Making an edX Course.**
.. image:: images/image011.png
:width: 800
3. In the page that opens, fill in the fields. Required fields are marked with an asterisk (*).
.. image:: images/image013.png
:width: 800
a. In the **Email Address** box, type your e-mail address.
b. In the **Password** box, type a unique password.
c. In the **Public Username** field, type the name you want students to see when you post on the user forum. (Most websites call this the "user name".)
d. In the **Full Name** box, type your full name. This name only appears in Studio.
Your students will not see this name.
e. Click to select I agree to the Terms of Service.
.. image:: images/image017.png
:width: 800
4. Click **Create My Account & Start Authoring Courses,** After you click this button, the following page opens.
.. image:: images/image015.png
:width: 800
5. To finish creating your account, click the link that you receive in the activation e-mail. When you click this link, the following page opens.
.. image:: images/image017.png
:width: 800
Create a New Course
*******************
The first time that you log in to Studio, the following page opens.
.. image:: images/image017.png
:width: 800
Click the **dashboard** link, and the **My Courses** page opens.
.. image:: images/image021.png
:width: 800
Once you have created a course in
Studio, it will be listed on this page. From here, you can start creating courses immediately by clicking the **New Course** button.
To create a new course:
1. Click **New Course.** A screen opens.
*Note Enter your new course information carefully. This information becomes part of the URL for your course. To change the URL after the course is created, you must contact edX through the Help site (http://help.edge.edx.org). Additionally, because this information becomes part of your course URL, the total number of characters in the following three fields must be 65 or fewer.*
2. For **Course Name**, enter the title of your course. For example, the name may be “Sets, Maps and Symmetry Groups". Use title capitalization for the course title.
3. For **Organization**, enter the name of your university. Do not include whitespace or special characters.
4. For **Course Number**, enter both a subject abbreviation and a number. For example, for public
health course number 207, enter "PH207". For math course 101x, enter “Math101x”. Do not include
whitespace or special characters in the course number.
*Note If your course will be open to the world, be sure to include the "x". If it is exclusively an
on-campus offering, do not include the "x".*
5. Click **Save.**
.. image:: images/image025.png
:width: 800
If you click **View Live** your course appears as follows on Edge.
.. image:: images/image027.png
:width: 800
*Note** Although the start date is set to the current date by default, your course will not be advertised, so it will not be visible to the general public. You can change the start date of your course in Studio.*
**************************
Create a Lesson in Studio
**************************
Once you have created a course, you are ready to create content for that course.
**CAUTION**
*The alpha version of Studio does not have versioning or automatic updating of your browser between
refreshes. Versioning is planned for future releases, but, in the meantime, only one author should
edit a unit, in one browser, on only one tab.  If a unit is open for editing in multiple browser
sessions, the session that saves last will overwrite any previously saved content without displaying
a warning. Also, older browser sessions can overwrite more recent content, so refresh your browser
before you start working every time you work with a private unit or edit a draft of a public unit.*
Introduction
************
Just as in an offline course, content in an online course is broken down into smaller pieces. In
Studio, these pieces are categories called **sections, subsections, and units** Units, in turn, are
made up of **components** that contain the actual content of your course.
Sections, for example, may correspond to weeks in your course, while subsections often correspond to
lessons, homework assignments, or exams. A lesson is an interwoven selection of units of different
types, such as videos, text, images, discussions, and problems. It is an interactive representation
of the material that you would cover in a typical class period.
On the **Course Outline** page, you can see all the sections, subsections, and units in your course at a
glance, as well as whether the subsections are public or private.
.. image:: images/image029.png
:width: 800
Section
*******
A section is the topmost category that you use to organize your course. Many instructors name
sections according to the number of weeks in the course—for example, section 1 is named Week 1,
section 2 is named Week 2, and so on. Sections contain subsections, which in turn contain units.
You can set an individual release date for each section in your course. None of the content in the
section is visible until its release date has passed.
For more information about how to create a section, see :ref:`Create a Section and Subsection<Create-Section-Subsection>`.
Subsection
**********
A subsection is a subcategory of a section. Many instructors name subsections according to the
topics in their courses. Subsection names appear along with section names in the left pane when you
view your course on Edge.
.. image:: images/image033.png
You can set subsections to be one of the assignment types that you created when you set up grading.
You can then include assignments in the body of that subsection. For more information, see :ref:`Create Subsections that Contain Graded Assignments<Create-Subsections-Containing-Graded-Assignments>`.
You can set an individual release date for each subsection in your course. None of the content in
the subsection is visible until its release date has passed. If you do not set a release date, the
subsection has the same release date as its section.
For more information about how to create a subsection, see :ref:`Create a Section and Subsection<Create-Section-Subsection>`.
Unit
****
A unit is a further category that helps you organize your course materials. Units contain
components, which are the building blocks of lessons. Units do not appear in the left pane with
section and subsection headings. Instead, each unit appears as a part of the course accordion at the
top of the page when you view your course on Edge. The following page shows a subsection that has
two Units.
.. image:: images/image035.png
Note that by default, all units are set to **Private.** To make a unit visible to students, you have to
explicitly change the unit’s visibility to **Public.** For more information see :ref:`Set Content Release Dates and Visibility<Set_Content_Release_Dates_And_Visibility>`.
Component
*********
A component is the part of a unit that contains your actual course content. The names of all
components in a unit appear when you hover over the unit in the course accordion at the top of the
page.
.. image:: images/image037.png
:width: 800
There are four types of components: Discussion components, HTML components, Problem components, and
Video components. For more information, see Create a Discussion, Create an HTML Component, Create a
Problem Component, and Create a Video.
.. _Create-Section-Subsection:
******************************
Create a Section and Subsection
*******************************
1. Sign in to Studio, and then click the course that you want.
2. On the **Course Outline** page, click **New Section.**
.. image:: images/image039.png
:width: 800
3. In the **New Section** Name box, type a section name, and then click **Save.**
*Note In most courses, the name of the first section is Week 1.
The section that you have created appears on the **Course Outline** page.
.. image:: images/image041.png
:width: 800
The name you enter also appears in the ribbon, as follows.
.. image:: images/image043.png
:width: 800
4. To create a new lesson or assessment in your section, click **New Subsection.**
5. In the **New Subsection** box, enter the name for this subsection, and then click **Save.** `
For example, if you enter **Week 1** as the section title and **Subsection 1** as the subsection title, you
see the following.
.. image:: images/image045.png
:width: 800
If you view your course as a student would see it, you see the following.
.. image:: images/image047.png
:width: 800
6. Click the new subsection that you just created. In this example, you would click **Subsection 1.**
You see the following screen.
.. image:: images/image049.png
:width: 800
*************
Create a Unit
*************
1. On the **Course Outline** page, click to open the subsection where you want to create the unit.
2. Click **New Unit.** The following screen appears.
.. image:: images/image051.png
:width: 800
3. In the **Display Name** box, type the name of the unit. This name appears in the course ribbon at
the top of the screen on Edge.
Each unit has one or more components.
-To create a discussion space where you or your students can post questions or participate in a discussion, click **Discussion.**
-To create a component where you can add text, images, or other content, click **html.**
-To create a problem for your students to solve, click **Problem.**
-To add a video, click **Video.**
**************
Create a Video
**************
Many instructors use videos to take the place of in-class lectures. You can create a video of your lecture, and interweave other components—such as discussions and problems—to promote active learning.
To add a video to the unit, you must upload your video to YouTube, and then create a video component. You can also add a transcript to your video.
You can include videos that run at 0.75 speed, 1.25 speed, and 1.50 speed as well as at normal speed. To do this, you must upload each of these videos to YouTube separately.
*Note YouTube only hosts videos of up to 15 minutes. If you encode a 0.75 speed option, you must make
sure that source video segments are only 11.25 minutes long so that YouTube can host all speeds.
YouTube offers paid accounts that relax this restriction.*
1. Upload the video that you want to YouTube. Make note of the code that appears between **watch?v**
= and **&feature** in the URL. This code appears in the green box below.
.. image:: images/image053.png
:width: 800
2. In Studio, go to the unit that you want.
3. Under **Add New Component,** click **Video.**
4. In the screen that appears, click **default.**
5. When the new video component appears, click **edit**.** A video component opens, and a sample video
begins playing automatically.
6. In the **display_name** box, type the text that you want the student to see when the student hovers
the mouse over the icon in the bar at the top of the page. This text also appears as a header
for the video.
7. Change the codes in the green boxes to the YouTube codes that you noted in step 1. The first
code (immediately to the right of "0.75:") corresponds to the video at 0.75 speed, the next
corresponds to 1.0 speed, etc.
.. image:: images/image055.png
:width: 800
8. Click **Save.**
*Note All videos embedded using the edX player begin playing automatically. There is currently no way
to turn off the autoplay feature.*
**To add a transcript for your video:**
1. Save your srt.sjson file as **subs_YOUTUBEID.srt.sjson,** where **YOUTUBEID** is the YouTube ID of your video.
2. Upload the **subs_YOUTUBEID.srt.sjson** file to the **Files & Uploads** page.
3. Create a link to this file by following the steps in the Add Items to the Handouts Sidebar
section.
*******************
Create a Discussion
*******************
To create a discussion in your course, you create a question and Discussion component in Studio. You
can then encourage the students to respond by seeding the discussion space on edX or Edge.
Create a Discussion Component
*****************************
Keep in mind the following best practices when you create a Discussion component.
• Be very sure that you want to add the Discussion component. Discussion categories are
immediately visible in your forum (on the Discussion tab for your course) when you create them,
even if the unit that contains the Discussion component is set to Private.
• When you create an ID for the Discussion component, be very careful—especially if you are
adding the Discussion component to a running course. Follow the format in step 10 below to make
sure that the ID is unique across all courses on edX.
• Edit only the fields at the top of the Discussion component edit box. Do not change the XML in
the large box.
To add a Discussion component:
1. Open Studio.
2. Make a note of the **Display Name** of the Subsection you are in and the **Display Name** of the Unit
you are in.
3. At the location in the Unit where you want to start your discussion, create an HTML component
that contains the question that you want students to discuss.
4. Directly under this new HTML component, click **Discussion** under **Add New Component.**
.. image:: images/image057.png
5. When the following box appears, click **Discussion Tag.**
.. image:: images/image059.png
6. When the following box appears, click **Edit.**
.. image:: images/image061.png
The following editing box opens. You will change the values in the small boxes, but you will not
change the text in the large box.
.. image:: images/image063.png
:width: 800
*Note In the future, these boxes may be filled in for you with a default value.*
7. In the **discussion_category** box, type the name of the category that you want to create for the
discussion. You can include spaces.
8. In the **discussion_target** box, type the name of the subcategory that you want to create for the
discussion. You can include spaces.
*Note The category and subcategory names only appear in the discussion forum for your course. They do
not appear in the discussion space inside the Unit.*
For example, if you set **discussion_category** to be “The Discussion Component” and you set
**discussion_target** to be “Online Instruction Methods,” the category and subcategory appear as follows
in the category list in the discussion forum:
.. image:: images/image065.png
:width: 400
9. In the **display_name** box, type a name for the discussion. The display name appears when a student hovers the mouse over the ribbon.
10. Click **Save.**
Seed a Discussion Space in Your Course
**************************************
When you create a discussion, many students may feel hesitant to be the first to post an answer to
your question. You can get the discussion started by posting your own answer—preferably anonymously
or as a student, so that students will be more comfortable replying if they disagree with your post.
To post as a student, follow the steps below. If you later want to reply as yourself, log back into
your usual account and omit steps 1 and 2.
1. Set up a test account on edX or Edge with an e-mail address that is not associated with your
Course Team.
2. Go to your course URL and register for your course.
3. On edX or Edge, locate the Unit that contains the Discussion component.
4. In the Unit, locate the discussion space.
5. Click **New post.**
6. Type a title for your post in the Title box, and then enter text for your post.
7. If you want to, select the **post anonymously** check box or the **follow this post** check box.
8. When you are satisfied with your post, click **Add Post.**
Your new post appears at the top of list in the unit. Posts are listed in reverse chronological
order.
************************
Create an HTML Component
************************
.. image:: images/image067.png
The HTML component is the most basic component type. These components are the building blocks of
text-based courses. They are used to add information such as text, lists, links, and images to
units. For example, you can use these components between Problem components to add explanatory text.
You can also use HTML components to import LaTeX code into your course.
The HTML component editor has two views: **Visual view** and **HTML view.** Visual view offers you a “what
you see is what you get” (WYSIWYG) editor for editing a pre-formatted version of the text. HTML view
gives you a text editor in which you can edit HTML code directly.
Note Studio processes the HTML code entered when saving it and before rendering it. Make sure that
the component you created looks the way you expect live if you go back and forth between Visual and
HTML view.
Create a Basic HTML Component
*****************************
**To create a basic, blank HTML component:**
1. Under Add New Component, click **html**, and then click **Empty.** The following blank component
appears.
.. image:: images/image069.png
2. In the blank component, click **Edit.** The HTML editor opens.
.. image:: images/image071.png
3. Enter the information that you want, and then click **Save.**
*Note If you want to enter links to other pages or to images or to edit the HTML directly, switch to
the HTML tab.*
**To create a basic HTML component that includes a template you can use:**
1. Under **Add New Component,** click **html** and then click **Announcement.**
The following screen opens.
.. image:: images/image073.png
2. Click **Edit.**
The text editor opens in Visual view. Replace the template text with your announcement text.
*Note If you want to enter links to other pages or to images or to edit the HTML directly, switch to
the HTML tab.*
.. image:: images/image075.png
3. Click **Save.**
Create Links
************
**Link to a Handout or Image**
To link to a document, image, or other file that you uploaded to the Files & Uploads page:
1. Create a blank HTML component, and switch to HTML view.
2. In the HTML box, create links to your files.
To create a link to a document, enter the following syntax, where URL OF FILE is the URL that you noted in step 5 of Upload a File to the Files & Uploads Page and LINK TEXT is the text that the user will click. ::
<p><a href="[URL OF FILE]">[LINK TEXT]</a></p>
For example, to create a link to the HTML template for the “About” page document whose URL is /c4x/edX/edX101/asset/AboutPage_Template.txt, use the following code. ::
<p><a href="/c4x/edX/edX101/asset/AboutPage_Template.txt">HTML Template for the "About" page</a></p>
To create a link to an image that you’ve uploaded, enter the following syntax, where URL OF FILE is the URL that you noted in step 5 of Upload a File to the Files & Uploads Page. ::
<p><img src="[URL OF FILE]"/></p>
For example, to create a link to the CourseImage.jpg file whose URL is
/c4x/edX/edX101/asset/CourseImage.jpg, use the following code. ::
<p><img src="/c4x/edX/edX101/asset/CourseImage.jpg"></p>
When you use this code, the following image appears.
.. image:: images/image078.png
:width: 800
3. Click **Save.** Your files or images appear in the component.
**Link to Course Units**
To direct the student to a specific place in your own course, you must add an HTML link to that
unit. To do this:
1. Determine the relative directory of your course.
a. On the Course Settings tab, click the blue your course URL link under Basic Information.
.. image:: images/image079.png
:width: 800
The registration page for your course opens.
b. In the address bar at the top of the page, locate the URL.
c. Copy the part of the URL after “.org” and before “about”, including the forward slashes. The syntax is the following. ::
/courses/[organization]/[course_number]/[course_name]/
For example, for edX101: How to Create an edX Course from edX, the complete URL is the following. ::
https://edge.edx.org/courses/edX/edX101/How_to_create_an_edX_course/about
The relative directory is the following. ::
/courses/edX/edX101/How_to_create_an_edX_course/
2. Determine the location ID of the target unit. Studio generates the location ID for each unit when you create the unit. The location ID uses the following syntax. ::
::i4x://<organization>/<course_number>/vertical/<url_name_of_unit>
To find the location ID, open the page of the unit you are trying to link to in Studio and look at the URL in the browser’s address bar. The location ID is the text in the URL after edit, as in the following example.
.. image:: images/image081.png
:width: 800
3. Open the unit that you want to link from.
4. Under Add New Component, click html, and then click Empty. A new, blank component appears.
.. image:: images/image083.png
:width: 800
5. Click **edit**.
6. In the HTML editor that opens, click the HTML tab.
7. Next to the number 1, type the following. Replace relative course directory, location id of unit, and link text with your information. ::
<a href = "[[relative course directory]]/jump_to/[[location id of unit]]">[link text]</a>
For example, a link to the “Creating an HTML Component” unit in edx101 resembles the following. ::
<a href = "courses/edX/edX101/How_to_Create_an_edX_Course/jump_to/i4x://edX/edX101/vertical/8713e94afd074e40991dcb675d1030b5">Creating an HTML Component</a>
Import from LaTeX
*****************
You can create an HTML component from imported LaTeX code.
*Note: This feature is currently under development.*
1. Under **Add New Component**, click **html**, and then click **E-text Written in LaTeX.**
.. image:: images/image067.png
:width: 800
2. In the component that appears, click Edit.
.. image:: images/image083.png
:width: 800
3. The component editor opens. In the top left corner of the editor, click the yellow **Edit High Level Source** text.
.. image:: images/image085.png
:width: 800
4. In the **High Level Source Editing** screen that opens, replace the sample code with your LaTeX code.
.. image:: images/image087.png
:width: 800
5. Click **Save and compile to edX XML** to convert the LaTeX code into edX XML code.
*Note: Studio uses a third-party LaTeX processor to convert LaTeX code to XML. The LaTeX processor must be up and running.*
6. Click **Save**. Verify that your newly created component looks the way you want it to.
****************
Create a Problem
****************
Overview
********
The problem component allows you to add interactive, automatically graded exercises to your course content. You can create many different types of problems
in Studio.
By default, all problems are ungraded practice problems. To change the problems to graded problems, change the assignment type of the subsection.
To create a problem, determine:
• The type of problem that you want.
• The weight to assign to the problem.
• Whether you want to randomize the problem.
• How to close the problem-that is, how to set the number of attempts a student has, [as well as set the due date].
• How you want to provide feedback to students; show answer on/off.
This course contains several places with more information about creating exercises and integrating them into your course.
• `Writing Exercises <https://edge.edx.org/courses/edX/edX101/How_to_Create_an_edX_Course/courseware/a45de3baa8a9468cbfb1a301fdcd7e86/d15cfeaff0af4dd7be4765cd0988d172/1>`_ has more in-depth discussion about problem types, and some general pedagogical considerations for adapting to the online format and a `Gallery of Response Types <https://edge.edx.org/accounts/login?next=/courses/edX/edX101/How_to_Create_an_edX_Course/courseware/a45de3baa8a9468cbfb1a301fdcd7e86/3ba055e760d04f389150a75edfecb844/1>`_
• The Appendix contains `XML Documentation <https://edge.edx.org/courses/edX/edX101/How_to_Create_an_edX_Course/jump_to/i4x:/edX/edX101/sequential/2b789a363cba4af09cbf5e14fd7a1a7f>`_ for the different problem response types.
• The `Discussion Forum <https://edge.edx.org/courses/edX/edX101/How_to_Create_an_edX_Course/discussion/forum">`_ for this class is a good place to ask questions about exercise types, report any errors or oddities that you may encounter, and get technical support.
• Creating problems for the online format opens a new playing field in the educational process. A big part of the community aspect of edX is to initiate and grow a `Creative Problems <https://edge.edx.org/courses/edX/edX101/How_to_Create_an_edX_Course/wiki/edx101/creative-problems/>`_ . Please look here to be inspired by new approaches when first making your class. Please also come back to post interesting approaches that you came up with while running your class, and to share with the community what worked well and what did not.
**Simple Editor and Advanced Editor**
Studio offers two interfaces for editing problem components.
• The **Simple Editor** allows you to edit problems visually, without having to work with XML.
• The **Advanced Editor** converts the problem to edX's XML standard and allows you to edit that XML directly. For more information about
the XML for different problem types, see Appendix E: Problem Types
Some of the simpler problem templates, including multiple choice, open in the Simple Editor and allow you to switch to the Advanced Editor. The more complicated problem types, such as Circuit Response, open in the Advanced Editor.
*Note: You can switch at any time from the Simple Editor to the Advanced Editor by clicking **Advanced Editor** in the Simple Editor interface. However, there is no way to go back from the Advanced Editor to the Simple Editor without making a new component.*
To open the Advanced Editor, click **Advanced Editor** in the top right corner of the Simple Editor.
.. image:: images/image275.png
The following is a multiple choice problem in the Advanced Editor.
.. image:: images/image276.png
Problem Type
************
Links to description of all the different problem types-brief. Then include links to all the XML, etc.
You may want to create a problem that has more than one response type. For example, you may want to create a multiple choice question, and then ask the
student to explain his or her response. You may also want a student to be able to check the answers to many problems at one time. To accomplish these
tasks, you can include multiple problems inside a single Problem component. (LINK)
Randomizing
***********
The **rerandomize** setting determines whether any random variable inputs for a problem are randomized each time a student loads the problem.
(This is only applicable to problems with randomly generated numeric variables.)
Scoring and Weight
******************
Problems store a **point score** for submitted responses. The score that a student earns is the number of correct responses the student
submits divided by the maximum score for the problem. The default maximum score, or weight, is the integer number of response type inputs the problem has.
Thus, the weight attribute for a problem with one response type input is set to 1 (one point). You can change the maximum score for an individual problem
by manually changing the problem **weight** attribute to another number. When you do this, the number of points that you specify appears next
to the problem title ( to one decimal precision).
**WEIGHT: 0 POINTS**
Scores are stored for all problems, but they only contribute to a student's grade in the course if they are part of a subsection marked as graded. For more
information, see the material on attempts and closing problems in 7B: Feedback and Grading.
**Computing Point Scores**
The point score of a response for a problem reflects the correctness of the response and is recorded as the number of points earned out of the maximum
possible score for the problem (also known as the problem weight). The formula used for computing the recorded point score is the following:
**point score of response = problem weight * ( # inputs correct / # total inputs)**
•**point score of response**
is the point score "earned" by this response for the problem.
•**problem weight**
is the maximum possible point score that can be earned for the problem. By default, this is the integer number of response types in that problem. This can be changed to another value by setting the weight attribute of the problem, as described in Setting Problem Attributes.
•**# inputs correct**
is the number of values for this response that were evaluated as correct by the response type fields.
•**# total inputs**
is the total number of response type fields in the problem.
**Examples**
The following are some examples of setting problem weight and computing problem scores.
**Example 1**
A problem with two response type inputs and a blank weight attribute has a maximum score of 2.0 points.
A student response to this problem that consists of one correct input value and one incorrect input value would be marked as having a score of 1.0 points
out of 2.0 points possible.
**Example 2**
A problem with three response type inputs and a weight attribute of 12 has a maximum score of 12.0 points.
A student response to this problem that consists of one correct input value and two incorrect input values would be marked as having a score of 4.0 points out of 12.0 points possible.
**Example 3**
A problem with four response type inputs and a weight attribute of 2 has a maximum score of 2.0 points.
A student response to this problem that consists of two correct input values and two incorrect input values would be marked as having a score of 0.5 of a point out of 2.0 points total.
**PROBLEM: 20.0 POINTS**
• The weight attribute for this problem has been changed from the default.
• How many points is the entire problem worth?
• What number is the weight attribute of this problem set to?
• How many response inputs does this problem have?
• What is the default maximum score for this problem?
• If a response to this problem got one value right and the rest wrong, what score would it be assigned?
Close
*****
To stop accepting responses and recording points, problems can be *closed.* Closed problems do not display a **Check** button. Students
can still see questions, solutions, and revealed explanations in a closed problem, but they can no longer check their work, submit responses, or change their stored score.
There are several ways that you can close problems:
• Set a due date for the problems in a subsection. Note that you cannot set due dates for individual problems -- only for containing subsections (assignments). By default, due dates are not set. To set a due date, see LINK.
• Specify a grace period for your course. Note that the grace period applies to the entire course. To set a grace period, see LINK.
• Set the number of attempts for the individual problem component. The attempts setting determines the number of times a student is allowed to check their answer by clicking Check before the problem closes. If this field is left blank, a student has unlimited attempts. If you specify a number for the attempts setting, the number of total allowed and remaining attempts appears next to the Check button for the problem. Problems with a limited number of attempts also always display a Save button that allows response values to be saved without being submitted. When there is only one submission left, the student will receive a warning, and the Check button will be replaced with a Final Check button. When no attempts are left, both the Save and Check button will disappear.For more information, see Problem Attributes.
• Manually increase the number of attempts left for a given problem for a particular student from the Instructor tab in the live view of your course, when accessed in the Instructor view on Edge. This is recommended only for unusual situations, such as if you have to fix live problems during an exam.
Feedback
********
Studio includes several tools to provide feedback to students: the **Check** button, the **Show Answer** button, and the **Attempts** setting. When you use the **Show Answer** button, you can also provide a detailed explanation of the answer.
TBD-SCREENSHOT OF PROBLEM WITH THESE ELEMENTS CIRCLED
**Check Button**
The student clicks the **Check** button to submit a response. The problem module then performs the following steps.
• Accepts and stores the responses entered into each input.
• Checks the response values against the correct answers or solutions using an automatic grader.
• Visually marks the correct responses with a green check mark and the incorrect responses with a red x.
• Stores the point score earned by this response for this problem for this student.
If a student wants to save but not submit a response, the student can click **Save**.
In the following problem, enter a response, and then click **Check**. The problem tells you if your response is correct or incorrect.
Additionally, although you don't see it, a point score is also automatically stored for the response you submit.
.. image:: images/image277.png
**Show Answer button**
When a student clicks **Show Answer**, the problem shows the correct answers next to the corresponding response inputs and reveals any
additional explanations that you have provided. **Show Answer** is controlled by the **showanswer** attribute in the problem
editor. It can be set to be never visible, always visible, or visible only when the problem has closed. [Reference: Setting Problem Attributes.]
In the following problem, the **Show Answer ** button appears after the student has made at least one attempt to answer. Enter a response that you know is wrong, and then click **Check**.
.. image:: images/image278.png
Now, click **Show Answer** to view the correct answer and its explanation.
.. image:: images/image279.png
Create a Problem
****************
*Note: You can also include non-graded exercises throughout your course.*
To add interactive, automatically graded exercises to your course content, use the Problem component. This component allows you to include an explanation
that the student can see when the student clicks **Show Answer**.
Studio offers several templates that you can use. Alternatively, you can create your own problem type in XML.
For detailed information about different problem types, see
**Insert CR to APPENDIX A: Problem Types**
1. Under **Add New Component**, click **Problem**.
.. image:: images/image096.png
The **Select Problem Component Type** screen appears. By default, the **Common Problem Types** tab is selected.
.. image:: images/image098.png
To see a list of more complex problem types, click the **Advanced** tab.
.. image:: images/image100.png
2. Click the problem type that you want.
*Note To create your own problem in XML, click **Empty** to open a blank XML editor.*
A new problem component with sample template text appears.
For example, if you click **Multiple Choice**, the following problem component appears.
.. image:: images/image102.png
3. Click **Edit**. This opens the Simple Editor for the problem component. The following example shows this view for a multiple choice
problem.
.. image:: images/image104.png
4. Set the problem attributes.
In the **display_name** box, type the text that you want the student to see when the student hovers over the icon in the bar at the top of the page. This text also appears as a header for the problem.
a. In the **weight** box, set a weight for the problem. If you want the problem to be a practice problem, set this to zero (0).
b. In the **rerandomize **box,
c. In the **attempts **box, specify the number of attempts that you want to allow the student.
d. In the **showanswer** box, enter one of the following settings.
**Reference**
• **never** = The Show Answer button is never visible.
• **closed** = The Show Answer button is not visible if either the due date has passed, or the student has no attempts left.
• **attempted** = The Show Answer button appears after the student has checked an answer once, regardless of correctness.
• **always** = The Show Answer button always appears.
5. Modify the problem text, and then click **Save** to save and check your work. Make sure to publish the draft you are working on to view the problem live.
Modify a Released Problem
*************************
**WARNING: Be careful when you modify problems after they have been released!**
Currently, problems cache the following information per student:
• The student's last submitted response. (which does not know how to check itself)
• The score the student earned for that last response.
• The maximum point score for that problem.
This information is updated when a student submits a response to a problem. If the student refreshes the **Progress** page, solutions are not
re-checked. If a student refreshes the page of a problem, the latest version of the problem statement is loaded, but their previous response is NOT reevaluated. Rather, the previous response is loaded on top of the current problem statement. That is **existing student responses for a problem are not reevaluated if the problem statement or attributes are changed until a student goes back and resubmits the problem. Furthermore, as of the time of writing, if the problem weight attribute is changed, stored scores are reweighted (without rechecking the response) when the student reloads the Progress page.**
For example, you may release a problem that has two inputs. After some students have submitted answers, you change the solution to one of the inputs. Existing student scores are not updated.
If you change the number of inputs to three, the student scores are not updated. So, some students will have a score of 0, 1, or 2 out of 2.0, while other students will have scores of 0, 1, 2, or 3 out of 3.0 for the same problem.
However, if you go in and change the weight of the problem, the existing scores update when you refresh the **Progress** page.
Note that this behavior of re-grading in case of error is an edge case. It is dependent on the implementation of grading, and may change. The goal in the future is to have re-grading that will allow some basic updates to live problems to be propagated cleanly, whether or not students have submitted a response.
**Workarounds**
If you have to modify a released problem in a way that affects grading, you have two options. Note that both options require you to ask your students to go back and resubmit a problem.
1. Increase the number of attempts on the problem in the same Problem component. Then ask all the students in your class to redo the problem.
2. Delete the entire Problem component in Studio and create a new Problem component with the content and settings that you want. Then ask all the students in your course to go back to this assignment and complete problem.
Check your **Progress** view or the **Instructor** tab on Edge as described in the Viewing Scores unit to see if point scores are
being stored as you expect. If there are issues with stored scores that you do not understand or cannot fix, contact support on the Studio help page.
For a discussion of some trade-offs and some suggestions for cleaner solutions in the future, see the following discussion thread on the Studio help desk:
<a href="http://help.edge.edx.org/discussions/questions/73-what-if-you-discover-that-a-live-problem-is-wrong">
http://help.edge.edx.org/discussions/questions/73-what-if-you-discover-that-a-live-problem-is-wrong
You can include multiple problems of different types inside a single Problem component, even if you select a particular template when you create a problem.
A template is simply an XML editor with template text already filled in. You can add to or replace the template text.
\ No newline at end of file
*******************************************************
Add a Syllabus, Static Page, Update, or Course Handouts
*******************************************************
Add a Static Page
*****************
**Static Pages**
takes you to a list of the important pages for your course that you want students to be able to access easily. Static pages usually apply to the whole course rather than a particular sequence. For example, your static pages might include your syllabus or information about your grading policy.
.. image:: images/image155.png
When you create a static page, the name of that page appears in your course's navigation bar at the top of the page, along with **Courseware**, **Course Info**, and other tabs. For example, the following navigation bar includes a **Syllabus** static page and a **Projects** static page.
.. image:: images/image157.png
To add a static page:
1. On the navigation bar, click **Course Content**, and then click **Static Pages**.
.. image:: images/image159.png
2. In the top right corner, click **New Page**. The following entry appears.
.. image:: images/image161.png
3. On the right side of the box, click **Edit**. The following dialog box opens.
.. image:: images/image163.png
4. In the **display_name** box, type the name that you want to appear in the navigation bar for your course.
5. Replace the placeholder text with your content.
6. Click **Save**.
Add a Schedule
**************
To create a schedule for your course, you can create a Google calendar that students can incorporate into their personal Google calendars, or you can use HTML to create a dynamic schedule with links that students can click. You can also include both types of calendar in your course.
Google Calendar
===============
Your Google calendar should include all release dates and due dates. You can link to it in your course. Your calendar may look like the following calendar for BerkeleyX's CS 169.2x course. To see this calendar live, click https://www.google.com/calendar/embed?src=edx.org_mcjhp2tv3ul2etfpb43hd388p4@group.calendar.google.com&amp;ctz=America/New_York_
.. image:: images/image165.png
To create a Google calendar, access your Google account, and then click **Calendar** at the top of the page. You can then enter your schedule information. You can also create a link to this calendar anywhere in your course.
Dynamic HTML Schedule
=====================
You can create a dynamic HTML schedule page that you update manually as the course progresses. The template below was adapted from a version created by Professors Dan Klein and Pieter Abbeel.
Below is a sample course schedule that shows the way the schedule would look during week 3 of the course. As you can see, there are no links for material after week 3, since that information has not yet been released.
This course uses the following release schedule:
1. All lessons are released on Mondays.
2. All homework assignments are released on Wednesdays, and are due on Sunday of the following week.
3. All quizzes are released on Fridays and due on Sunday of the following week (9 days later).
.. image:: images/image285.png
To create a dynamic HTML schedule:
1. On the navigation bar, click **Course Content**, and then click **Static Pages**.
.. image:: images/image155.png
2. In the top right corner, click **New Page**. The following entry appears.
.. image:: images/image15t.png
3. On the right side of the box, click **Edit**. The following dialog box opens.
4. In the editor that opens, type **Schedule **in the **display_name** box.
5. Click the **HTML** tab.
.. image:: images/image158.png
6. Go to href="https://preview.edge.edx.org/c4x/edX/edX101/asset/Sample_DynamicSchedule_Template.txt">edX101 or href="file:///C:/Users/Sylvia/Dropbox/edX/Getting%20Started%20with%20Studio/Getting%20Started%20with%20Studio.docx#AppendixB">Appendix B and copy the code for the dynamic schedule template.
7. In the editor in Studio, replace the placeholder code on the HTML tab with the code for the dynamic schedule template.
Course Handouts
===============
Your course handouts are available on Edge from the **Course Handouts** sidebar on the **Course Info** page. To add these items, you must create a file and upload the file to the **>Files & Uploads** page. When you do this, a URL is created for that file. You then use
this URL to create a link to the file on the **Handouts** sidebar. You create this link on the **Course Updates** page.
*Note You cannot upload videos to the Files & Uploads page.*
Upload a File to the Files & Uploads page
=========================================
The **Files & Uploads** page lists handouts, images, and other content that you want to integrate into your course.
age:: images/image160.png
For example, if you want to include a cartoon in one of your weekly updates, you upload the image to **Files & Uploads**. When you do this, the file receives its own URL, and you then use that URL to create a link to the image in the body of the course. Likewise, if you want to include a handout in the **Course Handouts** section of the **Course Info** page or in a lesson, you upload the handout here, and then create a link to the handout under **Course Handouts** or in the lesson.
You can also use the **Files & Uploads** page to keep all of the content for your course in one place. Content is only visible to students
if you create a link to it. You can thus keep older versions of your content.
For example, if you create a Word file to use in your class, and you then create a PDF copy of that Word file, you can link to the PDF file but keep the Word file on the **Files Uploads** page. If you later delete the file from your personal computer, or if a colleague asks you if they can run a version of your course but change the dates in your handout, you can easily find the Word file on the **Files Uploads** page.
Note that you should be careful when you name files that you add to the **>Files & Uploads** page. Because the file name becomes part of the URL, students can see the name of the file when they open it. Avoid using file names such as "AnswerKey.pdf."
**Warning**
Uploading a file with the same name as a file that is already uploaded will cause the original file to be overwritten. There is not currently a warning when you try to upload a file that has the same name.
To upload a file to the Files & Uploads** page:
1. On the navigation bar, click **Course Content**, and then click **Files & Uploads**.
2. On the **>Files & Uploads ** page, click **Upload New File**.
image:: images/image162.png
3. In the **Upload New File** dialog box, click **Choose File**.
4. In the **Open **dialog box, locate the file that you want, and then click **Open**.
To add another file, click **Load Another File**. To close the dialog box, click the **x** in the top right corner. When you
close the dialog box, the file appears on the **Files & Uploads** page.
5. Determine the URL of your newly uploaded file. To do this, on the **Files & Uploads** page, locate the file in the list. In the **URL** column on the right, you can see the URL you will need to use to display an image or create a hyperlink.
image:: images/image164.png
*Note: Currently, you cannot delete a file after you upload it to the **Files & Uploads** page. You can replace a file by uploading another
file with the same name, but you cannot delete the file.
Add Items to the Handouts Sidebar
=================================
1. On the navigation bar, click **Course Content**, and then click **Updates**.
image:: images/image166.png
2. Locate the **Course Handouts** sidebar on the right, and then click **Edit**.
image:: images/image168.png
3. In the XML box that appears, create links to your files.
o To create a link to a document, enter the following syntax, where URL OF FILE is the URL that you noted in step 5 of < **>Upload a File the Files &amp; Uploads Page </ **>and LINK TEXT is the text that you want to appear in the **Handouts **sidebar.
&lt;p&gt;&lt;a href="[URL OF FILE]"&gt;[LINK TEXT]&lt;/a&gt;&lt;/p&gt;
For example, to create a link to the < **>HTML template for the "About" page</ **> document whose URL is
/c4x/edX/edX101/asset/AboutPage_Template.txt, use the following code.
&lt;p&gt;&lt;a href="/c4x/edX/edX101/asset/AboutPage_Template.txt"&gt;HTML Template for the "About" page&lt;/a&gt;&lt;/p&gt;
o To create a link to an image that you've uploaded, enter the following syntax, where URL OF FILE is the URL that you noted in step 5 of **Upload a File to Your Assets Tab**.
&lt;p&gt;&lt;img src="[URL OF FILE]"/&gt;&lt;/p&gt;
For example, to create a link to the < **>CourseImage.jpg </ **>file whose URL is /c4x/edX/edX101/asset/CourseImage.jpg, use the following code.
&lt;p&gt;&lt;img src="/c4x/edX/edX101/asset/CourseImage.jpg"&gt;&lt;/p&gt;
When you use this code, the following image appears.
<img
border="0"
width="375"
height="200"
src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image073.jpg"
alt="https://lh6.googleusercontent.com/DABeqmGlZudpdR5fC9puzEgrFgeVUj52kA_jbsua5ve_GYDXvUkhS8Gh4MVatQu2tOHUKGxPwwdxlD7va48xfhU8aUhkqGAptS1fnPlxq0VWvmSXiRXhYuWpSA"
/>
4. Click **Save**. Your files appear under **Course Handouts**.
name="_Toc353283155">Add an Announcement or Update
You can add announcements or updates to welcome students to the class, remind students of exams, notify students of changes in the course schedule, and
call out important steps students need to keep in mind. These updates appear on the **Course Info **tab on edX or Edge. Because your course
automatically opens to the **Course Info **page, students will see the update as soon as they sign in.
1. On the **Course Content **menu, click **Updates**. The **Course Updates **page opens.
<img border="0" width="481" height="112" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image170.png"/>
2. Click **New Update**. The following dialog box opens.
<img border="0" width="384" height="269" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image172.png"/>
The content for this box must be formatted in HTML. For a template that you can use that includes placeholders, see
href="file:///C:/Users/Sylvia/Dropbox/edX/Getting%20Started%20with%20Studio/Getting%20Started%20with%20Studio.docx#AppendixA">
**Appendix A**
.
3. Enter your update formatted as HTML, and then click **Save**.
\ No newline at end of file
*******************************************************
Add a Syllabus, Static Page, Update, or Course Handouts
*******************************************************
Add a Static Page
*****************
**Static Pages** takes you to a list of the important pages for your course that you want students to be able to access easily. Static pages usually apply to the whole course rather than a particular sequence. For example, your static pages might include your syllabus or information about your grading policy.
img border="0" width="624" height="185" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image144.png"
When you create a static page, the name of that page appears in your course's navigation bar at the top of the page, along with **Courseware**, **Course Info**, and other tabs. For example, the following navigation bar includes a **Syllabus** static page and a **Projects** static page.
img border="0" width="624" height="41" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image146.png"
To add a static page:
1. On the navigation bar, click **Course Content**, and then click **Static Pages**.
img border="0" width="144" height="166" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image148.png"
br
br
2. In the top right corner, click **New Page**. The following entry appears.
img border="0" width="540" height="139" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image150.png"
3. On the right side of the box, click **Edit**. The following dialog box opens.
img border="0" width="480" height="271" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image152.png"
4. In the **display_name** box, type the name that you want to appear in the navigation bar for your course.
5. Replace the placeholder text with your content.
6. Click **Save**.
Add a Schedule
**************
To create a schedule for your course, you can create a Google calendar that students can incorporate into their personal Google calendars, or you can use HTML to create a dynamic schedule with links that students can click. You can also include both types of calendar in your course.
Google Calendar
*Note:
Your Google calendar should include all release dates and due dates. You can link to it in your course. Your calendar may look like the following calendar for BerkeleyX's CS 169.2x course. (To see this calendar live, click
href="http://www.google.com/calendar/embed?src=edx.org_mcjhp2tv3ul2etfpb43hd388p4%40group.calendar.google.com&amp;ctz=America/New_York">here .)
img border="0" width="466" height="312" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image154.jpg"
To create a Google calendar, access your Google account, and then click **Calendar** at the top of the page. You can then enter your schedule information. You can also create a link to this calendar anywhere in your course.
Dynamic HTML Schedule
=====================
*Note: You can create a dynamic HTML schedule page that you update manually as the course progresses. The template below was adapted from a version created by Professors Dan Klein and Pieter Abbeel.*
Below is a sample course schedule that shows the way the schedule would look during week 3 of the course. As you can see, there are no links for material
after week 3, since that information has not yet been released.
This course uses the following release schedule:
All lessons are released on Mondays.
All homework assignments are released on Wednesdays, and are due on Sunday of the following week.
All quizzes are released on Fridays and due on Sunday of the following week (9 days later).
To create a dynamic HTML schedule:
1. On the navigation bar, click **Course Content**, and then click **Static Pages**.
img border="0" width="120" height="139" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image155.png"
2. In the top right corner, click **New Page**. The following entry appears.
img border="0" width="422" height="108" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image156.png"
3. On the right side of the box, click **Edit**. The following dialog box opens.
4. In the editor that opens, type **Schedule **in the **display_name** box.
5. Click the **HTML** tab.
img border="0" width="430" height="309" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image158.png"
6. Go to href="https://preview.edge.edx.org/c4x/edX/edX101/asset/Sample_DynamicSchedule_Template.txt">edX101 or href="file:///C:/Users/Sylvia/Dropbox/edX/Getting%20Started%20with%20Studio/Getting%20Started%20with%20Studio.docx#AppendixB">Appendix B and copy
the code for the dynamic schedule template.
7. In the editor in Studio, replace the placeholder code on the HTML tab with the code for the dynamic schedule template.
name="_Toc353283152">Add Course Handouts
Your course handouts are available on Edge from the **Course Handouts **sidebar on the **Course Info **page. To add these items,
you must create a file and upload the file to the **Files &amp; Uploads **page. When you do this, a URL is created for that file. You then use
this URL to create a link to the file on the **Handouts** sidebar. You create this link on the **Course Updates** page.
*Note: You cannot upload videos to the **Files &amp; Uploads**
name="_Toc353283153">
name="UploadFiles">Upload a File to the
Files &amp; Uploads page
*Note:
The ** Files &amp; Uploads ** page lists handouts, images, and other content that you want to integrate into your course.
img border="0" width="468" height="88" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image160.jpg"
For example, if you want to include a cartoon in one of your weekly updates, you upload the image to **Files &amp; Uploads **. When you do this, the file receives its own URL, and you then use that URL to create a link to the image in the body of the course. Likewise, if you want to include a handout in the **Course Handouts **section of the** Course Info **page or in a lesson, you upload the handout here, and then create a link to the handout under **Course Handouts **or in the lesson.
You can also use the **Files &amp; Uploads** page to keep all of the content for your course in one place. Content is only visible to students if you create a link to it. You can thus keep older versions of your content.
For example, if you create a Word file to use in your class, and you then create a PDF copy of that Word file, you can link to the PDF file but keep the Word file on the **Files &amp; Uploads **page. If you later delete the file from your personal computer, or if a colleague asks you if they can run a version of your course but change the dates in your handout, you can easily find the Word file on the **Files &amp; Uploads** page.
Note that you should be careful when you name files that you add to the **Files &amp; Uploads** page. Because the file name becomes part of the URL, students can see the name of the file when they open it. Avoid using file names such as "AnswerKey.pdf."
**Warning-Uploading a file with the same name as a file that is already uploaded will cause the original file to be overwritten. There is not currently a warning when you try to upload a file that has the same name.*
To upload a file to the **Files &amp; Uploads** page:
1. On the navigation bar, click **Course Content**, and then click **Files &amp; Uploads**.
2. On the **Files &amp; Uploads** page, click **Upload New File**.
img border="0" width="481" height="128" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image162.png"
3. In the **Upload New File** dialog box, click **Choose File**.
4. In the **Open** dialog box, locate the file that you want, and then click **Open**.
To add another file, click **Load Another File**. To close the dialog box, click the **x** in the top right corner. When you
close the dialog box, the file appears on the **Files &amp; Uploads** page.
5. Determine the URL of your newly uploaded file. To do this, on the **Files &amp; Uploads** page, locate the file in the list. In the **URL** column on the right, you can see the URL you will need to use to display an image or create a hyperlink.
img border="0" width="480" height="97" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image164.png"
**Note: Currently, you cannot delete a file after you upload it to the Files &amp; Uploads page. You can replace a file by uploading another file with the same name, but you cannot delete the file.**
Add Items to the Handouts Sidebar
1. On the navigation bar, click **Course Content**, and then click **Updates**.
img border="0" width="144" height="166" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image166.png"
2. Locate the **Course Handouts **sidebar on the right, and then click **Edit**.
img border="0" width="480" height="113" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image168.png"
3. In the XML box that appears, create links to your files.
o To create a link to a document, enter the following syntax, where URL OF FILE is the URL that you noted in step 5 of **Upload a File the Files &amp; Uploads Page **and LINK TEXT is the text that you want to appear in the **Handouts **sidebar.
&lt;p&gt;&lt;a href="[URL OF FILE]"&gt;[LINK TEXT]&lt;/a&gt;&lt;/p&gt;
For example, to create a link to the **HTML template for the "About" page ** document whose URL is
/c4x/edX/edX101/asset/AboutPage_Template.txt, use the following code.
&lt;p&gt;&lt;a href="/c4x/edX/edX101/asset/AboutPage_Template.txt"&gt;HTML Template for the "About" page&lt;/a&gt;&lt;/p&gt;
o To create a link to an image that you've uploaded, enter the following syntax, where URL OF FILE is the URL that you noted in step 5 of **Upload a File to Your Assets Tab**.
lt;p&gt;&lt;img src="[URL OF FILE]"/&gt;&lt;/p&gt;
For example, to create a link to the **CourseImage.jpg **file whose URL is /c4x/edX/edX101/asset/CourseImage.jpg, use the following code.
& lt;p&gt;&lt;img src="/c4x/edX/edX101/asset/CourseImage.jpg"&gt;&lt;/p&gt;
When you use this code, the following image appears.
img
border="0"
width="375"
height="200"
src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image073.jpg"
alt="https://lh6.googleusercontent.com/DABeqmGlZudpdR5fC9puzEgrFgeVUj52kA_jbsua5ve_GYDXvUkhS8Gh4MVatQu2tOHUKGxPwwdxlD7va48xfhU8aUhkqGAptS1fnPlxq0VWvmSXiRXhYuWpSA"
4. Click **Save**. Your files appear under **Course Handouts**.
name="_Toc353283155">Add an Announcement or Update
You can add announcements or updates to welcome students to the class, remind students of exams, notify students of changes in the course schedule, and
call out important steps students need to keep in mind. These updates appear on the **Course Info **tab on edX or Edge. Because your course
automatically opens to the **Course Info **page, students will see the update as soon as they sign in.
1. On the **Course Content **menu, click **Updates**. The **Course Updates **page opens.
img border="0" width="481" height="112" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image170.png"
2. Click **New Update**. The following dialog box opens.
img border="0" width="384" height="269" src="file:///C:/Users/Sylvia/AppData/Local/Temp/msohtmlclip1/01/clip_image172.png"
The content for this box must be formatted in HTML. For a template that you can use that includes placeholders, see
href="file:///C:/Users/Sylvia/Dropbox/edX/Getting%20Started%20with%20Studio/Getting%20Started%20with%20Studio.docx#AppendixA">
**Appendix A**
3. Enter your update formatted as HTML, and then click **Save**.
*******************************************************
Add a Syllabus, StaticPage, Update, or Course Handouts
*******************************************************
Add a Static Page
*****************
**Static Pages** takes you to a list of the important pages for your course that
you want students to be able to access easily. Static pages usually apply to the
whole course rather than a particular sequence. For example, your static pages
might include your syllabus or information about your grading policy.
.. image:: images/image155.png
When you create a static page, the name of that page appears in your course's
navigation bar at the top of the page, along with **Courseware**, **Course
Info**, and other tabs. For example, the following navigation bar includes a
**Syllabus** static page and a **Projects** static page.
.. image:: images/image157.png
To add a static page:
1. On the navigation bar, click **Course Content**, and then click **Static
Pages**.
.. image:: images/image159.png
2. In the top right corner, click **New Page**. The following entry appears.
.. image:: images/image161.png
3. On the right side of the box, click **Edit**. The following dialog box opens.
.. image:: images/image163.png
4. In the **display_name** box, type the name that you want to appear in the
navigation bar for your course.
5. Replace the placeholder text with your content.
6. Click **Save**.
Add a Schedule
**************
To create a schedule for your course, you can create a Google calendar that
students can incorporate into their personal Google calendars, or you can use
HTML to create a dynamic schedule with links that students can click. You can
also include both types of calendar in your course.
Google Calendar
===============
Your Google calendar should include all release dates and due dates. You can
link to it in your course. Your calendar may look like the following calendar
for BerkeleyX's CS 169.2x course. To see this calendar live,
click
https://www.google.com/calendar/embed?src=edx.org_mcjhp2tv3ul2etfpb43hd388p4@group.calendar.g
oogle.com&amp;ctz=America/New_York_
.. image:: images/image165.png
To create a Google calendar, access your Google account, and then click
**Calendar** at the top of the page. You can then enter your schedule
information. You can also create a link to this calendar anywhere in your
course.
Dynamic HTML Schedule
=====================
You can create a dynamic HTML schedule page that you update manually as the
course progresses. The template below was adapted from a version created by
Professors Dan Klein and Pieter Abbeel.
Below is a sample course schedule that shows the way the schedule would look
during week 3 of the course. As you can see, there are no links for material
after week 3, since that information has not yet been released.
This course uses the following release schedule:
1. All lessons are released on Mondays. 2. All homework assignments are released
on Wednesdays, and are due on Sunday of the following week. 3. All quizzes are
released on Fridays and due on Sunday of the following week (9 days later).
.. image:: images/image285.png
To create a dynamic HTML schedule:
1. On the navigation bar, click **Course Content**, and then click **Static
Pages**.
.. image:: images/image159.png
2. In the top right corner, click **New Page**. The following entry appears.
.. image:: images/image161.png
3. On the right side of the box, click **Edit**. The following dialog box opens.
4. In the editor that opens, type **Schedule **in the **display_name** box.
5. Click the **HTML** tab.
.. image:: images/image163.png
6. Go to `Appendix B <appendices/b.html>`_ and copy the code for the dynamic
schedule template.
7. In the editor in Studio, replace the placeholder code on the HTML tab with
the code for the dynamic schedule template.
Course Handouts
===============
Your course handouts are available on Edge from the **Course Handouts** sidebar
on the **Course Info** page. To add these items, you must create a file and
upload the file to the **>Files & Uploads** page. When you do this, a URL is
created for that file. You then use this URL to create a link to the file on the
**Handouts** sidebar. You create this link on the **Course Updates** page.
*Note: You cannot upload videos to the Files & Uploads page.
Upload a File to the Files & Uploads page
=========================================
The **Files & Uploads** page lists handouts, images, and other content that you
want to integrate into your course.
.. image:: images/image160.png
For example, if you want to include a cartoon in one of your weekly updates, you
upload the image to **Files & Uploads**. When you do this, the file receives its
own URL, and you then use that URL to create a link to the image in the body of
the course. Likewise, if you want to include a handout in the **Course
Handouts** section of the **Course Info** page or in a lesson, you upload the
handout here, and then create a link to the handout under **Course Handouts** or
in the lesson.
You can also use the **Files & Uploads** page to keep all of the content for
your course in one place. Content is only visible to students if you create a
link to it. You can thus keep older versions of your content.
For example, if you create a Word file to use in your class, and you then create
a PDF copy of that Word file, you can link to the PDF file but keep the Word
file on the **Files Uploads** page. If you later delete the file from your
personal computer, or if a colleague asks you if they can run a version of your
course but change the dates in your handout, you can easily find the Word file
on the **Files Uploads** page.
Note that you should be careful when you name files that you add to the **>Files
& Uploads** page. Because the file name becomes part of the URL, students can
see the name of the file when they open it. Avoid using file names such as
"AnswerKey.pdf."
**Warning** Uploading a file with the same name as a file that is already
uploaded will cause the original file to be overwritten. There is not currently
a warning when you try to upload a file that has the same name.
To upload a file to the **Files & Uploads** page:
1. On the navigation bar, click **Course Content**, and then click **Files &
Uploads**.
2. On the **>Files & Uploads ** page, click **Upload New File**.
.. image:: images/image162.png
3. In the **Upload New File** dialog box, click **Choose File**.
4. In the **Open **dialog box, locate the file that you want, and then click
**Open**.
To add another file, click **Load Another File**. To close the dialog box, click
the **x** in the top right corner. When you close the dialog box, the file
appears on the **Files & Uploads** page.
5. Determine the URL of your newly uploaded file. To do this, on the **Files &
Uploads** page, locate the file in the list. In the **URL** column on the right,
you can see the URL you will need to use to display an image or create a
hyperlink.
.. image:: images/image164.png
*Note: Currently, you cannot delete a file after you upload it to the **Files &
Uploads** page. You can replace a file by uploading another file with the same
name, but you cannot delete the file.
Add Items to the Handouts Sidebar
=================================
1. On the navigation bar, click **Course Content**, and then click **Updates**.
image:: images/image166.png
2. Locate the **Course Handouts** sidebar on the right, and then click **Edit**.
.. image:: images/image168.png
3. In the XML box that appears, create links to your files.
o To create a link to a document, enter the following syntax, where URL OF FILE
is the URL that you noted in step 5 of **Upload a File** on the **Files &
Uploads Page** and LINK TEXT is the text that you want to appear in the
**Handouts** sidebar.
.. code-block:: html
<p><a href="[URL OF FILE]">[LINK TEXT]</a></p>
o To create a link to an image that you've uploaded, enter the following syntax,
where URL OF FILE is the URL that you noted in step 5 of **Upload a File to
Your Assets Tab**.
.. code-block:: html
<p><img src="[URL OF FILE]"/></p>
4. Click **Save**. Your files appear under **Course Handouts**.
Add an Announcement or Update
=============================
You can add announcements or updates to welcome students to the class,
remind students of exams, notify students of changes in the course schedule,
and call out important steps students need to keep in mind. These updates
appear on the **Course Info **tab on edX or Edge. Because your course
automatically opens to the **Course Info **page, students will see the
update as soon as they sign in.
1. On the **Course Content** menu, click **Updates**. The **Course Updates**
page opens.
.. image:: images/image185.png
2. Click **New Update**. The following dialog box opens.
.. image:: images/image187.png
The content for this box must be formatted in HTML. For a template that you
can use that includes placeholders, see `Appendix A <appendices/a.html>`_.
3. Enter your update formatted as HTML, and then click **Save**.
\ No newline at end of file
==========================
APPENDIX E: Problem Types
==========================
Option Response
===============
The Option Response input type allows the student to choose from a collection of
answer options, presented as a drop-down list.
Option Response is structurally similar to Multiple Choice. Some conceptual
differences between the two include the following.
• The Multiple Choice radio button format makes it easier for students to read
• very long response options.
• The Option Response drop-down input format makes it more likely for students
to think of an answer and then search for it, rather than relying purely on
recognition to answer the question. The Multiple Choice format is more explicit
and visual. This makes it a more appropriate choice for presenting tricky or
complicated answer options which are intended to get the student to pause and
think.
Sample Problem:
.. image:: ../images/image287.png
:width: 600
**Problem Code:**
.. code-block:: xml
<problem>
<p>Option Response is most similar to __________.</p>
<optionresponse>
<optioninput
options="('Multiple Choice','String Response',
'Numerical Response','External Response',
'Image Response')"
correct="Multiple Choice"/>
</optionresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>Like Option Response, Multiple Choice also allows students to select
from a variety of pre-written responses.</p>
</div>
</solution>
</problem>
**Template**
.. code-block:: xml
<problem>
<optionresponse>
options="('A','B')"
correct="A"/>
</optionresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
**XML Attribute Information**
<optionresponse>
.. image:: ../images/option_response1.png
<optioninput>
.. image:: ../images/optionresponse2.png
Multiple Choice
===============
The Multiple Choice input type allows the student to select at most one choice
from a collection of answer choices, presented as a list of radio buttons.
A Multiple Choice problem can have more than one correct answer, depending on
how many choices are marked as correct in the underlying XML. If all choices are
marked as incorrect, there is no correct response.
Multiple Choice is structurally similar to Option Response. Some conceptual
differences between the two include the following.
• The Multiple Choice radio button format makes it easier for students to read
• very long response options.
• The Option Response drop-down input format makes it more likely for students
• to think of an answer and then search for it, rather than relying purely on
• recognition to answer the question.
• The Multiple Choice format is more explicit and visual. This makes it a more
appropriate choice for presenting tricky or complicated answer options which are
intended to get the student to pause and think. Sample Problem:
.. image:: ../images/image289.png
:width: 600
**Problem Code:**
.. code-block:: xml
<problem>
<p><b>Example Problem</b></p>
<p>How many correct responses can a Multiple Choice question have?</p>
<multiplechoiceresponse>
<choicegroup type="MultipleChoice">
<choice correct="false" name="one">Only one</choice>
<choice correct="false" name="zeroone">Only zero or one</choice>
<choice correct="true" name="zeromore">Zero or more</choice>
<choice correct="false" name="onemore">Only one or more</choice>
<choice correct="false" name="noone">Nobody knows</choice>
<choice correct="true" name="someone">Somebody might know :)</choice>
</choicegroup>
</multiplechoiceresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>It depends on how many choices are marked as correct in the underlying XML.</p>
<p>Note that if all choices are marked as incorrect, there is no
correct response.</p>
</div>
</solution>
</problem>
**Template**
.. code-block:: xml
<problem>
<multiplechoiceresponse>
<choicegroup type="MultipleChoice">
<choice correct="false" name="a">A</choice>
<choice correct="true" name="b">B</choice>
</choicegroup>
</multiplechoiceresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
**XML Attribute Information**
<multiplechoiceresponse>
.. image:: ../images/multipleresponse.png
<choicegroup>
.. image:: ../images/multipleresponse2.png
<choice>
.. image:: ../images/multipleresponse3.png
Checkbox
========
The Checkbox input type allows the student to select zero or more choices from a
collection of answer choices, presented as a list of checkboxes.
Remark: Questions with one Checkbox input type have exactly one correct
response. All the choices marked as correct="true" have to be selected for the
submitted answer (i.e. the response) to be considered correct.
In particular, the response of no boxes checked off could be the single correct
response, and a Checkbox question, unlike a Multiple Choice question, cannot
have zero correct responses.
Sample Problem:
.. image:: ../images/image290.png
:width: 600
**Problem Code:**
.. code-block:: xml
<problem>
<startouttext/>
<p>How many correct responses can a Checkbox question have?</p>
<choiceresponse>
<checkboxgroup>
<choice correct="false"><text>Zero</text></choice>
<choice correct="true"><text>One</text></choice>
<choice correct="false"><text>Two or more</text></choice>
<choice correct="false"><text>Nobody knows</text></choice>
<choice correct="true"><text>Somebody might know :)</text></choice>
</checkboxgroup>
</choiceresponse>
</problem>
**Template**
.. code-block:: xml
<problem>
<choiceresponse>
<checkboxgroup>
<choice correct="false"><text>Zero</text></choice>
<choice correct="true"><text>One</text></choice>
</checkboxgroup>
</choiceresponse>
</problem>
String Response
===============
The String Response input type provides an input box in which the student can
enter a line of text, which is then checked against a specified expected answer.
A String Response input does not provide any answer suggestions, so it can be a
good way to get the students to engage with the material more deeply in a
sequence and look up, figure out, or remember the correct answer themselves.
Note that a student's answer in a String Response is marked as correct if it
matches every character of the expected answer. This can be a problem with
international spelling, dates, or anything where the format of the answer is not
clear.
Sample Problem:
.. image:: ../images/image291.png
:width: 600
**Problem Code:**
.. code-block:: xml
<problem>
<p><b>Example Problem</b></p>
<p>What is the name of this unit? (What response type is this?)</p>
<stringresponse answer="String Response" type="ci">
<textline size="20"/>
</stringresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>The name of this unit is "String Response," written without the punctuation.</p>
<p>Arbitrary capitalization is accepted.</p>
</div>
</solution>
</problem>
**Template**
.. code-block:: xml
<problem>
<stringresponse answer="REPLACE_THIS" type="ci">
<textline size="20"/>
</stringresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
**XML Attribute Information**
<stringresponse>
.. image:: ../images/stringresponse.png
<textline>
.. image:: ../images/stringresponse2.png
Numerical Response
==================
The Numerical Response input type accepts a line of text input from the student
and evaluates the input for correctness based on its numerical value. The input
is allowed to be a number or a mathematical expression in a fixed syntax.
The answer is correct if it is within a specified numerical tolerance of the
expected answer.
The expected answer can be specified explicitly or precomputed by a Python
script.
Sample Problem:
.. image:: ../images/image292.png
:width: 600
**Problem Code**:
.. code-block:: xml
<problem>
<p><b>Example Problem</b></p>
<p>What base is the decimal numeral system in?
<numericalresponse answer="10">
<textline />
</numericalresponse>
</p>
<p>What is the value of the standard gravity constant <i>g</i>, measured in m/s<sup>2</sup>? Give your answer to at least two decimal places.
<numericalresponse answer="9.80665">
<responseparam type="tolerance" default="0.01" />
<textline />
</numericalresponse>
</p>
<!-- Use python script spacing. The following should not be indented! -->
<script type="loncapa/python">
computed_response = math.sqrt(math.fsum([math.pow(math.pi,2), math.pow(math.e,2)]))
</script>
<p>What is the distance in the plane between the points (pi, 0) and (0, e)? You can type math.
<numericalresponse answer="$computed_response">
<responseparam type="tolerance" default="0.0001" />
<textline math="1" />
</numericalresponse>
</p>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>The decimal numerical system is base ten.</p>
<p>The standard gravity constant is defined to be precisely 9.80665 m/s<sup>2</sup>.
This is 9.80 to two decimal places. Entering 9.8 also works.</p>
<p>By the distance formula, the distance between two points in the plane is
the square root of the sum of the squares of the differences of each coordinate.
Even though an exact numerical value is checked in this case, the
easiest way to enter this answer is to type
<code>sqrt(pi^2+e^2)</code> into the editor.
Other answers like <code>sqrt((pi-0)^2+(0-e)^2)</code> also work.
</p>
</div>
</solution>
</problem>
**Templates**
Exact values
.. code-block:: xml
<problem>
<numericalresponse answer="10">
<textline />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Answers with decimal precision
.. code-block:: xml
<problem>
<numericalresponse answer="9.80665">
<responseparam type="tolerance" default="0.01" />
<textline />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Answers with percentage precision
.. code-block:: xml
<problem>
<numericalresponse answer="100">
<responseparam type="tolerance" default="10%" />
<textline />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Answers with a live math interpretation popup display
.. code-block:: xml
<problem>
<numericalresponse answer="3.14159">
<responseparam type="tolerance" default="0.00001" />
<textline math="1" />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Answers with scripts
.. code-block:: xml
<problem>
<!-- Use python script spacing. The following should not be indented! -->
<script type="loncapa/python">
computed_response = math.sqrt(math.fsum([math.pow(math.pi,2), math.pow(math.e,2)]))
</script>
<numericalresponse answer="$computed_response">
<responseparam type="tolerance" default="0.0001" />
<textline math="1" />
</numericalresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
XML Attribute Information
<script>
.. image:: ../images/numericalresponse.png
<numericalresponse>
.. image:: ../images/numericalresponse2.png
<responseparam>
.. image:: ../images/numericalresponse4.png
<textline>
.. image:: ../images/numericalresponse5.png
Formula Response
================
The Formula Response input type accepts a line of text representing a
mathematical expression from the student and evaluates the input for equivalence
to a mathematical expression provided by the grader. Correctness is based on
numerical sampling of the symbolic expressions.
The answer is correct if both the student-provided response and the grader's
mathematical expression are equivalent to specified numerical tolerance, over a
specified range of values for each variable.
This kind of response type can handle symbolic expressions. However, it places
an extra burden on the problem author to specify the allowed variables in the
expression and the numerical ranges over which the variables must be sampled in
order to test for correctness.
Sample Problem:
.. image:: ../images/image293.png
:width: 600
**Problem Code**:
.. code-block:: xml
<problem>
<p><b>Example Problem</b></p>
<p>This is a short introduction to the Formula Response editor.</p>
<p>Write an expression for the product of R_1, R_2, and the inverse of R_3.</p>
<formularesponse type="ci" samples="R_1,R_2,R_3@1,2,3:3,4,5#10" answer="$VoVi">
<responseparam type="tolerance" default="0.00001"/>
<textline size="40" math="1" />
</formularesponse>
<p>Let <i>c</i> denote the speed of light. What is the relativistic energy <i>E</i> of an object of mass <i>m</i>?</p>
<script type="loncapa/python">
VoVi = "(R_1*R_2)/R_3"
</script>
<formularesponse type="cs" samples="m,c@1,2:3,4#10" answer="m*c^2">
<responseparam type="tolerance" default="0.00001"/>
<text><i>E</i> =</text> <textline size="40" math="1" />
</formularesponse>
<p>Let <i>x</i> be a variable, and let <i>n</i> be an arbitrary constant. What is the derivative of <i>x<sup>n</sup></i>?</p>
<script type="loncapa/python">
derivative = "n*x^(n-1)"
</script>
<formularesponse type="ci" samples="x,n@1,2:3,4#10" answer="$derivative">
<responseparam type="tolerance" default="0.00001"/>
<textline size="40" math="1" />
</formularesponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>Use standard arithmetic operation symbols and indicate multiplication explicitly.</p>
<p>Use the symbol <tt>^</tt> to raise to a power.</p>
<p>Use parentheses to specify order of operations.</p>
</div>
</solution>
</problem>
Template
<problem>
<script type="loncapa/python">
answer_value = "n*x^(n-1)"
</script>
<formularesponse type="ci" samples="x,n@1,2:3,4#10" answer="$answer_value">
<responseparam type="tolerance" default="0.00001"/>
<textline size="40" math="1" />
</formularesponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
XML Attribute Information
<script>
.. image:: ../images/formularesponse.png
<formularesponse>
.. image:: ../images/formularesponse3.png
<responseparam>
.. image:: ../images/formularesponse6.png
Image Response
==============
The Image Response input type presents an image and accepts clicks on the image as an answer.
Images have to be uploaded to the courseware Assets directory. Response clicks are marked as correct if they are within a certain specified sub rectangle of the image canvas.
*Note The Mozilla Firefox browser is currently not supported for this problem type.*
Sample Problem:
.. image:: ../images/image294.png
:width: 600
**Problem Code**:
.. code-block:: xml
<problem>
<p><b>Example Problem</b></p>
<startouttext/>
<p>You are given three shapes. Click on the triangle.</p>
<endouttext/>
<imageresponse>
<imageinput src="/c4x/edX/edX101/asset/threeshapes.png" width="220" height="150" rectangle="(80,40)-(130,90)" />
</imageresponse>
</problem>
Template
<problem>
<imageresponse>
<imageinput src="Path_to_Image_File.png" width="220" height="150" rectangle="(80,40)-(130,90)" />
</imageresponse>
</problem>
XML Attribute Information
<imageresponse>
.. image:: ../images/imageresponse1.png
<imageinput>
.. image:: ../images/imageresponse2.png
Custom Response
===============
A Custom Response input type accepts one or more lines of text input from the student and evaluate the inputs for correctness using an embedded Python script.
Sample Problem:
.. image:: ../images/image295.png
:width: 600
**Problem Code**:
.. code-block:: xml
<problem>
<p><b>Example Problem</b></p>
<script type="loncapa/python">
def test_add_to_ten(expect,ans):
try:
a1=int(ans[0])
a2=int(ans[1])
except ValueError:
a1=0
a2=0
return (a1+a2)==10
def test_add(expect,ans):
try:
a1=float(ans[0])
a2=float(ans[1])
except ValueError:
a1=0
a2=0
return (a1+a2)== float(expect)
</script>
<p>This question consists of two parts. </p>
<p>First, enter two integers which sum to 10. </p>
<customresponse cfn="test_add_to_ten">
<textline size="40" /><br/>
<textline size="40" />
</customresponse>
<p>Now enter two (finite) decimals which sum to 20.</p>
<customresponse cfn="test_add" expect="20">
<textline size="40" /><br/>
<textline size="40" />
</customresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>For the first part, any two numbers of the form <i>n</i>
and <i>10-n</i>, where <i>n</i> is any integer, will work.
One possible answer would be the pair 0 and 10.
</p>
<p>For the second part, any pair <i>x</i> and <i>20-x</i> will work, where <i>x</i> is any real number with a finite decimal representation. Both inputs have to be entered either in standard decimal notation or in scientific exponential notation. One possible answer would be the pair 0.5 and 19.5. Another way to write this would be 5e-1 and 1.95e1.
</p>
</div>
</solution>
</problem>
**Templates**
*With displayed suggested correct answers*
.. code-block:: xml
<problem>
<script type="loncapa/python">
def test_add(expect,ans):
a1=float(ans[0])
a2=float(ans[1])
return (a1+a2)== float(expect)
</script>
<p>Enter two real numbers which sum to 20: </p>
<customresponse cfn="test_add" expect="20">
<textline size="40" correct_answer="11"/><br/>
<textline size="40" correct_answer="9"/>
</customresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
**Templates**
*With NO suggested correct answers*
.. code-block:: xml
<problem>
<script type="loncapa/python">
def test_add(expect,ans):
a1=float(ans[0])
a2=float(ans[1])
return (a1+a2)== float(expect)
</script>
<p>Enter two real numbers which sum to 20: </p>
<customresponse cfn="test_add" expect="20">
<textline size="40" /><br/>
<textline size="40" />
</customresponse>
<solution>
<div class="detailed-solution">
</div>
</solution>
</problem>
Chemical Equation Response
==========================
The Chemical Equation Response input type is a special type of Custom Response
that allows the student to enter chemical equations as answers.
Sample Problem:
.. image:: ../images/image296.png
:width: 600
**Problem Code**:
.. code-block:: xml
<problem>
<p><b>Example Problem</b></p>
<startouttext/>
<p>Some problems may ask for a particular chemical equation. Practice by writing out the following reaction in the box below.</p>
<center>\( \text{H}_2\text{SO}_4 \longrightarrow \text{ H}^+ + \text{ HSO}_4^-\)</center>
<br/>
<customresponse>
<chemicalequationinput size="50"/>
<answer type="loncapa/python">
if chemcalc.chemical_equations_equal(submission[0], 'H2SO4 -> H^+ + HSO4^-'):
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</customresponse>
<p> Some tips:<ul><li>Only real element symbols are permitted.</li><li>Subscripts are entered with plain text.</li><li>Superscripts are indicated with a caret (^).</li><li>The reaction arrow (\(\longrightarrow\)) is indicated with "->".</li></ul>
So, you can enter "H2SO4 -> H^+ + HSO4^-".</p>
<endouttext/>
</problem>
Schematic Response
==================
The Schematic Response input type provides an interactive grid on which the
student can construct a schematic answer, such as a circuit.
Sample Problem:
.. image:: ../images/image297.png
:width: 600
.. image:: ../images/image298.png
:width: 600
.. image:: ../images/image299.png
:width: 600
**Problem Code**:
.. code-block:: xml
<problem>
Make a voltage divider that splits the provided voltage evenly.
<schematicresponse>
<center>
<schematic height="500" width="600" parts="g,r" analyses="dc"
initial_value="[["v",[168,144,0],{"value":"dc(1)","_json_":0},["1","0"]],["r",[296,120,0],{"r":"1","_json_":1},["1","output"]],["L",[296,168,3],{"label":"output","_json_":2},["output"]],["w",[296,216,168,216]],["w",[168,216,168,192]],["w",[168,144,168,120]],["w",[168,120,296,120]],["g",[168,216,0],{"_json_":7},["0"]],["view",-67.49999999999994,-78.49999999999994,1.6000000000000003,"50","10","1G",null,"100","1","1000"]]"
/>
</center>
<answer type="loncapa/python">
dc_value = "dc analysis not found"
for response in submission[0]:
if response[0] == 'dc':
for node in response[1:]:
dc_value = node['output']
if dc_value == .5:
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</schematicresponse>
<schematicresponse>
<p>Make a high pass filter.</p>
<center>
<schematic height="500" width="600" parts="g,r,s,c" analyses="ac"
submit_analyses="{"ac":[["NodeA",1,9]]}"
initial_value="[["v",[160,152,0],{"name":"v1","value":"sin(0,1,1,0,0)","_json_":0},["1","0"]],["w",[160,200,240,200]],["g",[160,200,0],{"_json_":2},["0"]],["L",[240,152,3],{"label":"NodeA","_json_":3},["NodeA"]],["s",[240,152,0],{"color":"cyan","offset":"0","_json_":4},["NodeA"]],["view",64.55878906250004,54.114697265625054,2.5000000000000004,"50","10","1G",null,"100","1","1000"]]"/>
</center>
<answer type="loncapa/python">
ac_values = None
for response in submission[0]:
if response[0] == 'ac':
for node in response[1:]:
ac_values = node['NodeA']
print "the ac analysis value:", ac_values
if ac_values == None:
correct = ['incorrect']
elif ac_values[0][1] < ac_values[1][1]:
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</schematicresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>A voltage divider that evenly divides the input voltage can be formed with two identically valued resistors, with the sampled voltage taken in between the two.</p>
<p><img src="/c4x/edX/edX101/asset/images_voltage_divider.png"/></p>
<p>A simple high-pass filter without any further constaints can be formed by simply putting a resister in series with a capacitor. The actual values of the components do not really matter in order to meet the constraints of the problem.</p>
<p><img src="/c4x/edX/edX101/asset/images_high_pass_filter.png"/></p>
</div>
</solution>
</problem>
**************************************************
Checking Student Progress and Issuing Certificates
**************************************************
As will be discussed more in later sections, the grading policy and stored
problem scores are used to record progress through the course, determine
final grades, and issue certificates at the end. This unit will give you
some advance information about how the grading policy will be visible to the
students during the run of the course and what you will need to do at the
end of the course to give out grades.
Checking Progress as a Student
******************************
During the run of a course, students can check their progress by clicking on
the Progress tab of the course on Edge. (This is the same page they would go
to to view subsection problem scores, as described in Viewing Scores.) The
student's progress through the graded part of the course is displayed at the
top of this page, above the subsection scores, as a chart with entries for
all the assignments, total percentage earned in the course so far and
percent needed for each grade cutoff. Here is an example of a student's
progress through edX101.
.. image:: images/image245.png
The student will be able to see from this page that, at the time this
screenshot was taken, edX101 was graded as a Pass/Fail course with a cutoff
of 34% and that the grading rubric contained one assignment type, called
Learning Sequence, consisting of 11 assignments total. Furthermore, this
picture says that this particular student has only submitted correct
responses to two assignments, and that their current total percent grade in
the course is 6%. By hovering over each progress bar, the student would be
able to get further statistics of how much each assignment was counted as.
As was mentioned in the unit on Viewing Scores, further down on the Progress
page is a list of all the subsections in the course, with the scores
recorded for the student for all problems in the course. Here is a scrolled
down view of the example Progress page for the student in the example above:
.. image:: images/image247.png
Again, note that point scores from graded sections are called "Problem
Scores", while point scores from ungraded sections are called "Practice
Scores".
Checking Progress of Students as an Instructor
==============================================
To check the progress of the student through the course, visit the
Instructor dashboard of your course in instructor view on Edge and click on
the Grades page. The Instructor dashboard for courses sometimes changes as
more course-specific tools get added. Here is the current view of the top of
the Grades page of the Instructor dashboard for edX101:
.. image:: images/image249.png
Here you see several options for viewing or downloading student grades,
viewing individual progress through a course or resetting problem attempts.
(Note: only the top part of the Grades page is shown. The page continues
with some more information about course statistics.) The link to the
student's progress page should give you a view of exactly what the student
would see, including scores for graded and ungraded assignments.
*Note: The stored scores visible to you on the Instructor tab and to
the students from the Progress tab in the course on Edge are a snapshot of the
current state of the problem score database. They may be slightly out of
sync with actual problem scores. (Asynchronicities may happen if, for example,
the weight of a live problem was changed during an assignment, and not
everyone has yet resubmitted their answers for that problem.) Scores and grades
are usually recomputed at the end of the semester before determining final
grades and issuing Certificates.*
Assigning Final Grades and Issuing Certificates
===============================================
The final grades of a student in the course and the grading
rubric you have set are used to determine whether the student has earned a
Certificate of Mastery for the course. The process for issuing Certificates
has to be started manually by you or by the edX support team at the end of the
course run. For more information about issuing Certificates, see TBD.
......@@ -3,106 +3,112 @@
Create a Discussion
*******************
To create a discussion in your course, you create a question and Discussion component in Studio. You
can then encourage the students to respond by seeding the discussion space on edX or Edge.
To create a discussion in your course, you create a question and Discussion
component in Studio. You can then encourage the students to respond by seeding
the discussion space on edX or Edge.
Create a Discussion Component
*****************************
Keep in mind the following best practices when you create a Discussion component.
Keep in mind the following best practices when you create a Discussion
component.
• Be very sure that you want to add the Discussion component. Discussion categories are
immediately visible in your forum (on the Discussion tab for your course) when you create them,
even if the unit that contains the Discussion component is set to Private.
• Be very sure that you want to add the Discussion component. Discussion
• categories are immediately visible in your forum (on the Discussion tab for
• your course) when you create them, even if the unit that contains the
• Discussion component is set to Private
• When you create an ID for the Discussion component, be very careful—especially if you are
adding the Discussion component to a running course. Follow the format in step 10 below to make
sure that the ID is unique across all courses on edX.
• When you create an ID for the Discussion component, be very careful—especially
• if you are adding the Discussion component to a running course. Follow the
• format in step 10 below to make sure that the ID is unique across all courses
• on edX.
• Edit only the fields at the top of the Discussion component edit box. Do not change the XML in
the large box.
• Edit only the fields at the top of the Discussion component edit box. Do not
• change the XML in the large box.
To add a Discussion component:
1. Open Studio.
1. Open Studio.
2. Make a note of the **Display Name** of the Subsection you are in and the **Display Name** of the Unit
you are in.
2. Make a note of the **Display Name** of the Subsection you are in and the
**Display Name** of the Unit you are in.
3. At the location in the Unit where you want to start your discussion, create an HTML component
that contains the question that you want students to discuss.
3. At the location in the Unit where you want to start your discussion :doc:`create_html_component`
that contains the question you want students to discuss.
4. Directly under this new HTML component, click **Discussion** under **Add New Component.**
4. Directly under this new HTML component, click **Discussion** under **Add New
Component.**
.. image:: images/image057.png
.. image:: images/image057.png
5. When the following box appears, click **Discussion Tag.**
5. When the following box appears, click **Discussion Tag.**
.. image:: images/image059.png
.. image:: images/image059.png
6. When the following box appears, click **Edit.**
6. When the following box appears, click **Edit.**
.. image:: images/image061.png
.. image:: images/image061.png
The following editing box opens. You will change the values in the small boxes, but you will not
change the text in the large box.
The following editing box opens. You will change the values in the small boxes,
but you will not change the text in the large box.
.. image:: images/image063.png
:width: 800
.. image:: images/image063.png
*Note In the future, these boxes may be filled in for you with a default value.*
*Note: In the future, these boxes may be filled in for you with a default value.*
7. In the **discussion_category** box, type the name of the category that you want to create for the
discussion. You can include spaces.
7. In the **discussion_category** box, type the name of the category that you
want to create for the discussion. You can include spaces.
8. In the **discussion_target** box, type the name of the subcategory that you want to create for the
discussion. You can include spaces.
8. In the **discussion_target** box, type the name of the subcategory that you
want to create for the discussion. You can include spaces.
*Note The category and subcategory names only appear in the discussion forum for your course. They do
not appear in the discussion space inside the Unit.*
*Note: The category and subcategory names only appear in the discussion forum for
*your course. They do not appear in the discussion space inside the Unit.*
For example, if you set **discussion_category** to be “The Discussion Component” and you set
**discussion_target** to be “Online Instruction Methods,” the category and subcategory appear as follows
in the category list in the discussion forum:
For example, if you set **discussion_category** to be “The Discussion Component”
and you set **discussion_target** to be “Online Instruction Methods,” the
category and subcategory appear as follow in the category list in the discussion
forum:
.. image:: images/image065.png
:width: 400
.. image:: images/image065.png
9. In the **display_name** box, type a name for the discussion. The display name
appears when a student hovers the mouse over the ribbon.
9. In the **display_name** box, type a name for the discussion. The display name appears when a student hovers the mouse over the ribbon.
10. Click **Save.**
10. Click **Save.**
Seed a Discussion Space in Your Course
**************************************
When you create a discussion, many students may feel hesitant to be the first to post an answer to
your question. You can get the discussion started by posting your own answer—preferably anonymously
or as a student, so that students will be more comfortable replying if they disagree with your post.
When you create a discussion, many students may feel hesitant to be the first to
post an answer to your question. You can get the discussion started by posting
your own answer—preferably anonymously or as a student, so that students will be
more comfortable replying if they disagree with your post.
To post as a student, follow the steps below. If you later want to reply as yourself, log back into
your usual account and omit steps 1 and 2.
To post as a student, follow the steps below. If you later want to reply as
yourself, log back into your usual account and omit steps 1 and 2.
1. Set up a test account on edX or Edge with an e-mail address that is not associated with your
Course Team.
1. Set up a test account on edX or Edge with an e-mail address that is not
associated with your Course Team.
2. Go to your course URL and register for your course.
2. Go to your course URL and register for your course.
3. On edX or Edge, locate the Unit that contains the Discussion component.
3. On edX or Edge, locate the Unit that contains the Discussion component.
4. In the Unit, locate the discussion space.
4. In the Unit, locate the discussion space.
5. Click **New post.**
5. Click **New post.**
6. Type a title for your post in the Title box, and then enter text for your post.
6. Type a title for your post in the Title box, and then enter text for your
post.
7. If you want to, select the **post anonymously** check box or the **follow this post** check box.
7. If you want to, select the **post anonymously** check box or the **follow
this post** check box.
8. When you are satisfied with your post, click **Add Post.**
8. When you are satisfied with your post, click **Add Post.**
Your new post appears at the top of list in the unit. Posts are listed in reverse chronological
order.
Your new post appears at the top of list in the unit. Posts are listed in
reverse chronological order.
......@@ -6,18 +6,20 @@ Create an HTML Component
.. image:: images/image067.png
The HTML component is the most basic component type. These components are the building blocks of
text-based courses. They are used to add information such as text, lists, links, and images to
units. For example, you can use these components between Problem components to add explanatory text.
You can also use HTML components to import LaTeX code into your course.
The HTML component is the most basic component type. These components are the
building blocks of text-based courses. They are used to add information such as
text, lists, links, and images to units. For example, you can use these
components between Problem components to add explanatory text. You can also use
HTML components to import LaTeX code into your course.
The HTML component editor has two views: **Visual view** and **HTML view.** Visual view offers you a “what
you see is what you get” (WYSIWYG) editor for editing a pre-formatted version of the text. HTML view
gives you a text editor in which you can edit HTML code directly.
The HTML component editor has two views: **Visual view** and **HTML view.**
Visual view offers you a “what you see is what you get” (WYSIWYG) editor for
editing a pre-formatted version of the text. HTML view gives you a text editor
in which you can edit HTML code directly.
Note Studio processes the HTML code entered when saving it and before rendering it. Make sure that
the component you created looks the way you expect live if you go back and forth between Visual and
HTML view.
Note Studio processes the HTML code entered when saving it and before rendering
it. Make sure that the component you created looks the way you expect live if
you go back and forth between Visual and HTML view.
Create a Basic HTML Component
......@@ -25,39 +27,43 @@ Create a Basic HTML Component
**To create a basic, blank HTML component:**
1. Under Add New Component, click **html**, and then click **Empty.** The following blank component
appears.
1. Under Add New Component, click **html**, and then click **Empty.** The
following blank component appears.
.. image:: images/image069.png
.. image:: images/image069.png
2. In the blank component, click **Edit.** The HTML editor opens.
.. image:: images/image071.png
2. In the blank component, click **Edit.** The HTML editor opens.
3. Enter the information that you want, and then click **Save.**
.. image:: images/image071.png
*Note If you want to enter links to other pages or to images or to edit the HTML directly, switch to
the HTML tab.*
3. Enter the information that you want, and then click **Save.**
*Note If you want to enter links to other pages or to images or to edit the
HTML directly, switch to the HTML tab.*
**To create a basic HTML component that includes a template you can use:**
1. Under **Add New Component,** click **html** and then click **Announcement.**
The following screen opens.
.. image:: images/image073.png
1. Under **Add New Component,** click **html** and then click **Announcement.**
The following screen opens.
.. image:: images/image073.png
2. Click **Edit.**
2. Click **Edit.**
The text editor opens in Visual view. Replace the template text with your announcement text.
The text editor opens in Visual view. Replace the template text with your
announcement text.
*Note If you want to enter links to other pages or to images or to edit the HTML directly, switch to
the HTML tab.*
*Note If you want to enter links to other pages or to images or to edit the
HTML directly, switch to the HTML tab.*
.. image:: images/image075.png
.. image:: images/image075.png
3. Click **Save.**
3. Click **Save.**
Create Links
......@@ -66,164 +72,182 @@ Create Links
**Link to a Handout or Image**
To link to a document, image, or other file that you uploaded to the Files & Uploads page:
To link to a document, image, or other file that you uploaded to the Files &
Uploads page:
1. Create a blank HTML component, and switch to HTML view.
1. Create a blank HTML component, and switch to HTML view.
2. In the HTML box, create links to your files.
2. In the HTML box, create links to your files.
To create a link to a document, enter the following syntax, where URL OF FILE is the URL that you noted in step 5 of Upload a File to the Files & Uploads Page and LINK TEXT is the text that the user will click. ::
To create a link to a document, enter the following syntax, where URL OF FILE is
the URL that you noted in step 5 of Upload a File to the Files & Uploads Page
and LINK TEXT is the text that the user will click. ::
<p><a href="[URL OF FILE]">[LINK TEXT]</a></p>
For example, to create a link to the HTML template for the “About” page document whose URL is /c4x/edX/edX101/asset/AboutPage_Template.txt, use the following code. ::
For example, to create a link to the HTML template for the “About” page document
whose URL is /c4x/edX/edX101/asset/AboutPage_Template.txt, use the following
code. ::
<p><a href="/c4x/edX/edX101/asset/AboutPage_Template.txt">HTML Template for the "About" page</a></p>
<p><a href="/c4x/edX/edX101/asset/AboutPage_Template.txt">HTML Template for
<the "About" page</a></p>
To create a link to an image that you’ve uploaded, enter the following syntax, where URL OF FILE is the URL that you noted in step 5 of Upload a File to the Files & Uploads Page. ::
To create a link to an image that you’ve uploaded, enter the following syntax,
where URL OF FILE is the URL that you noted in step 5 of Upload a File to the
Files & Uploads Page. ::
<p><img src="[URL OF FILE]"/></p>
For example, to create a link to the CourseImage.jpg file whose URL is
/c4x/edX/edX101/asset/CourseImage.jpg, use the following code. ::
For example, to create a link to the CourseImage.jpg file whose URL is
/c4x/edX/edX101/asset/CourseImage.jpg, use the following code. ::
<p><img src="/c4x/edX/edX101/asset/CourseImage.jpg"></p>
When you use this code, the following image appears.
When you use this code, the following image appears.
.. image:: images/image078.png
.. image:: images/image078.png
:width: 800
3. Click **Save.** Your files or images appear in the component.
3. Click **Save.** Your files or images appear in the component.
**Link to Course Units**
To direct the student to a specific place in your own course, you must add an HTML link to that
unit. To do this:
To direct the student to a specific place in your own course, you must add an
HTML link to that unit. To do this:
1. Determine the relative directory of your course.
a. On the Course Settings tab, click the blue your course URL link under Basic Information.
a. On the Course Settings tab, click the blue your course URL link under Basic
Information.
.. image:: images/image079.png
.. image:: images/image079.png
:width: 800
The registration page for your course opens.
b. In the address bar at the top of the page, locate the URL.
The registration page for your course opens.
c. Copy the part of the URL after “.org” and before “about”, including the forward slashes. The syntax is the following. ::
b. In the address bar at the top of the page, locate the URL.
/courses/[organization]/[course_number]/[course_name]/
c. Copy the part of the URL after “.org” and before “about”, including the
forward slashes. The syntax is the following. ::
/courses/[organization]/[course_number]/[course_name]/
For example, for edX101: How to Create an edX Course from edX, the complete URL is the following. ::
For example, for edX101: How to Create an edX Course from edX, the complete URL
is the following. ::
https://edge.edx.org/courses/edX/edX101/How_to_create_an_edX_course/about
The relative directory is the following. ::
The relative directory is the following. ::
/courses/edX/edX101/How_to_create_an_edX_course/
2. Determine the location ID of the target unit. Studio generates the location ID for each unit when you create the unit. The location ID uses the following syntax. ::
2. Determine the location ID of the target unit. Studio generates the location
ID for each unit when you create the unit. The location ID uses the following
syntax. ::
::i4x://<organization>/<course_number>/vertical/<url_name_of_unit>
i4x://<organization>/<course_number>/vertical/<url_name_of_unit>
*NOTE: To find the location ID, open the page of the unit you are trying to link
*to in Studio and look at the URL in the browser’s address bar. The location ID
*is the text in the URL after edit, as in the following example.
To find the location ID, open the page of the unit you are trying to link to in Studio and look at the URL in the browser’s address bar. The location ID is the text in the URL after edit, as in the following example.
.. image:: images/image081.png
:width: 800
.. image:: images/image081.png
3. Open the unit that you want to link from.
3. Open the unit that you want to link from.
4. Under Add New Component, click html, and then click Empty. A new, blank component appears.
4. Under Add New Component, click html, and then click Empty. A new, blank
component appears.
.. image:: images/image083.png
.. image:: images/image083.png
:width: 800
5. Click **edit**.
5. Click **edit**.
6. In the HTML editor that opens, click the HTML tab.
6. In the HTML editor that opens, click the HTML tab.
7. Next to the number 1, type the following. Replace relative course directory, location id of unit, and link text with your information. ::
7. Next to the number 1, type the following. Replace relative course directory,
location id of unit, and link text with your information. ::
<a href = "[[relative course directory]]/jump_to/[[location id of unit]]">[link text]</a>
<a href = "[[relative course directory]]/jump_to/[[location id of
<unit]]">[link text]</a>
For example, a link to the “Creating an HTML Component” unit in edx101 resembles the following. ::
<a href = "courses/edX/edX101/How_to_Create_an_edX_Course/jump_to/i4x://edX/edX101/vertical/8713e94afd074e40991dcb675d1030b5">Creating an HTML Component</a>
Forexample,alinktothe“CreatinganHTMLComponent”unitinedx101resemblesthefollowing
.::
<a href = "courses/edX/edX101/How_to_Create_an_edX_Course/jump_to/i4x://edX/ed
<X101/vertical/8713e94afd074e40991dcb675d1030b5">Creating an HTML
<Component</a>
Import from LaTeX
*****************
You can create an HTML component from imported LaTeX code.
*Note: This feature is currently under development.*
*Note: This feature is currently under development.*
1. Under **Add New Component**, click **html**, and then click **E-text Written in LaTeX.**
1. Under **Add New Component**, click **html**, and then click **E-text Written
in LaTeX.**
.. image:: images/image067.png
.. image:: images/image067.png
:width: 800
2. In the component that appears, click Edit.
2. In the component that appears, click Edit.
.. image:: images/image083.png
.. image:: images/image083.png
:width: 800
3. The component editor opens. In the top left corner of the editor, click the yellow **Edit High Level Source** text.
3. The component editor opens. In the top left corner of the editor, click the
yellow **Edit High Level Source** text.
.. image:: images/image085.png
.. image:: images/image085.png
:width: 800
4. In the **High Level Source Editing** screen that opens, replace the sample code with your LaTeX code.
4. In the **High Level Source Editing** screen that opens, replace the sample
code with your LaTeX code.
.. image:: images/image087.png
.. image:: images/image087.png
:width: 800
5. Click **Save and compile to edX XML** to convert the LaTeX code into edX XML code.
5. Click **Save and compile to edX XML** to convert the LaTeX code into edX XML
code.
*Note: Studio uses a third-party LaTeX processor to convert LaTeX code to XML. The LaTeX processor must be up and running.*
*Note: Studio uses a third-party LaTeX processor to convert LaTeX code to XML.
The LaTeX processor must be up and running.*
6. Click **Save**. Verify that your newly created component looks the way you want it to.
6. Click **Save**. Verify that your newly created component looks the way you
want it to.
......@@ -5,95 +5,108 @@ Create a Lesson in Studio
Once you have created a course, you are ready to create content for that course.
**CAUTION**
*The alpha version of Studio does not have versioning or automatic updating of your browser between
refreshes. Versioning is planned for future releases, but, in the meantime, only one author should
edit a unit, in one browser, on only one tab.  If a unit is open for editing in multiple browser
sessions, the session that saves last will overwrite any previously saved content without displaying
a warning. Also, older browser sessions can overwrite more recent content, so refresh your browser
before you start working every time you work with a private unit or edit a draft of a public unit.*
**CAUTION** *The alpha version of Studio does not have versioning or automatic
updating of your browser between refreshes. Versioning is planned for future
releases, but, in the meantime, only one author should edit a unit, in one
browser, on only one tab.  If a unit is open for editing in multiple browser
sessions, the session that saves last will overwrite any previously saved
content without displaying a warning. Also, older browser sessions can overwrite
more recent content, so refresh your browser before you start working every time
you work with a private unit or edit a draft of a public unit.*
Introduction
************
Just as in an offline course, content in an online course is broken down into smaller pieces. In
Studio, these pieces are categories called **sections, subsections, and units** Units, in turn, are
made up of **components** that contain the actual content of your course.
Just as in an offline course, content in an online course is broken down into
smaller pieces. In Studio, these pieces are categories called **sections,
subsections, and units** Units, in turn, are made up of **components** that
contain the actual content of your course.
Sections, for example, may correspond to weeks in your course, while subsections often correspond to
lessons, homework assignments, or exams. A lesson is an interwoven selection of units of different
types, such as videos, text, images, discussions, and problems. It is an interactive representation
of the material that you would cover in a typical class period.
Sections, for example, may correspond to weeks in your course, while subsections
often correspond to lessons, homework assignments, or exams. A lesson is an
interwoven selection of units of different types, such as videos, text, images,
discussions, and problems. It is an interactive representation of the material
that you would cover in a typical class period.
On the **Course Outline** page, you can see all the sections, subsections, and units in your course at a
glance, as well as whether the subsections are public or private.
On the **Course Outline** page, you can see all the sections, subsections, and
units in your course at a glance, as well as whether the subsections are public
or private.
.. image:: images/image029.png
:width: 800
.. image:: images/image031.png
:width: 800
Section
*******
A section is the topmost category that you use to organize your course. Many instructors name
sections according to the number of weeks in the course—for example, section 1 is named Week 1,
section 2 is named Week 2, and so on. Sections contain subsections, which in turn contain units.
A section is the topmost category that you use to organize your course. Many
instructors name sections according to the number of weeks in the course—for
example, section 1 is named Week 1, section 2 is named Week 2, and so on.
Sections contain subsections, which in turn contain units.
You can set an individual release date for each section in your course. None of the content in the
section is visible until its release date has passed.
For more information about how to create a section, see `Create A Section and SubSection <Create__Section_Sub_Section.html>`_.
You can set an individual release date for each section in your course. None of
the content in the section is visible until its release date has passed.
For more information about how to create a section, see
:doc:`create_section_sub_section`.
Subsection
**********
A subsection is a subcategory of a section. Many instructors name subsections according to the
topics in their courses. Subsection names appear along with section names in the left pane when you
view your course on Edge.
A subsection is a subcategory of a section. Many instructors name subsections
according to the topics in their courses. Subsection names appear along with
section names in the left pane when you view your course on Edge.
.. image:: images/image033.png
You can set subsections to be one of the assignment types that you created when you set up grading.
You can then include assignments in the body of that subsection. For more information, see :ref:`Create Subsections that Contain Graded Assignments<Create-Subsections-Containing-Graded-Assignments>`.
You can set subsections to be one of the assignment types that you created when
you set up grading. You can then include assignments in the body of that
subsection.
You can set an individual release date for each subsection in your course. None of the content in
the subsection is visible until its release date has passed. If you do not set a release date, the
subsection has the same release date as its section.
You can set an individual release date for each subsection in your course. None
of the content in the subsection is visible until its release date has passed.
If you do not set a release date, the subsection has the same release date as
its section.
For more information about how to create a subsection, see :doc:`create_section_sub_section`.
For more information about how to create a subsection, see
:doc:`create_section_sub_section`.
Unit
****
A unit is a further category that helps you organize your course materials. Units contain
components, which are the building blocks of lessons. Units do not appear in the left pane with
section and subsection headings. Instead, each unit appears as a part of the course accordion at the
top of the page when you view your course on Edge. The following page shows a subsection that has
two Units.
A unit is a further category that helps you organize your course materials.
Units contain components, which are the building blocks of lessons. Units do not
appear in the left pane with section and subsection headings. Instead, each unit
appears as a part of the course accordion at the top of the page when you view
your course on Edge. The following page shows a subsection that has two Units.
.. image:: images/image035.png
Note that by default, all units are set to **Private.** To make a unit visible to students, you have to
explicitly change the unit’s visibility to **Public.** For more information see :ref:`Set Content Release Dates and Visibility<Set_Content_Release_Dates_And_Visibility>`.
Note that by default, all units are set to **Private.** To make a unit visible
to students, you have to explicitly change the unit’s visibility to **Public.**
For more information see :doc:`set_content_releasedates` .
Component
*********
A component is the part of a unit that contains your actual course content. The names of all
components in a unit appear when you hover over the unit in the course accordion at the top of the
page.
A component is the part of a unit that contains your actual course content. The
names of all components in a unit appear when you hover over the unit in the
course accordion at the top of the page.
.. image:: images/image037.png
:width: 800
There are four types of components: Discussion components, HTML components, Problem components, and
Video components. For more information, see Create a Discussion, Create an HTML Component, Create a
Problem Component, and Create a Video.
There are four types of components: Discussion components, HTML components,
Problem components, and Video components. For more information,
see :doc:`create_discussion`, :doc:`create_html_component`, :doc:`create_problem`, and :doc:`create_video` .
......@@ -28,7 +28,7 @@ Overview
• `Writing Exercises <https://edge.edx.org/courses/edX/edX101/How_to_Create_an_edX_Course/courseware/a45de3baa8a9468cbfb1a301fdcd7e86/d15cfeaff0af4dd7be4765cd0988d172/1>`_ has more in-depth discussion about problem types, and some general pedagogical considerations for adapting to the online format and a `Gallery of Response Types <https://edge.edx.org/accounts/login?next=/courses/edX/edX101/How_to_Create_an_edX_Course/courseware/a45de3baa8a9468cbfb1a301fdcd7e86/3ba055e760d04f389150a75edfecb844/1>`_
• The Appendix contains `XML Documentation <https://edge.edx.org/courses/edX/edX101/How_to_Create_an_edX_Course/jump_to/i4x:/edX/edX101/sequential/2b789a363cba4af09cbf5e14fd7a1a7f>`_ for the different problem response types.
• The :doc:`appendices/a` contains XML documentaion for the different problem response types.
• The `Discussion Forum <https://edge.edx.org/courses/edX/edX101/How_to_Create_an_edX_Course/discussion/forum">`_ for this class is a good place to ask questions about exercise types, report any errors or oddities that you may encounter, and get technical support.
......@@ -41,8 +41,7 @@ Overview
• The **Simple Editor** allows you to edit problems visually, without having to work with XML.
• The **Advanced Editor** converts the problem to edX's XML standard and allows you to edit that XML directly. For more information about
the XML for different problem types, see Appendix E: Problem Types
• The **Advanced Editor** converts the problem to edX's XML standard and allows you to edit that XML directly. For more information about the XML for different problem types, see Appendix E: Problem Types
Some of the simpler problem templates, including multiple choice, open in the Simple Editor and allow you to switch to the Advanced Editor. The more complicated problem types, such as Circuit Response, open in the Advanced Editor.
......
......@@ -19,8 +19,8 @@ Create a Section and Subsection
3. In the **New Section** Name box, type a section name, and then click
**Save**.
*Note: In most courses, the name of the first section is Week 1. The section
that you have created appears on the **Course Outline** page.
*Note: In most courses, the name of the first section is Week 1.
The section that you have created appears on the **Course Outline** page.
.. image:: images/image041.png
:width: 800
......
************************
Create and Seed the Wiki
************************
Create wiki ("seed" the wiki)
\ No newline at end of file
************************
Create and Seed the Wiki
************************
Create wiki ("seed" the wiki)
\ No newline at end of file
****************************************
Create a Welcome Announcement and E-Mail
****************************************
Send e-mail (welcome and weekly) (surveys?) (TBD)
Create welcome announcement
Create landing page announcement (change "landing page" to "Course Info"
page)
Create discussion forum
\ No newline at end of file
......@@ -6,7 +6,7 @@ Add Collaborators
*****************
Studio has support for rudimentary collaborative editing of a course. Users must have registered at studio.edge.edx.org, and must have activated their account via the ail link. If a user is not found, you will be notified.
Studio has support for rudimentary collaborative editing of a course. Users must have registered at studio.edge.edx.org, and must have activated their account via the mail link. If a user is not found, you will be notified.
Before you add a new user, consider the following.
......@@ -37,7 +37,7 @@ Add Collaborators
.. image:: images/image117.png
3. In the **email** box, type the ail address of the user, and then click **Add User**.
3. In the **email** box, type the mail address of the user, and then click **Add User**.
......@@ -51,7 +51,7 @@ Add Manual Policy Data
You should only add manual policy data if you are very familiar with valid configuration key value pairs and the ways these pairs will affect your course.
Errors on this page can cause significant probl s with your course.
Errors on this page can cause significant problems with your course.
The edX program managers can help you learn about how to apply these settings.
......@@ -60,7 +60,7 @@ Add Manual Policy Data
1. On the navigation bar, click **Course Settings**, and then click **Advanced Settings**.
2. Click **New Manual Policy**.
2. Click **New Manual Policy** .
.. image:: images/image119.png
......@@ -76,7 +76,7 @@ Add Course Catalog Information
******************************
To add scheduling information, a description, and other information for your course, use the **Course Settings **menu.
To add scheduling information, a description, and other information for your course, use the **Course Settings** menu.
.. image:: images/image121.png
......@@ -88,18 +88,18 @@ Schedule and Details Page
=========================
1. At the top of this page, you will find a section with the **Basic Information** for your course. It is here that you can locate the title of your course and find the URL for your course, which you can ail to students to invite students to enroll in your course.
1. At the top of this page, you will find a section with the **Basic Information** for your course. It is here that you can locate the title of your course and find the URL for your course, which you can mail to students to invite students to enroll in your course.
.. image:: images/image281.png
2. In the **Course Schedule** section, enter the date you want your course to start in the **Course** **Start Date **box, and then enter the time you want your course to start in the **Course** **Start Time **box.
2. In the **Course Schedule** section, enter the date you want your course to start in the **Course Start Date** box, and then enter the time you want your course to start in the **Course** **Start Time** box.
*Note: The Course Start Time on this screen will reflect the current time zone in your browser, depending on your geography. Course start times for students will show as UTC on Edge.*
*Note: The Course Start Time on this screen will reflect the current time zone in your browser, depending on your geography. Course start times for students will show as UTC on Edge.*
3. In the **Course Schedule** section, enter the date you want your course to end in the **Course** **End Date **
3. In the **Course Schedule** section, enter the date you want your course to end in the **Course** **End Date **
box, and then enter the time you want your course to end in the **Course** **End Time** box.
......@@ -107,17 +107,17 @@ Add Enrollment Information
==========================
1. On the navigation bar, click **Course **Settings, and then click **Schedule & Details** .
1. On the navigation bar, click **Course **Settings, and then click **Schedule & Details** .
2. In the **Course Schedule** section, enter the date you want enrollment for your course to start in the **Enrollment Start Date** box, and then enter the time you want enrollment for your course to start in the **Enrollment Start Time** box.
2. In the **Course Schedule** section, enter the date you want enrollment for your course to start in the **Enrollment Start Date** box, and then enter the time you want enrollment for your course to start in the **Enrollment Start Time** box.
3. In the **Course Schedule** section, enter the date you want enrollment for your course to end in the **Enrollment End Date **
box, and then enter the time you want enrollment for your course to end in the **Enrollment End Time** box.
3. In the **Course Schedule** section, enter the date you want enrollment for your course to end in the **Enrollment End Date**
box, and then enter the time you want enrollment for your course to end in the **Enrollment End Time** box.
*Note: The Enrollment dates on this screen will reflect the current time zone in your browser, depending on your geography. Enrollment times for students will show as UTC on Edge.*
*Note: The Enrollment dates on this screen will reflect the current time zone in your browser, depending on your geography. Enrollment times for students will show as UTC on Edge.*
......@@ -125,78 +125,79 @@ Add a Course Overview
=====================
1. On the navigation bar, click **Course Settings**, and then click ** Schedule &amp; Details ** .
1. On the navigation bar, click **Course Settings**, and then click ** Schedule &amp; Details ** .
2. Scroll down to the **Introducing Your Course** section, and then locate the **Course Overview** box.
2. Scroll down to the **Introducing Your Course** section, and then locate the **Course Overview** box.
.. image:: images/image123.png
.. image:: images/image123.png
3. In the **Course Overview** box, enter a description of your course.
3. In the **Course Overview** box, enter a description of your course.
The content for this box must be formated in HTML. For a template that you
can use that includes placeholders, see :doc:`appendices/a`.
The content for this box must be formated in HTML. For a template that you
can use that includes placeholders, see :doc:`appendices/a`.
If your course has prerequisites, you can include that information in the course overview.
If your course has prerequisites, you can include that information in the course overview.
*Note: There is no save button. Studio automatically saves your changes.*
*Note: There is no save button. Studio automatically saves your changes.*
The following is example content for the **Course Overview** box:
The following is example content for the **Course Overview** box:
.. image:: images/image125.png
.. image:: images/image125.png
Add an About Video
==================
You can create an About video that will appear on the **About** page for your course.
You can create an About video that will appear on the **About** page for your course.
1. Upload the video that you want to YouTube. Make note of the code that appears between ** watch?v =** and ** &amp;feature** in the URL. This code appears in the green box below.
1. Upload the video that you want to YouTube. Make note of the code that appears between ** watch?v =** and ** &feature** in the URL. This code appears in the green box below.
.. image:: images/image127.png
.. image:: images/image127.png
2. On the navigation bar, click **Course Settings**, and then click **Schedule & Details** .
2. On the navigation bar, click **Course Settings**, and then click **Schedule & Details** .
3. Scroll down to the **Introducing Your Course** section, and then locate the **Course** **Introduction Video**
3. Scroll down to the **Introducing Your Course** section, and then locate the **Course** **Introduction Video**
field. If you have not already added a video, you see a blank field above an **id** box.
.. image:: images/image129.png
.. image:: images/image129.png
4. In the ** your YouTube video's ID** box, enter your video code. When you add the code, the video automatically appears in the field above the **your YouTube video's ID** box.
4. In the **your YouTube video's ID** box, enter your video code. When you add the code, the video automatically appears in the field above the **your YouTube video's ID** box.
*Note: There is no save button. Studio automatically saves your changes.*
*Note: There is no save button. Studio automatically saves your changes.*
For example, your course introduction video appears as follows.
For example, your course introduction video appears as follows.
.. image:: images/image131.png
.. image:: images/image131.png
Add Weekly Time Requirements Information
========================================
1. On the navigation bar, click **Course Settings**, and then click **Schedule & Details** .
1. On the navigation bar, click **Course Settings**, and then click **Schedule & Details** .
2. Scroll down to the **Requirments** section.
2. Scroll down to the **Requirments** section.
3. In the **Hours of Effort per Week** box, enter the number of hours you expect students to work on this course each week.
3. In the **Hours of Effort per Week** box, enter the number of hours you expect students to work on this course each week.
*************************
Export or Import a Course
*************************
Studio has an Import tool and an Export tool that allow you to import and
export courses.
Export a Course
***************
You can export a course that has been created in Studio. You can export a
course for use by another instructor, or you can back up your course.
For example, you may create a course in Studio, and then run that course. A
friend or colleague, including a friend from another institution, may be
interested in running their own customized version of that course. You can
export the course that you have created and give it to the other instructor.
That instructor can then import the course, make any changes that are
necessary to reflect that instructor's situation, and then release the
course to students.
Or, you may export your course, and then make changes to your course in
Studio. If you later want to revert to the earlier version of your course,
you can import the version that you exported. Be careful if you do this
while you are running your course, as you could lose your students' work.
When you export your course, Studio creates a **.tar.gz** file that includes
the following course data:
1. Course structure (the order of sections and subsections)
2. Individual units
3. Individual problems
4. Additional pages
5. Files on the Files & Uploads page
The exported file does not include the following data:
1. Student or user data
2. Discussion forum data
3. Course settings
4. Certificates
5. Grading information
Import a Course
***************
*Note: This feature should be used with caution!
Importing a new course will delete all course content currently associated with
your course and replace it with the contents of the uploaded file.
**Importing a course cannot be undone.*
You can import courses that have already been created in Studio. These can
be courses that you or someone else has created and exported.
The file that you import must be a **.tar.gz** file that contains, at a
minimum, a Course.xml file in a course data directory. The tar.gz file must
have the same name as the course data directory.
If your course uses legacy layout structures, you may not be able to edit
the course in Studio, although it will probably appear correctly on Edge. To
make sure that your course is completely editable, ensure that all of your
material is embedded in a unit.
To import a course:
1. On the navigation bar, click **Tools**, and then click **Import**.
.. image:: images/image243.png
2. Under **Course to Import**, click **Choose File**.
3. Locate the file that you want, and then click **Open**.
*************************
Export or Import a Course
*************************
Studio has an Import tool and an Export tool that allow you to import and
export courses.
Export a Course
***************
You can export a course that has been created in Studio. You can export a
course for use by another instructor, or you can back up your course.
For example, you may create a course in Studio, and then run that course. A
friend or colleague, including a friend from another institution, may be
interested in running their own customized version of that course. You can
export the course that you have created and give it to the other instructor.
That instructor can then import the course, make any changes that are
necessary to reflect that instructor's situation, and then release the
course to students.
Or, you may export your course, and then make changes to your course in
Studio. If you later want to revert to the earlier version of your course,
you can import the version that you exported. Be careful if you do this
while you are running your course, as you could lose your students' work.
When you export your course, Studio creates a **.tar.gz** file that includes
the following course data:
1. Course structure (the order of sections and subsections)
2. Individual units
3. Individual problems
4. Additional pages
5. Files on the Files & Uploads page
The exported file does not include the following data:
1. Student or user data
2. Discussion forum data
3. Course settings
4. Certificates
5. Grading information
Import a Course
***************
*Note: This feature should be used with caution!
Importing a new course will delete all course content currently associated with
your course and replace it with the contents of the uploaded file.
**Importing a course cannot be undone.*
You can import courses that have already been created in Studio. These can
be courses that you or someone else has created and exported.
The file that you import must be a **.tar.gz** file that contains, at a
minimum, a Course.xml file in a course data directory. The tar.gz file must
have the same name as the course data directory.
If your course uses legacy layout structures, you may not be able to edit
the course in Studio, although it will probably appear correctly on Edge. To
make sure that your course is completely editable, ensure that all of your
material is embedded in a unit.
To import a course:
1. On the navigation bar, click **Tools**, and then click **Import**.
.. image:: images/image243.png
2. Under **Course to Import**, click **Choose File**.
3. Locate the file that you want, and then click **Open**.
......@@ -58,7 +58,7 @@ Studio (http://studio.edge.edx.org) is our web-based course authoring tool. It i
:width: 800
*****************
Create an Account
*****************
......@@ -115,7 +115,7 @@ e. Click to select I agree to the Terms of Service.
.. image:: images/image017.png
:width: 800
*******************
Create a New Course
*******************
......
......@@ -16,14 +16,24 @@ Contents
get_started
create_lesson
create_section_sub_section
establish_course_settings
create_unit
create_video
create_discussion
create_html_component
create_problem
set_content_releasedates
establish_course_settings
establish_grading_policy
add_syllabus
view_course_content
modify_published_content
export_import_course
create_welcome_announcement
create_seed_wiki
invite_students_to_register
checking_student_progress
......
***************************
Invite Students to Register
***************************
To invite students to register for your course on Edge through the course
registration page, direct students to the registration page, and provide
instructions for completing the registration process.
1. Determine the link to your class registration page on Edge. To do this:
a. Click the **Settings **tab of your course in Studio, and then locate the
**Course Details** section.
b. Under **Basic Information**, you will see a link to email and invite
students to enroll in your course.
c. Click "**Invite Your Students**" link. Clicking the link creates an email
template.
.. image:: images/image286.png
d. Email this to your chosen mail list.
\ No newline at end of file
***************************
Modifying Published Content
***************************
When you set a Unit to Public, that content appears on edX or Edge when you
view the content as an instructor. If the release date has passed, the
content is also visible to students.
If you want to modify content after it has been set to Public, you must
create a draft. The draft does not appear on edX or Edge. However, the draft
does appear when you view your content in Preview mode.
To create a draft, open the Unit that you want. Note that no **Edit **button
appears on the page for that Unit, and you cannot make changes to the Unit.
.. image:: images/image231.png
In the right pane, click the blue **edit a draft** link in the **Unit
Settings** box.
.. image:: images/image233.png
After you click **edit a draft**, you can make changes to the Unit. You can
edit existing content or add new content.
.. image:: images/image235.png
If you want to view the version of your content that is currently live,
click **Preview the published version **in the yellow banner at the top of
the page.
.. image:: images/image237.png
If you want to view the draft version that you are working on, click
**Preview** under **Unit Settings**. This opens your course in Preview
mode.****
.. image:: images/image239.png
When you are done making changes to the Unit, click the blue **replace it
with this draft** link under **Unit Settings**.
.. image:: images/image241.png
......@@ -3,14 +3,15 @@
Set Content Release Dates and Visibility
*****************************************
The release schedule for course material is determined by setting release dates for sections and subsections.
The release schedule for course material is determined by setting release dates
for sections and subsections.
Section
*******
To set the release date for a section:
1. On the **Course Content **menu, click **Course Outline**.
1. On the **Course Content** menu, click **Course Outline**.
2. Find the section you are looking for in the course outline.
......@@ -20,9 +21,13 @@ Section
Subsection
**********
Subsections inherit the release date of the section they are in, but you can change this date so that different subsections are released at different times.
Subsections inherit the release date of the section they are in, but you can
change this date so that different subsections are released at different times.
Note that if the release date for a subsection falls before the release date for the section that contains it, students will not be able to see the subsection until the release date for the *section *has passed. Section release dates override subsection release dates.
Note that if the release date for a subsection falls before the release date for
the section that contains it, students will not be able to see the subsection
until the release date for the *section *has passed. Section release dates
override subsection release dates.
To set the release date for a subsection:
......@@ -35,9 +40,14 @@ Note that if the release date for a subsection falls before the release date for
Unit
****
Individual units inherit the release date of the subsection they are in, but have an additional **Visibility** setting that can be set to **Public** or **Private**. Private units are never visible to students.
Individual units inherit the release date of the subsection they are in, but
have an additional **Visibility** setting that can be set to **Public** or
**Private**. Private units are never visible to students.
**Note: You can modify private units directly. To modify a unit that is marked as Public, you must create a draft. For more information, see :ref:`Modify Published Content<Create-Section-Subsection>` *TBD Insert LINK***
*Note: You can modify private units directly. To modify a unit that is marked
Public you must create a draft.*
For more information, see :doc:`modify_published_content` .
......
*******************
View Course Content
*******************
When you create a course on Studio, you can control when students can see
the content of your course. This means that you can continue building a
course, but students won't be able to see the changes you make until you
make those changes available. You can set release dates that control when
content is released to the internet. You can also set the visibility of
specific Units (a subdivision that helps you organize your course content)
to Public or Private. By default, all content is set to Private.
Your content is not visible to students on edX or Edge until three
conditions are met:
1. The course start date has passed.
2. The release dates for the Section and Subsection that contain the
content have passed.
* Sections and Subsections are categories that you use to organize your
course. For example, Sections may correspond to weeks in your course, while
Subsections may correspond to the topics in your course.
* Neither a Section nor its contents are visible until the release date
passes. If the release date for the Section has passed, but the release date
for the Subsection has not passed, the student can see the Section heading
in the left pane. However, the student cannot see the Subsection heading or
any of the Subsection's content.
* Subsections inherit the release date of the Section they are in, but you
can change this date so that individual Subsections are released at different
times after the Section has been released.
.. image:: images/image189.png
.. image:: images/image191.png
3. You set the Unit that contains the content to Public.** By default, all
Units are set to Private.
There are four ways of viewing your course on edX or Edge while you are
still creating it:
* In Studio
Note that the way your course looks in Studio is
not the way it looks to students on edX or Edge.
* On edX or Edge in Preview mode
Any content that is set to Private is only visible in Preview mode.
* On edX or Edge as an Instructor
When you view content as an instructor, you see the **Instructor** tab at the
the top of the screen.
* On edX or Edge as a Studeny
Outline View
============
When you want to see the overall organization of your course in Studio, you can
go to the **Course Outline **page. On the**Course Outline **page, you can
see the "macro" outline of your course, down to individual Units.
.. image:: images/image193.png
Subsection View
===============
You can also view content by Subsection. In this view, you can see the name
of the Subsection and the Units that the Subsection contains. You can see if
the Section is graded or not graded; if it is graded, you can see the
assignment type of the Subsection. You can also see if the individual Units
are set to Public or Private. Private Units appear in light gray text with
"PRIVATE" next to the Unit name. All other Units are Public.
.. image:: images/image195.png
Unit View
=========
When you want to see the actual text, problems, and other content in your
course, you can open an individual Unit. You then see the Components for
that Unit. You can see this content whether it is set to Public or Private,
and whether or not the release date has passed.
The following example shows the Studio view of two Units in the "What Does
an edX Course Look Like?" Subsection.
The following Unit is set to Public. The release date for the Subsection has
passed.
.. image:: images/image197.png
The following Unit is set to Private. The release date for the Subsection
has passed.
.. image:: images/image199.png
If you change the release date for the "What Does an edX Course Look Like?"
Subsection to a date in the future (in this example, January 1, 2099), you
still see both Units in Studio.
Public Unit
^^^^^^^^^^^
.. image:: images/image201.png
Private Unit
^^^^^^^^^^^^
.. image:: images/image203.png
Preview Mode
============
When you view your course on edX or Edge using Preview mode, you see all the
Units of your course, regardless of whether they are set to Public or
Private and regardless of whether the release dates have passed.
**Using Preview mode is the only way to see content that is set to Private
**as a student would see it.**
You can enter Preview mode in two ways.
1. On any Subsection page, click** Preview Drafts**.
.. image:: images/image205.png
2. On any Unit page, click **Preview**.
The following example shows the **Preview** button on a page for a Unit that
is set to Public.
.. image:: images/image207.png
The following example shows the **Preview** button on a page for a Unit that
is set to Private.
.. image:: images/image209.png
Example
=======
The following example shows the first Unit of the "What Does an edX Course
Look Like?" Subsection in Preview mode.
.. image:: images/image211.png
Remember that the release date for the Subsection is in the past. However,
even if you change the release date for the "What Does an edX Course Look
Like?" Subsection to a date in the future, you still see both Units in
Preview.
In the "What Does an edX Course Look Like?" Subsection, Unit 1 ("Welcome to
edX 101") is set to Public, and Unit 2 ("New edX Information") is set to
Private. Both Units appear in the course ribbon at the top of the screen.
.. image:: images/image213.png
When you click Unit 2 in the course ribbon, you see the content in Unit 2:
.. image:: images/image215.png
**On edX or Edge as an Instructor**
When you view your course on edX or Edge as an instructor:
· You see all the Units of your course that you have set to Public.
· Release dates do not matter.
You do not see Units that are set to Private.
Additionally, at the top of the page on edX or Edge, you can see the
**Instructor** tab.
To view your course on edX or Edge as an instructor, click **View Live**. The
**View Live **button is available in three places.** **
The **Course Outline** page.
.. image:: images/image217.png
Any Subsection page.
.. image:: images/image219.png
The Unit page, if the Unit is Public.
.. image:: images/image221.png
Example
=======
The following example shows the first Unit of the "What Does an edX Course
Look Like?" Subsection as if you were viewing it on edX or Edge as an
instructor. Notice the **Instructor** tab at the top of the page.
.. image:: images/image223.png
The release date for the "What Does an edX Course Look Like?" Subsection is
set to January 1, 2099. However, you still see this Unit on edX or Edge as
an instructor.
On the other hand, remember that Unit 1 is set to Public, and Unit 2 is set
to Private. Unit 2 does not appear in the course ribbon at the top of the
screen. Instead, the next public unit, **Tabs**, appears.
.. image:: images/image225.png
**On edX or Edge as a Current Student**
When you view your course as a current student would see it, you can only
see material that meets all three publishing conditions:
The course start date has passed.
· The release dates for the Section and Subsection have passed.
· The Unit that contains the material is set to Public.
You can use this view to make sure that material does not appear in your
course prematurely.
To view your course as a student, set up a test account on edX or Edge with
an e-mail address that is not associated with your Course Team, and then go
to your course URL and register for your course.
Example
=======
The following example shows the first Unit of the "What Does an edX Course
Look Like?" Subsection as if you were viewing it on edX or Edge as a
student. Notice that the **Instructor** tab does not appear at the top of
the page.
.. image:: images/image227.png
Remember that Unit 1 is set to Public, and Unit 2 is set to Private. Unit 2
does not appear in the course ribbon at the top of the screen. Instead, the
next public unit, **Tabs**, appears.
.. image:: images/image229.png
If you change the release date of the Subsection to a future date (such as
January 1, 2099), the student cannot see it.
If you set the Unit to Private, the student cannot see it.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment