Added baseline Sphinx-generated documentation
177
userdocs/Makefile
Executable file
@@ -0,0 +1,177 @@
|
||||
# Makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = sphinx-build
|
||||
PAPER =
|
||||
BUILDDIR = build
|
||||
|
||||
# User-friendly check for sphinx-build
|
||||
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
|
||||
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
|
||||
endif
|
||||
|
||||
# Internal variables.
|
||||
PAPEROPT_a4 = -D latex_paper_size=a4
|
||||
PAPEROPT_letter = -D latex_paper_size=letter
|
||||
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
|
||||
# the i18n builder cannot share the environment and doctrees with the others
|
||||
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
|
||||
|
||||
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
|
||||
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html to make standalone HTML files"
|
||||
@echo " dirhtml to make HTML files named index.html in directories"
|
||||
@echo " singlehtml to make a single large HTML file"
|
||||
@echo " pickle to make pickle files"
|
||||
@echo " json to make JSON files"
|
||||
@echo " htmlhelp to make HTML files and a HTML help project"
|
||||
@echo " qthelp to make HTML files and a qthelp project"
|
||||
@echo " devhelp to make HTML files and a Devhelp project"
|
||||
@echo " epub to make an epub"
|
||||
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
||||
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
||||
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
|
||||
@echo " text to make text files"
|
||||
@echo " man to make manual pages"
|
||||
@echo " texinfo to make Texinfo files"
|
||||
@echo " info to make Texinfo files and run them through makeinfo"
|
||||
@echo " gettext to make PO message catalogs"
|
||||
@echo " changes to make an overview of all changed/added/deprecated items"
|
||||
@echo " xml to make Docutils-native XML files"
|
||||
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
|
||||
@echo " linkcheck to check all external links for integrity"
|
||||
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILDDIR)/*
|
||||
|
||||
html:
|
||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
||||
|
||||
dirhtml:
|
||||
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
||||
|
||||
singlehtml:
|
||||
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
||||
|
||||
pickle:
|
||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
||||
@echo
|
||||
@echo "Build finished; now you can process the pickle files."
|
||||
|
||||
json:
|
||||
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
||||
@echo
|
||||
@echo "Build finished; now you can process the JSON files."
|
||||
|
||||
htmlhelp:
|
||||
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||
".hhp project file in $(BUILDDIR)/htmlhelp."
|
||||
|
||||
qthelp:
|
||||
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
||||
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/getting_started.qhcp"
|
||||
@echo "To view the help file:"
|
||||
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/getting_started.qhc"
|
||||
|
||||
devhelp:
|
||||
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
||||
@echo
|
||||
@echo "Build finished."
|
||||
@echo "To view the help file:"
|
||||
@echo "# mkdir -p $$HOME/.local/share/devhelp/getting_started"
|
||||
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/getting_started"
|
||||
@echo "# devhelp"
|
||||
|
||||
epub:
|
||||
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
||||
@echo
|
||||
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
||||
|
||||
latex:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo
|
||||
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
||||
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
||||
"(use \`make latexpdf' here to do that automatically)."
|
||||
|
||||
latexpdf:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through pdflatex..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
latexpdfja:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through platex and dvipdfmx..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
text:
|
||||
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
||||
@echo
|
||||
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
||||
|
||||
man:
|
||||
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
||||
@echo
|
||||
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
||||
|
||||
texinfo:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo
|
||||
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
||||
@echo "Run \`make' in that directory to run these through makeinfo" \
|
||||
"(use \`make info' here to do that automatically)."
|
||||
|
||||
info:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo "Running Texinfo files through makeinfo..."
|
||||
make -C $(BUILDDIR)/texinfo info
|
||||
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
||||
|
||||
gettext:
|
||||
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
||||
@echo
|
||||
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
||||
|
||||
changes:
|
||||
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
||||
@echo
|
||||
@echo "The overview file is in $(BUILDDIR)/changes."
|
||||
|
||||
linkcheck:
|
||||
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
||||
@echo
|
||||
@echo "Link check complete; look for any errors in the above output " \
|
||||
"or in $(BUILDDIR)/linkcheck/output.txt."
|
||||
|
||||
doctest:
|
||||
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
||||
@echo "Testing of doctests in the sources finished, look at the " \
|
||||
"results in $(BUILDDIR)/doctest/output.txt."
|
||||
|
||||
xml:
|
||||
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
|
||||
@echo
|
||||
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
|
||||
|
||||
pseudoxml:
|
||||
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
|
||||
@echo
|
||||
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
|
||||
870
userdocs/source/Appendix E Draft.rst
Normal file
@@ -0,0 +1,870 @@
|
||||
==========================
|
||||
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>
|
||||
907
userdocs/source/Appendix E.rst
Normal file
@@ -0,0 +1,907 @@
|
||||
===========================
|
||||
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>
|
||||
59
userdocs/source/Format Cheat Sheet.rst
Normal file
@@ -0,0 +1,59 @@
|
||||
******************
|
||||
Format cheat sheet
|
||||
******************
|
||||
|
||||
Levels of Subheads
|
||||
|
||||
####
|
||||
text
|
||||
####
|
||||
|
||||
****
|
||||
text
|
||||
****
|
||||
|
||||
text
|
||||
****
|
||||
|
||||
text
|
||||
====
|
||||
|
||||
text
|
||||
^^^^
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Image format, uses images as a reference from the soure/image file
|
||||
|
||||
.. image:: images/image029.png
|
||||
: width: 800
|
||||
|
||||
.. image:: images/image009.png
|
||||
:width: 800
|
||||
|
||||
|
||||
For references to edX1010 pages:
|
||||
|
||||
`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>`_
|
||||
|
||||
To set text in a "Code format"
|
||||
::
|
||||
|
||||
To cross reference between sections of a document
|
||||
|
||||
At the paragraph you are cross referencing:
|
||||
|
||||
. _Set-Grade-Brackets:
|
||||
|
||||
To make the cross reference in text:
|
||||
|
||||
see :ref:`Set Grade Brackets<Set-Grade-Brackets>`
|
||||
|
||||
External page reference
|
||||
|
||||
see `Create a Problem <Create_Problem.html>`_
|
||||
|
||||
|
||||
BIN
userdocs/source/Images/Image276.png
Normal file
|
After Width: | Height: | Size: 135 KiB |
282
userdocs/source/Images/filelist.xml
Normal file
@@ -0,0 +1,282 @@
|
||||
<xml xmlns:o="urn:schemas-microsoft-com:office:office">
|
||||
<o:MainFile HRef="::Getting Started with Studio.htm"/>
|
||||
<o:File HRef="item0001.xml"/>
|
||||
<o:File HRef="props0002.xml"/>
|
||||
<o:File HRef="themedata.xml"/>
|
||||
<o:File HRef="image001.png"/>
|
||||
<o:File HRef="image002.png"/>
|
||||
<o:File HRef="image003.png"/>
|
||||
<o:File HRef="image004.png"/>
|
||||
<o:File HRef="image005.png"/>
|
||||
<o:File HRef="image006.png"/>
|
||||
<o:File HRef="image007.png"/>
|
||||
<o:File HRef="image008.png"/>
|
||||
<o:File HRef="image009.png"/>
|
||||
<o:File HRef="image010.png"/>
|
||||
<o:File HRef="image011.png"/>
|
||||
<o:File HRef="image012.png"/>
|
||||
<o:File HRef="image013.png"/>
|
||||
<o:File HRef="image014.png"/>
|
||||
<o:File HRef="image015.png"/>
|
||||
<o:File HRef="image016.png"/>
|
||||
<o:File HRef="image017.png"/>
|
||||
<o:File HRef="image018.png"/>
|
||||
<o:File HRef="image019.png"/>
|
||||
<o:File HRef="image020.png"/>
|
||||
<o:File HRef="image021.png"/>
|
||||
<o:File HRef="image022.png"/>
|
||||
<o:File HRef="image023.png"/>
|
||||
<o:File HRef="image024.png"/>
|
||||
<o:File HRef="image025.png"/>
|
||||
<o:File HRef="image026.png"/>
|
||||
<o:File HRef="image027.png"/>
|
||||
<o:File HRef="image028.png"/>
|
||||
<o:File HRef="image029.png"/>
|
||||
<o:File HRef="image030.png"/>
|
||||
<o:File HRef="image031.png"/>
|
||||
<o:File HRef="image032.png"/>
|
||||
<o:File HRef="image033.png"/>
|
||||
<o:File HRef="image034.png"/>
|
||||
<o:File HRef="image035.png"/>
|
||||
<o:File HRef="image036.png"/>
|
||||
<o:File HRef="image037.png"/>
|
||||
<o:File HRef="image038.png"/>
|
||||
<o:File HRef="image039.png"/>
|
||||
<o:File HRef="image040.png"/>
|
||||
<o:File HRef="image041.png"/>
|
||||
<o:File HRef="image042.png"/>
|
||||
<o:File HRef="image043.png"/>
|
||||
<o:File HRef="image044.png"/>
|
||||
<o:File HRef="image045.png"/>
|
||||
<o:File HRef="image046.png"/>
|
||||
<o:File HRef="image047.png"/>
|
||||
<o:File HRef="image048.png"/>
|
||||
<o:File HRef="image049.png"/>
|
||||
<o:File HRef="image050.png"/>
|
||||
<o:File HRef="image051.png"/>
|
||||
<o:File HRef="image052.png"/>
|
||||
<o:File HRef="image053.png"/>
|
||||
<o:File HRef="image054.png"/>
|
||||
<o:File HRef="image055.png"/>
|
||||
<o:File HRef="image056.png"/>
|
||||
<o:File HRef="image057.png"/>
|
||||
<o:File HRef="image058.png"/>
|
||||
<o:File HRef="image059.png"/>
|
||||
<o:File HRef="image060.png"/>
|
||||
<o:File HRef="image061.png"/>
|
||||
<o:File HRef="image062.png"/>
|
||||
<o:File HRef="image063.png"/>
|
||||
<o:File HRef="image064.png"/>
|
||||
<o:File HRef="image065.png"/>
|
||||
<o:File HRef="image066.png"/>
|
||||
<o:File HRef="image067.png"/>
|
||||
<o:File HRef="image068.png"/>
|
||||
<o:File HRef="image069.png"/>
|
||||
<o:File HRef="image070.png"/>
|
||||
<o:File HRef="image071.png"/>
|
||||
<o:File HRef="image072.png"/>
|
||||
<o:File HRef="image073.png"/>
|
||||
<o:File HRef="image074.png"/>
|
||||
<o:File HRef="image075.png"/>
|
||||
<o:File HRef="image076.png"/>
|
||||
<o:File HRef="image077.jpg"/>
|
||||
<o:File HRef="image078.png"/>
|
||||
<o:File HRef="image079.png"/>
|
||||
<o:File HRef="image080.png"/>
|
||||
<o:File HRef="image081.png"/>
|
||||
<o:File HRef="image082.png"/>
|
||||
<o:File HRef="image083.png"/>
|
||||
<o:File HRef="image084.png"/>
|
||||
<o:File HRef="image085.png"/>
|
||||
<o:File HRef="image086.png"/>
|
||||
<o:File HRef="image087.png"/>
|
||||
<o:File HRef="image088.png"/>
|
||||
<o:File HRef="image089.png"/>
|
||||
<o:File HRef="image090.png"/>
|
||||
<o:File HRef="image091.png"/>
|
||||
<o:File HRef="image092.png"/>
|
||||
<o:File HRef="image093.png"/>
|
||||
<o:File HRef="image094.png"/>
|
||||
<o:File HRef="image095.png"/>
|
||||
<o:File HRef="image096.png"/>
|
||||
<o:File HRef="image097.png"/>
|
||||
<o:File HRef="image098.png"/>
|
||||
<o:File HRef="image099.png"/>
|
||||
<o:File HRef="image100.png"/>
|
||||
<o:File HRef="image101.png"/>
|
||||
<o:File HRef="image102.png"/>
|
||||
<o:File HRef="image103.jpg"/>
|
||||
<o:File HRef="image104.png"/>
|
||||
<o:File HRef="image105.png"/>
|
||||
<o:File HRef="image106.png"/>
|
||||
<o:File HRef="image107.png"/>
|
||||
<o:File HRef="image108.png"/>
|
||||
<o:File HRef="image109.png"/>
|
||||
<o:File HRef="image110.png"/>
|
||||
<o:File HRef="image111.png"/>
|
||||
<o:File HRef="image112.png"/>
|
||||
<o:File HRef="image113.png"/>
|
||||
<o:File HRef="image114.png"/>
|
||||
<o:File HRef="image115.png"/>
|
||||
<o:File HRef="image116.png"/>
|
||||
<o:File HRef="image117.png"/>
|
||||
<o:File HRef="image118.png"/>
|
||||
<o:File HRef="image119.png"/>
|
||||
<o:File HRef="image120.png"/>
|
||||
<o:File HRef="image121.png"/>
|
||||
<o:File HRef="image122.png"/>
|
||||
<o:File HRef="image123.png"/>
|
||||
<o:File HRef="image124.png"/>
|
||||
<o:File HRef="image125.png"/>
|
||||
<o:File HRef="image126.png"/>
|
||||
<o:File HRef="image127.png"/>
|
||||
<o:File HRef="image128.png"/>
|
||||
<o:File HRef="image129.png"/>
|
||||
<o:File HRef="image130.png"/>
|
||||
<o:File HRef="image131.png"/>
|
||||
<o:File HRef="image132.png"/>
|
||||
<o:File HRef="image133.png"/>
|
||||
<o:File HRef="image134.png"/>
|
||||
<o:File HRef="image135.png"/>
|
||||
<o:File HRef="image136.png"/>
|
||||
<o:File HRef="image137.png"/>
|
||||
<o:File HRef="image138.png"/>
|
||||
<o:File HRef="image139.png"/>
|
||||
<o:File HRef="image140.png"/>
|
||||
<o:File HRef="image141.png"/>
|
||||
<o:File HRef="image142.png"/>
|
||||
<o:File HRef="image143.png"/>
|
||||
<o:File HRef="image144.png"/>
|
||||
<o:File HRef="image145.png"/>
|
||||
<o:File HRef="image146.png"/>
|
||||
<o:File HRef="image147.png"/>
|
||||
<o:File HRef="image148.png"/>
|
||||
<o:File HRef="image149.png"/>
|
||||
<o:File HRef="image150.png"/>
|
||||
<o:File HRef="image151.png"/>
|
||||
<o:File HRef="image152.png"/>
|
||||
<o:File HRef="image153.png"/>
|
||||
<o:File HRef="image154.png"/>
|
||||
<o:File HRef="image155.png"/>
|
||||
<o:File HRef="image156.png"/>
|
||||
<o:File HRef="image157.png"/>
|
||||
<o:File HRef="image158.png"/>
|
||||
<o:File HRef="image159.png"/>
|
||||
<o:File HRef="image160.png"/>
|
||||
<o:File HRef="image161.png"/>
|
||||
<o:File HRef="image162.png"/>
|
||||
<o:File HRef="image163.png"/>
|
||||
<o:File HRef="image164.png"/>
|
||||
<o:File HRef="image165.png"/>
|
||||
<o:File HRef="image166.png"/>
|
||||
<o:File HRef="image167.png"/>
|
||||
<o:File HRef="image168.png"/>
|
||||
<o:File HRef="image169.png"/>
|
||||
<o:File HRef="image170.png"/>
|
||||
<o:File HRef="image171.png"/>
|
||||
<o:File HRef="image172.png"/>
|
||||
<o:File HRef="image173.png"/>
|
||||
<o:File HRef="image174.png"/>
|
||||
<o:File HRef="image175.png"/>
|
||||
<o:File HRef="image176.png"/>
|
||||
<o:File HRef="image177.png"/>
|
||||
<o:File HRef="image178.png"/>
|
||||
<o:File HRef="image179.png"/>
|
||||
<o:File HRef="image180.png"/>
|
||||
<o:File HRef="image181.png"/>
|
||||
<o:File HRef="image182.png"/>
|
||||
<o:File HRef="image183.jpg"/>
|
||||
<o:File HRef="image184.png"/>
|
||||
<o:File HRef="image185.png"/>
|
||||
<o:File HRef="image186.png"/>
|
||||
<o:File HRef="image187.png"/>
|
||||
<o:File HRef="image188.png"/>
|
||||
<o:File HRef="image189.png"/>
|
||||
<o:File HRef="image190.png"/>
|
||||
<o:File HRef="image191.png"/>
|
||||
<o:File HRef="image192.png"/>
|
||||
<o:File HRef="image193.png"/>
|
||||
<o:File HRef="image194.png"/>
|
||||
<o:File HRef="image195.png"/>
|
||||
<o:File HRef="image196.png"/>
|
||||
<o:File HRef="image197.png"/>
|
||||
<o:File HRef="image198.png"/>
|
||||
<o:File HRef="image199.png"/>
|
||||
<o:File HRef="image200.png"/>
|
||||
<o:File HRef="image201.png"/>
|
||||
<o:File HRef="image202.png"/>
|
||||
<o:File HRef="image203.png"/>
|
||||
<o:File HRef="image204.png"/>
|
||||
<o:File HRef="image205.png"/>
|
||||
<o:File HRef="image206.png"/>
|
||||
<o:File HRef="image207.png"/>
|
||||
<o:File HRef="image208.png"/>
|
||||
<o:File HRef="image209.png"/>
|
||||
<o:File HRef="image210.png"/>
|
||||
<o:File HRef="image211.png"/>
|
||||
<o:File HRef="image212.png"/>
|
||||
<o:File HRef="image213.png"/>
|
||||
<o:File HRef="image214.png"/>
|
||||
<o:File HRef="image215.png"/>
|
||||
<o:File HRef="image216.png"/>
|
||||
<o:File HRef="image217.png"/>
|
||||
<o:File HRef="image218.png"/>
|
||||
<o:File HRef="image219.png"/>
|
||||
<o:File HRef="image220.png"/>
|
||||
<o:File HRef="image221.png"/>
|
||||
<o:File HRef="image222.png"/>
|
||||
<o:File HRef="image223.png"/>
|
||||
<o:File HRef="image224.png"/>
|
||||
<o:File HRef="image225.png"/>
|
||||
<o:File HRef="image226.png"/>
|
||||
<o:File HRef="image227.png"/>
|
||||
<o:File HRef="image228.png"/>
|
||||
<o:File HRef="image229.png"/>
|
||||
<o:File HRef="image230.png"/>
|
||||
<o:File HRef="image231.png"/>
|
||||
<o:File HRef="image232.png"/>
|
||||
<o:File HRef="image233.png"/>
|
||||
<o:File HRef="image234.png"/>
|
||||
<o:File HRef="image235.png"/>
|
||||
<o:File HRef="image236.png"/>
|
||||
<o:File HRef="image237.png"/>
|
||||
<o:File HRef="image238.png"/>
|
||||
<o:File HRef="image239.png"/>
|
||||
<o:File HRef="image240.png"/>
|
||||
<o:File HRef="image241.png"/>
|
||||
<o:File HRef="image242.png"/>
|
||||
<o:File HRef="image243.png"/>
|
||||
<o:File HRef="image244.png"/>
|
||||
<o:File HRef="image245.png"/>
|
||||
<o:File HRef="image246.png"/>
|
||||
<o:File HRef="image247.png"/>
|
||||
<o:File HRef="image248.png"/>
|
||||
<o:File HRef="image249.png"/>
|
||||
<o:File HRef="image250.png"/>
|
||||
<o:File HRef="image251.png"/>
|
||||
<o:File HRef="image252.png"/>
|
||||
<o:File HRef="image253.png"/>
|
||||
<o:File HRef="image254.png"/>
|
||||
<o:File HRef="image255.png"/>
|
||||
<o:File HRef="image256.png"/>
|
||||
<o:File HRef="image257.png"/>
|
||||
<o:File HRef="image258.png"/>
|
||||
<o:File HRef="image259.png"/>
|
||||
<o:File HRef="image260.png"/>
|
||||
<o:File HRef="image261.png"/>
|
||||
<o:File HRef="image262.png"/>
|
||||
<o:File HRef="image263.png"/>
|
||||
<o:File HRef="image264.png"/>
|
||||
<o:File HRef="image265.png"/>
|
||||
<o:File HRef="image266.png"/>
|
||||
<o:File HRef="image267.png"/>
|
||||
<o:File HRef="image268.png"/>
|
||||
<o:File HRef="image269.png"/>
|
||||
<o:File HRef="image270.png"/>
|
||||
<o:File HRef="image271.png"/>
|
||||
<o:File HRef="image272.png"/>
|
||||
<o:File HRef="image273.png"/>
|
||||
<o:File HRef="image274.png"/>
|
||||
<o:File HRef="header.htm"/>
|
||||
<o:File HRef="filelist.xml"/>
|
||||
</xml>
|
||||
BIN
userdocs/source/Images/image001.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
userdocs/source/Images/image002.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
userdocs/source/Images/image003.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
userdocs/source/Images/image004.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
userdocs/source/Images/image005.png
Normal file
|
After Width: | Height: | Size: 281 KiB |
BIN
userdocs/source/Images/image006.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
userdocs/source/Images/image007.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
userdocs/source/Images/image008.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
userdocs/source/Images/image009.png
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
userdocs/source/Images/image010.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
userdocs/source/Images/image011.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
userdocs/source/Images/image012.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
userdocs/source/Images/image013.png
Normal file
|
After Width: | Height: | Size: 114 KiB |
BIN
userdocs/source/Images/image014.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
userdocs/source/Images/image015.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
userdocs/source/Images/image016.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
userdocs/source/Images/image017.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
userdocs/source/Images/image018.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
userdocs/source/Images/image019.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
userdocs/source/Images/image020.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
userdocs/source/Images/image021.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
userdocs/source/Images/image022.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
userdocs/source/Images/image023.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
userdocs/source/Images/image024.png
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
BIN
userdocs/source/Images/image025.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
userdocs/source/Images/image026.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
userdocs/source/Images/image027.png
Normal file
|
After Width: | Height: | Size: 410 KiB |
BIN
userdocs/source/Images/image028.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
userdocs/source/Images/image029.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
userdocs/source/Images/image030.png
Normal file
|
After Width: | Height: | Size: 7.4 KiB |
BIN
userdocs/source/Images/image031.png
Normal file
|
After Width: | Height: | Size: 90 KiB |
BIN
userdocs/source/Images/image032.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
userdocs/source/Images/image033.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
userdocs/source/Images/image034.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
userdocs/source/Images/image035.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
userdocs/source/Images/image036.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
userdocs/source/Images/image037.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
userdocs/source/Images/image038.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
userdocs/source/Images/image039.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
userdocs/source/Images/image040.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
userdocs/source/Images/image041.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
userdocs/source/Images/image042.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
userdocs/source/Images/image043.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
userdocs/source/Images/image044.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
userdocs/source/Images/image045.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
userdocs/source/Images/image046.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
userdocs/source/Images/image047.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
userdocs/source/Images/image048.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
userdocs/source/Images/image049.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
userdocs/source/Images/image050.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
userdocs/source/Images/image051.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
userdocs/source/Images/image052.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
userdocs/source/Images/image053.png
Normal file
|
After Width: | Height: | Size: 255 KiB |
BIN
userdocs/source/Images/image054.png
Normal file
|
After Width: | Height: | Size: 114 KiB |
BIN
userdocs/source/Images/image055.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
userdocs/source/Images/image056.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
userdocs/source/Images/image057.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
userdocs/source/Images/image058.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
userdocs/source/Images/image059.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
userdocs/source/Images/image060.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
userdocs/source/Images/image061.png
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
BIN
userdocs/source/Images/image062.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
userdocs/source/Images/image063.png
Normal file
|
After Width: | Height: | Size: 500 KiB |
BIN
userdocs/source/Images/image063.psd
Normal file
BIN
userdocs/source/Images/image064.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
userdocs/source/Images/image065.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
userdocs/source/Images/image066.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
userdocs/source/Images/image067.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
userdocs/source/Images/image068.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
userdocs/source/Images/image069.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
userdocs/source/Images/image070.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
userdocs/source/Images/image071.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
userdocs/source/Images/image072.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
userdocs/source/Images/image073.png
Normal file
|
After Width: | Height: | Size: 63 KiB |
BIN
userdocs/source/Images/image074.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
userdocs/source/Images/image075.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
userdocs/source/Images/image076.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
userdocs/source/Images/image077.jpg
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
userdocs/source/Images/image078.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
userdocs/source/Images/image079.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
userdocs/source/Images/image080.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
userdocs/source/Images/image081.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
userdocs/source/Images/image082.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
userdocs/source/Images/image083.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
userdocs/source/Images/image084.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
userdocs/source/Images/image085.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
userdocs/source/Images/image086.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
userdocs/source/Images/image087.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
userdocs/source/Images/image088.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
userdocs/source/Images/image089.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
userdocs/source/Images/image090.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
userdocs/source/Images/image091.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
userdocs/source/Images/image092.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
userdocs/source/Images/image093.png
Normal file
|
After Width: | Height: | Size: 37 KiB |