--- doc/tutorial/Attic/tutorial.lyx 2002/05/31 13:51:31 1.2 +++ doc/tutorial/Attic/tutorial.lyx 2002/06/03 05:15:59 1.3 @@ -31,11 +31,20 @@ \layout Title -Introduction to the Learning +Learning \emph on Online \emph default Network with CAPA +\newline + +\emph on +\SpecialChar ~ + +\newline + +\size larger +Author's Tutorial And Manual \layout Standard \added_space_top vfill \align center \SpecialChar ~ @@ -120,15 +129,45 @@ developed your objectives for your cours \layout Itemize developed your problems for testing and identified the question formats. - The Template for Mapping Website to LON-CAPA that you filled in will assist - you in the process of creating your course website structure in LON-CAPA. +\layout Subsection + +About This Manual +\layout Standard + +Throughout this manual, keywords and phrases literally present on the computer + screen will be referred to in +\series bold +bold type +\series default +. \layout Standard -This tutorial describes how to use the various author functions available - in LON-CAPA. +Chapters +\begin_inset LatexCommand \ref{Author Interface} + +\end_inset + + through +\begin_inset LatexCommand \ref{Creating a Course} + +\end_inset + + comprise a tutorial that will introduce you to the authoring system. + After that, this document is a reference manual for authoring course materials. +\layout Standard + +For more information, see the website at http://help.loncapa.org/, where you + can get help and information. + If you cannot find an answer for your question, please email us and let + us know, so we put the solution to your problem online. \layout Section The LON-CAPA Author Interface +\begin_inset LatexCommand \label{Author Interface} + +\end_inset + + \layout Subsection Login as Course Author @@ -180,11 +219,9 @@ Fill in the Username and Password boxes This will take you to your LON-CAPA User Roles menu. \layout Description -Note: Your Username is your PILOT ID, which is the part of your PILOT email - address to the left of the @. - Your password is your PILOT email password. - Both the PILOT ID and the password are case sensitive, so make sure you - type upper- and lower-case letters correctly. +Note: Your Username and Password will be given to you by your system administrat +or. + Both are case sensitive, so make sure you type them with the correct case. \layout Subsection @@ -312,48 +349,6 @@ ROLES button takes up on my printout! So in actuality, you're commiting to something no sane remote control designer could deal with. - Moreover, I observe that on a real remote, the vast majority of buttons - are labelled with one conceptual entity (i.e., -\begin_inset Quotes eld -\end_inset - -1 -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -5 -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -FF -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -[the pause symbol] -\begin_inset Quotes erd -\end_inset - -, etc)., not -\begin_inset Quotes eld -\end_inset - -Change User -\begin_inset Quotes erd -\end_inset - - which is two entities by my count, at least for an initial user. \layout Comment \SpecialChar ~ @@ -389,8 +384,7 @@ The upshot is that the only upside to th \layout Comment -Also, based on my relatively little info, I think you're data-mining the - web logs to see what people actually use. +We're data-mining the web logs to see what people actually use. This is good. We may need to do some really simple stuff before he finishes. Raw statistics on what buttons are pressed most often can probably be interpret @@ -525,7 +519,7 @@ Content Page \end_inset displays course content. - It is mostly a conventional HTML page. + It is essentially a conventional HTML page. \layout Comment @@ -573,8 +567,8 @@ Sequence \series default type represents a programmed series of events. - The users of this resource can use array keys or NAV buttons to follow - the sequence. + The users of this resource can use buttons on their remote or the NAV button + to follow the sequence. These resources are stored in files that must use the extension \begin_inset Quotes eld \end_inset @@ -873,13 +867,7 @@ How to Create New Content Pages Content Pages \series default are HTML documents that display the course information you are presenting. - These documents can be created in any order. -\layout Comment - -Is this worth mentioning? -\layout Standard - -To create new Content Pages, do the following: + To create new Content Pages, do the following: \layout Comment Is step one necessary? I don't see how it could be. @@ -958,6 +946,11 @@ Save and then attempt to clean HTML \layout Standard Repeat this process as many times as necessary to create your Content Pages. + +\layout Standard + +If you're following this as a tutorial, create at least one content page, + which we'll use later as raw material. \layout Subsection How to Edit Existing Content Pages @@ -1010,6 +1003,11 @@ Save and then attempt to clean HTML \layout Subsection Creating Online Problems Using LON-CAPA +\layout Standard + +If you're following this as a tutorial, go ahead and make one of each of + these problem types now. + We'll be using them later as raw material to assemble maps and sequences. \layout Subsubsection Problems Types @@ -1103,9 +1101,6 @@ String Response for the answer. Examples of string response questions are vocabulary tests, short answer and entering chemical formulas. -\layout Comment - -Case sensitivity? \layout Standard Note that it is easy to abuse String Response problems. @@ -1147,9 +1142,6 @@ Samuel Clements be difficult to get it all right. Before you use a String Response problem, be sure you can easily characterize correct answers. -\layout Comment - -Check this stuff. \layout Subsubsection Numerical Response Problems @@ -1675,10 +1667,15 @@ Example: Matching Problem You might want to ask the student to match musical compositions with their composers. You could create an Option Response problem with 4 Concept Groups, and - place the following four things each in one concept group: + place the following four things each in their own concept group: \layout Itemize Claire de Lune +\begin_inset LatexCommand \index{Clair de Lune} + +\end_inset + + \begin_float footnote \layout Standard @@ -2236,17 +2233,7 @@ Scroll down to the Hint element, and typ Click the Submit Changes button. \layout Subsection -Creating Numerical Response -\begin_inset LatexCommand \index{Numerical Response} - -\end_inset - - -\begin_inset LatexCommand \label{Numerical Response} - -\end_inset - - Problems +Creating Numerical Response And Formula Response Problems \layout Standard Numerical Response problems are answered by entering a number and an optional @@ -2256,119 +2243,14 @@ Numerical Response problems are answered \end_inset . -\layout Standard - -To create an Numerical Response problem, create a new resource as described - in section -\begin_inset LatexCommand \ref{Creating New Content Pages} - -\end_inset - -. - This is a -\begin_inset Quotes eld -\end_inset - -problem -\begin_inset Quotes erd -\end_inset - - resource so the URL must end in -\begin_inset Quotes eld -\end_inset - -.problem -\begin_inset Quotes erd -\end_inset - -. - You should see a screen as in figure -\begin_inset LatexCommand \ref{Creating a new problem resource} - -\end_inset - -. -\layout Enumerate - -In the drop-down option box as seen in -\begin_inset LatexCommand \ref{Creating a new problem resource} - -\end_inset - -, select -\series bold -Simple Numerical Response Problem -\series default -, and click the -\series bold -New Problem -\series default - button. -\layout Enumerate - -Click the -\series bold -Edit -\series default - button above the sample problem to enter edit mode. -\begin_float fig -\layout Standard -\align center - -\begin_inset Figure size 476 302 -file numericalResponseEditor.eps -width 3 80 -flags 9 - -\end_inset - - -\layout Caption - -Numerical Response Editor -\begin_inset LatexCommand \label{Numerical Response Editor Figure} - -\end_inset - - -\end_float - You should see the String Response editor page open up, which should look - something like what you see in figure -\begin_inset LatexCommand \ref{Numerical Response Editor Figure} - -\end_inset - -. -\layout Enumerate - -Please refer to the CAPA manual for help with Numerical Response Problems. -\layout Comment - -Copout. - I need this info. -\layout Subsection - -Creating Formula Response -\begin_inset LatexCommand \index{Formula Response} - -\end_inset - - -\begin_inset LatexCommand \label{Formula Response} - -\end_inset - - Problems -\layout Standard - -Formula Response problems are answered by entering a mathematical formula. + Formula Response problems are answered by entering a mathematical formula. For instance, a numerical response problem might have an answer of \begin_inset Formula \( x^{2}+11 \) \end_inset . The answer may be in any equivalent format. - For instance, for + For instance, for \begin_inset Formula \( x^{2}+11 \) \end_inset @@ -2383,97 +2265,24 @@ Formula Response problems are answered b as well. \layout Standard -To create an Formula Response problem, create a new resource as described - in section -\begin_inset LatexCommand \ref{Creating New Content Pages} - -\end_inset - -. - This is a -\begin_inset Quotes eld -\end_inset - -problem -\begin_inset Quotes erd -\end_inset - - resource so the URL must end in -\begin_inset Quotes eld -\end_inset - -.problem -\begin_inset Quotes erd -\end_inset - -. - You should see a screen as in figure -\begin_inset LatexCommand \ref{Creating a new problem resource} - -\end_inset - -. -\layout Enumerate - -In the drop-down option box as seen in -\begin_inset LatexCommand \ref{Creating a new problem resource} - -\end_inset - -, select -\series bold -Simple Formula Problem -\series default -, and click the -\series bold -New Problem -\series default - button. -\layout Enumerate - -Click the -\series bold -Edit -\series default - button above the sample problem to enter edit mode. -\begin_float fig -\layout Standard -\align center - -\begin_inset Figure size 476 302 -file numericalResponseEditor.eps -width 3 80 -flags 9 - -\end_inset - - -\layout Caption - -Numerical Response Editor -\begin_inset LatexCommand \label{Numerical Response Editor Figure} +Creating Numerical Response and Formula Response problems starts the same + as the other problem types, but because of the power of Numerical Response + and Formula Response problems, it is too difficult to cover them in this + tutorial. + For more information about these problem types, please see section +\begin_inset LatexCommand \ref{Numerical Response} \end_inset - -\end_float - You should see the Formula Response editor page open up, which should look - something like what you see in figure -\begin_inset LatexCommand \ref{Numerical Response Editor Figure} + for Numerical Response problems and section +\begin_inset LatexCommand \ref{Formula Response} \end_inset -. -\layout Enumerate - -Please refer to the CAPA manual for help with Numerical Response Problems. -\layout Comment - -Copout. - I need this info. + for Formula Response problems. \layout Section -Publishing Your Course +Publishing Your Resources \layout Standard In order to make the content you've created available for courses to use, @@ -2715,21 +2524,1489 @@ private \end_inset ). +\layout Standard + +If you're following this as a tutorial, publish your resources so we can + use them in the next section. \layout Section -Things That Need To Be Added +Creating A Course +\begin_inset LatexCommand \label{Creating a Course} + +\end_inset + +: Maps and Sequences +\layout Standard + +In order to create a useful course, we need to arrange our raw materials + so that students can use them. \layout Subsection -LON-CAPA and Units +Binding Together Resources In One Map: Page +\begin_inset LatexCommand \index{Page} + +\end_inset + + +\layout Standard + +\begin_float fig +\layout Standard +\align center + +\begin_inset Figure size 429 66 +file mapEditingButton.eps +flags 9 + +\end_inset + + +\layout Caption + +Map Editing Button +\begin_inset LatexCommand \label{Map Editing Button Figure} + +\end_inset + + +\end_float +To join several resources into one page, you need to create a +\series bold +Map +\series default + of type +\series bold +Page +\series default +. + To create Page resource, create a new resource as described in section + +\begin_inset LatexCommand \ref{Creating New Content Pages} + +\end_inset + +. + This is a +\begin_inset Quotes eld +\end_inset + +page +\begin_inset Quotes erd +\end_inset + + resource so the URL must end in +\begin_inset Quotes eld +\end_inset + +.page +\begin_inset Quotes erd +\end_inset + +. + After you enter in the URL ending in +\begin_inset Quotes eld +\end_inset + +.page +\begin_inset Quotes erd +\end_inset + +, you should see a screen as in figure +\begin_inset LatexCommand \ref{Map Editing Button Figure} + +\end_inset + +. + Click the button to get to the sequence editor. + +\begin_float fig +\layout Standard +\align center + +\begin_inset Figure size 476 226 +file mapEditInitial.eps +width 3 80 +flags 11 + +\end_inset + + +\layout Caption + +Initial Map Editor +\begin_inset LatexCommand \label{Initial Map Editor FIgure} + +\end_inset + + +\end_float +After the system notices the map does not yet exist and creates it for you. + You should the initial map editor as seen in figure +\begin_inset LatexCommand \ref{Initial Map Editor FIgure} + +\end_inset + +. + Note there are two windows. + One is the workspace, and one is the window which will contain information + as you add resources. \layout Subsection -Creating a default metadata file +About The Editor +\layout Standard + +\begin_float fig +\layout Caption + +Example of the Map Editor +\begin_inset LatexCommand \label{Map Editor Example Figure} + +\end_inset + + +\end_float +Maps are very powerful and can do a lot. + They can make decisions as the user progresses, and go down different paths + under different circumstances. + For instance, a map can go down one path if the user gets a problem right, + and another path if they don't. + +\layout Standard + +To facilitate editing these powerful entities, LON-CAPA has a map editor + that helps you take advantage of this power, as seen in figure +\begin_inset LatexCommand \ref{Map Editor Example Figure} + +\end_inset + +. + The map editor can display the different paths in your browser, and allow + you to edit, insert, and delete resources from your map. + The editor has a +\series bold +Start +\series default + area and a +\series bold +Finish +\series default + area. + The students in the course will progress along on path or another, depending + on decisions made at each resource, as explained later. + Different paths are represented with different lines in the map editor. + In the example figure, there are two paths the student can go down, depending + on whether or not they get the problem at the branch point correct. + By the end of this section, we'll create the map represented in this figure. +\layout Standard + +The branching ability can obviously be used to help the student understand + the concept in the problem by having them go through some extra material + based on their performance, but the total uses of this feature are limited + only by your imagination. +\layout Subsection + +Creating a Simple Map: Page +\layout Standard + +To add a resource to the map: +\layout Enumerate + +Click on an unused light gray area. +\begin_float fig +\layout Standard +\align center + +\begin_inset Figure size 476 242 +file mapEditFirstClick.eps +width 3 80 +flags 9 + +\end_inset + + +\layout Caption + +Map Editor after clicking on the box labelled +\begin_inset Quotes eld +\end_inset + +here +\begin_inset Quotes erd +\end_inset + +. + +\begin_inset LatexCommand \label{Map Editor First Click Figure} + +\end_inset + + +\end_float + In figure +\begin_inset LatexCommand \ref{Map Editor First Click Figure} + +\end_inset + +, the map editor after clicking on the area labelled +\begin_inset Quotes eld +\end_inset + +here +\begin_inset Quotes erd +\end_inset + + is shown. + In that figure, lines have been added to show where the box boundaries + are for the purposes of demonstration. + This is to allow you to stay in sync with this tutorial; normally this + doesn't matter. + +\begin_deeper +\layout Standard + +Note that the contents of the seperate window have changed. +\end_deeper +\layout Enumerate + +\begin_float fig +\layout Standard +\align center + +\begin_inset Figure size 476 218 +file mapNewResource.eps +width 3 80 +flags 9 + +\end_inset + + +\layout Caption + +Map Resource Editor +\begin_inset LatexCommand \label{Map Resource Editor Figure} + +\end_inset + + +\end_float +Click on +\series bold +Insert Resource +\series default + in the secondary window. + A +\series bold +Resource +\series default + will appear in the map editor. + Click on the new Resource, and you'll get something like Figure +\begin_inset LatexCommand \ref{Map Resource Editor Figure} + +\end_inset + + will show appear. + Click +\series bold +Browse +\series default +, and the +\series bold +Network Directory Browser +\series default + will appear, +\begin_float fig +\layout Standard +\align center + +\begin_inset Figure size 476 216 +file mapEditorDirectoryBrowser.eps +width 3 80 +flags 9 + +\end_inset + + +\layout Caption + +Network Directory Browser +\begin_inset LatexCommand \label{Map Editor Network Directory Browser Figure} + +\end_inset + + +\end_float + looking something like figure +\begin_inset LatexCommand \ref{Map Editor Network Directory Browser Figure} + +\end_inset + +. + Press the select button that is next to the resource you want to include. +\begin_float fig +\layout Standard +\align center + +\begin_inset Figure size 476 213 +file mapEditorResourceChosen.eps +width 3 80 +flags 9 + +\end_inset + + +\layout Caption + +Resource Chosen +\begin_inset LatexCommand \label{Map Resource Chosen Figure} + +\end_inset + + (HTML page) +\end_float + Once you've done that, if you look back at the window that popped up when + you clicked on +\series bold +New Resource +\series default +, you'll see something like figure +\begin_inset LatexCommand \ref{Map Resource Chosen Figure} + +\end_inset + +. + You can type the +\series bold +URL +\series default + and +\series bold +Title +\series default + if you prefer, following the format you see above. + After you click +\series bold +Save Changes +\series default +, your changes will be saved, and the icons for the resource will appear + in the +\series bold +Res +\series default + box, as shown in figure +\begin_inset LatexCommand \ref{Map Resource Chosen Figure} + +\end_inset + +. +\begin_deeper +\layout Standard + +Clicking on the left icon for a resource will open a new browser window + with an informational page about that resource. + Clicking on the right icon for a resource will open a new browser window + taking you to the rendering of that resource. +\end_deeper +\layout Enumerate + +Let's give practice giving ourselves a bit more space. + Click on the grey space just left of your resource, and select +\series bold +Insert Column Right +\series default +. + This will add a column to the right of that space. + Now, click on the bottom row in the grey area, and select +\series bold +Insert Row Above +\series default +. + This gives us enough space to work with. +\layout Enumerate + +Now, in the map editor window, click just to the left of the +\series bold +Res +\series default + box. +\begin_float fig +\layout Standard +\align center + +\begin_inset Figure size 357 190 +file mapSecondWindowSecondResource.eps +flags 9 + +\end_inset + + +\layout Caption + +Choosing your second resource +\begin_inset LatexCommand \label{Map Second Resource Figure} + +\end_inset + + +\end_float + The secondary window will appear as it does in figure +\begin_inset LatexCommand \ref{Map Second Resource Figure} + +\end_inset + +, but for now just choose +\series bold +Insert Resource +\series default + again, not the new options. + Insert a resource in the same manner as before. +\begin_float fig +\layout Standard +\align center + +\begin_inset Figure size 476 243 +file mapTwoResources.eps +width 3 80 +flags 11 + +\end_inset + + +\layout Caption + +Two Resource in the Map Editor +\begin_inset LatexCommand \label{Two Resources in the Map Editor Figure} + +\end_inset + + +\end_float + You should have something that looks like figure +\begin_inset LatexCommand \ref{Two Resources in the Map Editor Figure} + +\end_inset + +, though the exact placement may differ. + Now we need to link them together. +\layout Enumerate + +Click the Start box. + In the secondary window, select +\series bold +Link Resource +\series default +. + The secondary window will prompt you to click on the resource you want + to link it to. + Click the first resource you added to the map. + A new link is created. +\layout Enumerate + +Repeat the last step, linking the first resource to the second resource, + and the second resource to +\series bold +Finish +\series default +. +\layout Enumerate + +Now, in the editor window, click +\series bold +Save Map +\series default +. + A dialog box will pop up, telling you the map has been saved. +\layout Standard + +Now that you +\layout Section + +Numerical Response +\begin_inset LatexCommand \index{Numerical Response} + +\end_inset + + +\begin_inset LatexCommand \label{Numerical Response} + +\end_inset + + Problems +\layout Standard + +Numerical Response problems are very powerful. + In fact, they are so powerful it would be impossible to fully explain what + is possible in a document like this. + This chapter will focus on just getting you started with Numerical Response + problems, and showing you some of the possibilities, with no prerequisite + knowlege necessary. + The more you learn, the more you will find you can do. +\layout Standard + +In this chapter and the next, I will use the terms +\series bold +static +\series default + and +\series bold +dynamic +\series default +. + +\series bold +Static +\series default + means the object never changes, and is the same for each student. + By contrast, +\series bold +dynamic +\series default + means the value can change, because there is some script that computes + it for each student. +\layout Standard + +If you like, you can follow this chapter along as its own tutorial. + Create a Numerical Response problem using the instructions in section +\begin_inset LatexCommand \ref{Creating New Content Pages} + +\end_inset + +, ending your resource name with +\begin_inset Quotes eld +\end_inset + +.problem +\begin_inset Quotes erd +\end_inset + +, and create a new +\series bold +Simple Numerical Response +\series default + problem. +\layout Subsection + +The Parts of a Numerical Response Problem +\layout Standard + +\begin_float fig +\layout Standard +\align center + +\begin_inset Figure size 476 356 +file numericalResponse1.eps +width 3 80 +flags 9 + +\end_inset + + +\layout Caption + +Numerical Response editor +\begin_inset LatexCommand \label{Numerical Response Editor Figure} + +\end_inset + + +\end_float +A Numerical Response problem has seven major parts by default, as seen in + figure +\begin_inset LatexCommand \ref{Numerical Response Editor Figure} + +\end_inset + +: +\layout Enumerate + +The +\series bold +Script +\series default +. + The script is the heart of advanced Numerical Response problems. + It can be used to decide some of the parameters of the problem, compute + the answer to the problem, and do just about anything else you can imagine. + The Script language is +\series bold +Perl +\begin_float footnote +\layout Standard + +For lots and lots more information about Perl, see the Perl website at http://ww +w.perl.org/ . +\end_float +. + You do not need to know Perl to use the Script block, as we will be stepping + through some advanced examples in this chapter, but knowing Perl can help. +\layout Enumerate + +Like other problem types, the +\series bold +Text Block +\series default + is used to display the problem the student will see. + In addition, you can place things in the +\series bold +Text Block +\series default + based on computations done in the +\series bold +Script +\series default +. +\layout Enumerate + +The +\series bold +Answer +\series default + is the answer the system is looking for. + This can also use parameters from the +\series bold +Script +\series default + block, allowing the answer to be computed dynamically. +\layout Enumerate + +A +\series bold +tolerance +\begin_inset LatexCommand \index{tolerance} + +\end_inset + + +\series default + parameter, which determines how closely the system will require the student + answer to be in order to count it correct. + For technical reasons, it is almost never a good idea to set this parameter + to zero +\begin_float footnote +\layout Standard + +Computers can only approximate computations involving real numbers. + For instance, a computer's [decimal] answer to the simple problem +\begin_inset Formula \( \frac{1}{3} \) +\end_inset + + is +\begin_inset Quotes eld +\end_inset + +0.33333333333333331 +\begin_inset Quotes erd +\end_inset + +. + It +\emph on +should +\emph default + be an infinite series of 3's, and there certainly shouldn't be a +\begin_inset Quotes eld +\end_inset + +1 +\begin_inset Quotes erd +\end_inset + + in the answer, but no computer can represent an infinitely long, infinitely + detailed real number. + Therefore, for any problem where the answer is not a small integer, you + +\emph on +need +\emph default + to allow a tolerance factor, or the students will find it nearly impossible + to exactly match the computers idea of the answer. +\end_float +, though you may find the default too large for some problems. + There are two kinds of tolerance. + If there is some answer +\begin_inset Formula \( a \) +\end_inset + + and a tolerance +\begin_inset Formula \( t \) +\end_inset + +, +\begin_deeper +\layout Enumerate + +an +\series bold +Absolute +\series default + tolerance +\begin_inset LatexCommand \index{absolute tolerance} + +\end_inset + + +\begin_inset LatexCommand \index{tolerance, absolute} + +\end_inset + + will take anything in the range +\begin_inset Formula \( a\pm t \) +\end_inset + +. + So if +\begin_inset Formula \( a=10 \) +\end_inset + + and +\begin_inset Formula \( t=2 \) +\end_inset + +, then anything between 8 and 12 is acceptable +\begin_float footnote +\end_deeper +\layout Standard + +For much the same reasons a tolerance is almost always a good idea, it's + almost impossible to say whether an answer that is +\emph on +exactly +\emph default + +\begin_inset Formula \( a\pm t \) +\end_inset + + will be accepted by the computer. + But the computer does use many decimal places of accuracy; if you want + to have the student answer exactly +\begin_inset Quotes eld +\end_inset + +2 +\begin_inset Quotes erd +\end_inset + +, then specifying a tolerance of +\begin_inset Quotes eld +\end_inset + +.0000001 +\begin_inset Quotes erd +\end_inset + + is OK. + (Don't use too many more zeros, though you can use less if you like.) +\end_float +. + Any number in the tolerance field +\emph on +without +\emph default + a +\series bold +% +\series default + symbol is an absolute tolerance. +\begin_deeper +\layout Enumerate + +a +\series bold +Relative +\series default + tolerance +\begin_inset LatexCommand \index{relative tolerance} + +\end_inset + + +\begin_inset LatexCommand \index{tolerance, relative} + +\end_inset + + will take anything in the range +\begin_inset Formula \( a\pm at \) +\end_inset + +, where +\emph on +t +\emph default + is interpreted as a percentage. + Any number in the tolerance field +\emph on +with +\emph default + a +\series bold +% +\series default + symbol is a relative tolerance. + For example, +\begin_inset Formula \( a=10 \) +\end_inset + + and +\begin_inset Formula \( t=10\% \) +\end_inset + + will accept anything between 9 and 11. + +\end_deeper +\layout Enumerate + +A +\series bold +significant figures +\series default + specification tells the system how many significant figures there are in + the problem, as either a single number or a range of acceptable values, + expressed as +\series bold +min,max +\series default +. + The system will check to make sure that the student's answer contains this + many significant digits, useful in many scientific calculations. + For example, if the problem has three significant digits, the significant + digit specification is +\begin_inset Quotes eld +\end_inset + +3 +\begin_inset Quotes erd +\end_inset + +, and the answer is +\begin_inset Quotes eld +\end_inset + +1.3 +\begin_inset Quotes erd +\end_inset + +, the system will require the students to type +\begin_inset Quotes eld +\end_inset + +1.30 +\begin_inset Quotes erd +\end_inset + +, even though numerically, +\begin_inset Quotes eld +\end_inset + +1.3 +\begin_inset Quotes erd +\end_inset + + and +\begin_inset Quotes eld +\end_inset + +1.30 +\begin_inset Quotes erd +\end_inset + + are the same. +\begin_deeper +\layout Comment + +Confirm this. +\end_deeper +\layout Enumerate + +The +\series bold +Single Line Text Entry +\series default + area, as in other problems, allow you to manipulate the text entry area + the student will see. +\layout Enumerate + +Finally, the +\series bold +Hint +\series default + provides a place to help students who get the problem incorrect the first + time. +\layout Subsection + +Simple Numerical Response Answer +\layout Standard + +Along with showing the Numerical Response editor, figure +\begin_inset LatexCommand \ref{Numerical Response Editor Figure} + +\end_inset + + also shows the parameters for one of the simplest possible types of numerical + response. + The +\series bold +Text Block +\series default + has the problem's question, which is the static text +\begin_inset Quotes eld +\end_inset + +What is 2 + 2? +\begin_inset Quotes erd +\end_inset + + The +\series bold +Answer +\series default + is +\begin_inset Quotes eld +\end_inset + +4 +\begin_inset Quotes erd +\end_inset + +. + The +\series bold +Hint +\series default + has been set to something appropriate for this problem (unless this problem + is being given to very young children). + Everything else has the default values from when the problem was created. +\layout Standard + +If you create a problem like this, hit +\series bold +Submit Changes +\series default +, then hit +\series bold +View +\series default + after the changes have been submitted, you can try the problem out for + yourself. + Note the last box in the HTML page has the answer LON-CAPA is looking for + conveniently displayed for you, along with the range the computer will + accept and the number of significant digits the computer requires. +\layout Standard + +As you're playing with the problem, if you use up all your tries or get + the answer correct but wish to continue playing with the problem, use the + +\series bold +Reset Submissions +\series default + button to clear your answer attempts. + +\layout Subsection + +Simple Script Usage +\layout Standard + +Totally static problems only scratch the surface of the Numerical Response + capabilities. + To really explore the power of LON-CAPA, we need to start creating dynamic + problems. + But before we can get to truly dynamic problems, we need to learn how to + work with the +\series bold +Script +\begin_inset LatexCommand \index{Script} + +\end_inset + + +\series default + window. +\layout Standard + +A script consists of several +\series bold +statements +\series default +, seperated by +\series bold +semi-colons +\series default +. + A +\series bold +statement +\begin_inset LatexCommand \index{statement} + +\end_inset + + +\series default + is the smallest kind of instruction to the computer you can give. + Most problems will be built from several statements. + +\layout Standard + +A script can contain +\series bold +comments +\series default +, which are not interpreted as statements by the computer. + Comments start with +\series bold +# +\series default +, and go to the end of that line. + Thus, if a line starts with #, the whole line is ignored. + Comments can also begin in the middle of a line. + It is a good idea to comment more complicated scripts, as it can be very + difficult to read a large script and figure out what it does. + It is a +\emph on +very +\emph default + good idea to adopt some sort of commenting standard, especially if you + are working in a group or others may use your problems in the future. +\layout Standard + +One of the simplest statements in LON-CAPA is a +\series bold +variable assignment +\series default +. + A +\series bold +variable +\series default + can hold any value in it. + Simple values, such as a number or a string of text, start with a +\series bold +$ +\series default +. + In the +\series bold +Script +\series default +, you need to assign to variables before you use them. + Put the program in Figure +\begin_float fig +\layout LyX-Code +\align center +$variable = 3; +\layout Caption +\pextra_type 3 \pextra_widthp 40 + +A simple script with a variable +\begin_inset LatexCommand \label{A simple script with a variable} + +\end_inset + + +\end_float + +\begin_inset LatexCommand \ref{A simple script with a variable} + +\end_inset + + into the +\series bold +Script +\series default + field of the Numerical Response. + This creates a simple variable named +\series bold +variable +\series default + and assigns it the value of +\begin_inset Quotes eld +\end_inset + +3 +\begin_inset Quotes erd +\end_inset + +. + That's one statement. +\layout Standard + +Variable names are +\emph on +case sensitive +\emph default +, must start with a letter, and can only consist of letters, numbers, and + underscores. + Variable names can be as long as you want. + +\layout Standard + +Getting variable names right is a skill. + Variable names should not be too long, because they become easy to mistype. + Variable names should also not be too short, with the exception of some + conventionally short variable names we'll talk about later. +\layout Standard + +There are many variable naming conventions, covering both how to name and + how to capatalize variables +\begin_float footnote +\layout Standard + +The author favors +\family typewriter +capsOnNewWords +\family default +. + Some people use +\family typewriter +underscore_to_seperate_words +\family default +. + Many use uppercase letters to specify constants like +\family typewriter +PI +\family default + or +\family typewriter +GOLDEN_MEAN +\family default +. + Some people always +\family typewriter +StartWithCapatalization +\family default +. + What's really importent is to be consistent, so you don't have to guess + whether the variable you're thinking of is +\family typewriter +coefFriction +\family default +, +\family typewriter +CoefFriction +\family default +, +\family typewriter +COEF_FRICTION +\family default +, or something else. +\end_float +. + It is a good idea to adopt a standard. + If you are working with a group, you may wish to discuss it in your group + and agree on a convention. + +\layout Standard + +If you +\series bold +Submit Changes +\series default + and +\series bold +View +\series default + the problem, you'll see nothing has changed. + That's because in order for a variable to be useful, it must be used. + The variable can be used in several places. +\layout Subsubsection + +Variables in Scripts +\layout Standard + +Variables can be used later in the same script. + For instance, we can add another line below the +\family typewriter +$variable +\family default + line as such: +\layout LyX-Code + +$variable2 = $variable + 2; +\layout Standard + +Now there's a variable called +\family typewriter +$variable2 +\family default + with the value +\begin_inset Quotes eld +\end_inset + +5 +\begin_inset Quotes erd +\end_inset + +. + +\layout Standard + +Variables can also be used in +\emph on +strings +\emph default + +\begin_inset LatexCommand \index{strings} + +\end_inset + +, which are a sequence of letters. + The underlying language of the script, Perl, has a very large number of + ways of using variables in strings, but the easiest and most common way + is to use normal double-quotes and just spell out the name of the variable + you want to use in the string, like this: +\layout LyX-Code + +$stringVar = +\begin_inset Quotes eld +\end_inset + +I have a variable with the value $variable. +\begin_inset Quotes erd +\end_inset + + +\layout Standard + +This will put the string +\begin_inset Quotes eld +\end_inset + +I have a variable with the value 3. +\begin_inset Quotes erd +\end_inset + + into the variable named +\begin_inset Quotes eld +\end_inset + +stringVar +\begin_inset Quotes erd +\end_inset + +. +\layout Standard + +If you are following this chapter as a tutorial, add the previous two lines + and save the problem. + There's no need to view it; there's still no visible change. +\layout Subsubsection + +Variables in the Text Block +\layout Standard + +Once you've defined variables in the +\series bold +Script +\series default +, you can use them in the +\series bold +Text Block +\series default +. + For example, using the previous three-line script we've created so far, + you can place the following in the +\series bold +Text Block +\series default +: +\layout LyX-Code + +See the 3: $variable
+\layout LyX-Code + +See the string: $stringVar
+\layout Standard + +\begin_float fig +\layout Standard +\align center + +\begin_inset Figure size 353 99 +file numericalResponseVarInText.eps +flags 9 + +\end_inset + + +\layout Caption + +Result of Variables in the Text Block +\begin_inset LatexCommand \label{Result of Variables in the Text Block Figure} + +\end_inset + + +\end_float +If you save that and hit +\series bold +View +\series default +, you should get what you see in figure +\begin_inset LatexCommand \ref{Result of Variables in the Text Block Figure} + +\end_inset + +. + Note how the +\begin_inset Quotes eld +\end_inset + +$variable +\begin_inset Quotes erd +\end_inset + + was turned into a 3, and the +\begin_inset Quotes eld +\end_inset + +$stringVar +\begin_inset Quotes erd +\end_inset + + was turned into +\begin_inset Quotes eld +\end_inset + +I have a variable with the value 3. +\begin_inset Quotes erd +\end_inset + + +\layout Subsubsection + +Variables in the Answer Block +\layout Standard + +You can use variables in the +\series bold +Answer +\series default + part of the question, too. + This means you can compute an answer to a question, which we'll see in + a bit. + If you set the answer of the question to be +\begin_inset Quotes eld +\end_inset + +$variable +\begin_inset Quotes erd +\end_inset + + (without the quotes), +\series bold +Save Changes +\series default + and +\series bold +View +\series default + it, you'll see that LON-CAPA is now expecting +\begin_inset Quotes eld +\end_inset + +3 +\begin_inset Quotes erd +\end_inset + + as the answer, plus or minus 5%. +\layout Subsection + +Calling Functions +\layout Standard + +Now you've seen how to use variables and stuff, see how to call functions. +\layout Subsubsection + +Randomization +\begin_inset LatexCommand \index{Randomization} + +\end_inset + + +\layout Standard + +One of the most importent functions for LON-CAPA is the RANDOM function. +\layout Subsection + +Dynamic, Randomized Problems: Putting It All Together +\layout Standard + +placeholder +\layout Subsection + +For More Information +\layout Standard + +It's always a good idea to look at other people's LON-CAPA problems, especially + those from the same discipline as your problems, and see what they are + doing. + +\series bold +Very often, the easiest way to create a new problem is to copy it and modify + the copy until it does what you need. + +\series default + The more complicated a problem is, the more time you'll save by doing this. + Also, you may find new ideas you can use and elaborate in your problems. +\layout Comment + +Is there UI for this? Check. +\layout Standard + +The full power of the Perl is well outside the scope of this document. + Without going into the same level of detail as the previous examples, here's + some ideas to stimulate your imagination: +\layout Itemize + +Variable text. + +\layout Itemize + +Perl has several other data structures which might be of use. + You may wish to do one of the many simple Perl tutorials on the Web. + I recommend searching Google for +\begin_inset Quotes eld +\end_inset + +perl tutorial +\begin_inset Quotes erd +\end_inset + +. +\layout Section + +Formula Response +\begin_inset LatexCommand \index{Formula Response} + +\end_inset + + +\begin_inset LatexCommand \label{Formula Response} + +\end_inset + + Problems +\layout Section + +Additional Problem Components +\layout Standard + +Using the +\begin_inset Quotes eld +\end_inset + +Insert +\begin_inset Quotes erd +\end_inset + + menu that appears in many of the problem editors, a wide variety of different + things can be added to the problems. +\layout Section + +Things That Need To Be Added \layout Subsection -Detailed number problem info +LON-CAPA and Units \layout Subsection -Detailed formula problem info +Creating a default metadata file \layout Subsection My questions\SpecialChar \ldots{}