diff --git a/assets/pg/Student_Orientation/decimals.pg b/assets/pg/Student_Orientation/decimals.pg new file mode 100644 index 0000000000..d4f617f47b --- /dev/null +++ b/assets/pg/Student_Orientation/decimals.pg @@ -0,0 +1,54 @@ +## DESCRIPTION +## Decimal Tolerance +## ENDDESCRIPTION + +DOCUMENT(); + +loadMacros(qw( + PGstandard.pl + PGML.pl + contextFraction.pl + PGcourse.pl +)); + +BEGIN_PGML +## Decimal Approximations + +Sometimes, your instructor will require you to enter an answer _exactly_. In that case your only option is to enter +[:1/3:] as a fraction: [`\frac13={}`][_]{Context("LimitedFraction"), Fraction(1/3)}{4} (Try [|1/3|]*, [|0.33|]*, +[|0.333|]*, [|0.3333|]*, [|2/6|]*, etc.) + +Sometimes, you will be allowed to use decimal _approximations_ to the real answer. So for instance, in the next answer +blank we can get away with typing [|0.3333|]* even though that is slightly different from [:1/3:]. +[`\frac13={}`][_]{Context("Numeric"), Real(1/3)}{4} (Try [|0.33|]*, [|0.333|]*, [|0.3333|]*.) Why is [|0.3333|]* +accepted and [|0.33|]* is not? _If_ a decimal approximation is acceptable at all, then you need to use enough +significant digits so your answer is "close enough" to the actual correct answer (which was [:1/3:] in this case). In +general, using _four_ significant digits in your decimals will be enough. You will often be able to get away with fewer, +but using four is recommended. + +Use a calculator to find decimal approximations for these values. At first, round your calculator's output to just two +significant digits. Then move up to three. If that is still not enough, move up to four. + + [`\sqrt{110} =`] [_]{sqrt(110)} (Try [|10|]*, [|10.4|]*, [|10.5|]*, [|10.48|]*, [|10.49|]*, etc.) + + [`\frac{1}{491} =`] [_]{1/491}{4} (Try [|0.0020|]*, [|0.00203|]*, [|0.00204|]*, +[|0.002036|]*, etc.) + + [`20380.2 =`] [_]{20380.2}{4} (Try [|20000|]*, [|20300|]*, [|20400|]*, [|20380|]*, etc.) + +With [`\frac{1}{491}`], students sometimes feel they should be able to get away with [`0.002`], since that is only off +by a tiny amount. However, percentage-wise this would be off by [`1.8%`], which is generally considered too much. + +With [`20380.2`], students mistakenly believe they must enter the entire number. While that's fine, it's also OK to +round to four significant digits. So you may simply enter [`20380`] for this answer. + +Decimal tolerance settings may vary from problem to problem and the above is only describing default decimal tolerance. +For example, if a problem has a monetary answer, it might expect you to answer correctly all the way to the hundredths +place, even if it is a large amount in thousands of dollars. Watch out for any specific instructions in each problem +that tell you how precise you should be. + + +[@ MODES(HTML => 'When you are ready, click "Next Problem".', TeX => '') @] +END_PGML + +ENDDOCUMENT(); diff --git a/assets/pg/Student_Orientation/emailInstructor.pg b/assets/pg/Student_Orientation/emailInstructor.pg new file mode 100644 index 0000000000..796a49e037 --- /dev/null +++ b/assets/pg/Student_Orientation/emailInstructor.pg @@ -0,0 +1,40 @@ +## DESCRIPTION +## Email Instructor +## ENDDESCRIPTION + +DOCUMENT(); + +loadMacros(qw( + PGstandard.pl + PGML.pl + PGcourse.pl +)); + +$a = random(5, 10); +$button_name = $envir{feedback_button_name}; + +BEGIN_PGML +## [$button_name] + +If you feel stuck on a problem, do not understand what the problem asks for, suspect there is a bug with the problem, +do not understand what syntax to use to enter the answer, or all of the above, there is an "[$button_name]" button +below the problem that you may use. This button appears on other pages in WeBWorK too. + +When you use this button, you should write a message to your instructor (or TA) explaining what you have tried. It will +help a lot if you write down the steps of the math that you have worked out too. You can even attach a file, for example +a picture of your hand-written work. Then the instructor gets your message along with a link to the problem from _your +perspective_, and they can also see all of your previously attempted answers. This way your instructor can write you +back with good help/hints. + +This answer blank is expecting a certain mystery answer: [_]{Real(112358)->cmp(tolType=>'absolute',tolerance=>0.1)}{4}. +The only way to get the answer is to use the "[$button_name]" button and ask for the answer to this Orientation Problem +[$envir{probNum}]. The instructor will reply to your email as soon as they are able to. [@ if ($isInstructor) +{'(Instructors: you can Check/Submit an answer, then view the feedback to reveal the expected correct answer.)'} @] + +A reply will come in the form of an email. You must check your official email account to receive the reply. Then return +to this problem to submit your answer. + +[@ MODES(HTML => 'When you are ready, click "Next Problem".', TeX => '') @] +END_PGML + +ENDDOCUMENT(); diff --git a/assets/pg/Student_Orientation/enteringMath.pg b/assets/pg/Student_Orientation/enteringMath.pg new file mode 100644 index 0000000000..ba41d1ca17 --- /dev/null +++ b/assets/pg/Student_Orientation/enteringMath.pg @@ -0,0 +1,104 @@ +## DESCRIPTION +## Entering Math +## ENDDESCRIPTION + +DOCUMENT(); + +loadMacros(qw( + PGstandard.pl + PGML.pl + PGcourse.pl +)); + +$MathQuill = <strings->add(pirate => {}), 'pirate'}{16}. + +The palette tool might be a distraction, especially to keyboard-only using students. You can disable it by +right-clicking (or control-clicking) in an answer blank. To "right click" without a mouse: +* on Windows or Linux, use [|shift F10|]*. +* on a Mac, you must first enable Mouse Keys in System Settings, and then use [|control m|]*. + +Try to disable the palette tool now. Once the tool is diabled, your device and web browser should "remember" this +setting when you visit a new problem or log in again. To bring the palette tool back, right-click (or control-click) +again in an answer blank. Unless you are certain you do not want to use the palette tool, you should bring it back now. +END_BODY + +$MathView = < ' ', + TeX => '' + ) +@]* you can use to reveal a palette with tools for constructing math expressions as well as a preview of what the +expression will look like. Try using the palette to help enter the expression [::pi/sqrt(x+1)::]. For this particular +expression: +1. You should start with the fraction building button for [`\frac{a}{b}`]. It will insert [|()/()|]* into the answer +blank. +2. Now place the cursor inside the first set of parentheses. Use the "Operations" list to visit "Others", where you can +click the [`\pi`] button. This will insert [|pi|]* and your answer blank should have [|(pi)/()|]*. +3. Now place the cursor inside the second set of parentheses. Use the "Operations" list to visit "Exponents", where you +can click the [`\sqrt{a}`] button. Now your answer blank looks like [|(pi)/(sqrt())|]*. +4. Finish by typing the [|x+1|]* in the appropriate place. + + [_]{Context("Numeric"), 'pi/sqrt(x+1)'}{16} + +Of course, you might be comfortable directly typing your answer and you do not need to use the palette button. +END_BODY + +$None = <cmp(formatStudentAnswer=>'parsed')}{16} + +Of course you could also simplify this to [`32`]. Now try entering [:1/x:]: + + [_]{'1/x'}{16} + +Raising to a power is typed using the caret symbol [|^|]*, which is usually shift-6 on a keyboard. Try entering [:x^6:]: + + [_]{'x^6'}{16} + +Another common operation is the square root, which is written [`\sqrt{\phantom{x}}`] on paper. There is no square root +character on most keyboards, so we do something else with this operation. We use [|sqrt()|]* where the parentheses +should surround the same content covered by the radical in [`\sqrt{\phantom{x}}`]. Try entering [:sqrt(x+1):]: + + [_]{'sqrt(x+1)'}{16} + +Complex expressions will require you to understand the order of operations and use grouping symbols. Teaching the order +of operations might be part of the course you are taking or it might be something you are expected to already know. Here +is an example of a complex math expression: [::(x^(x+1)+2)/(x+3)::]. Naively, you might type this as [|x^x+1+2/x+3|]*, +but the order of operations would make that come out as [::x^x+1+2/x+3::]. We need to use grouping symbols to (1) make +sure all of the [:x+1:] is included in the exponent, and (2) group the entire numerator and denominator together. We +would need something like [|(x^(x+1)+2)/(x+3)|]*. Try entering [::3^(x+1)/(2(x+2)^2)::]. + + [_]{'3^(x+1)/(2(x+2)^2)'}{16} + +END_BODY + +BEGIN_PGML +## Entering Math + +[@ if ($envir{entryAssist} eq 'MathQuill') {$MathQuill} elsif ($envir{entryAssist} eq 'MathView') {$MathView} else {$None} @]** + +[@ MODES(HTML => 'When you are ready, click "Next Problem".', TeX => '') @] +END_PGML + +ENDDOCUMENT(); diff --git a/assets/pg/Student_Orientation/feedback.pg b/assets/pg/Student_Orientation/feedback.pg new file mode 100644 index 0000000000..25a3d82ec9 --- /dev/null +++ b/assets/pg/Student_Orientation/feedback.pg @@ -0,0 +1,68 @@ +## DESCRIPTION +## Accessing Feedback +## ENDDESCRIPTION + +DOCUMENT(); + +loadMacros(qw( + PGstandard.pl + PGML.pl + PGcourse.pl +)); + +$random = random(100, 900); +$answer = Real($random)->cmp( + checker => sub { + my ($c, $s, $a) = @_; + Value::Error("The correct answer is $random.") + unless ($s == $random); + return 1; + } +); + +BEGIN_PGML +## Feedback + +When you Submit an answer, a feedback button appears near the answer blank. + +* If you answer correctly, you see a green checkmark[@ + MODES( + HTML => ': ', + TeX => '' + )@]*. +* If you answer incorrectly, you see a red alert[@ + MODES( + HTML => ': ', + TeX => '' + )@]*. +* If you earn partial credit, you see a yellow warning[@ + MODES( + HTML => ': ', + TeX => '' + )@]*. + +Each of these buttons is something you can click to see more information about the answer you tried. And if there is an +actual feedback message, you will see a small circle in the upper right corner of the button[@ + MODES( + HTML => ', like ', + TeX => '' + )@]*. + +For example, try answering the following with any answer. Almost certainly, you will be marked incorrect, but the +feedback message will tell you the correct answer. What number am I thinking of? [_]{$answer}{4} + +If you type an answer and click to "Preview my Answers", you will see an info button[@ + MODES( + HTML => ': ', + TeX => '' + ) +@]* instead of the correct/incorrect buttons. + +In addition to automated feedback, your instructor can leave messages for you in WeBWorK. To see these messages, you +must visit the problem for which a message has been left. The message will appear above the exercise. If your course +uses essay questions, there is no automated feedback, and these messages from the instructor will be your only feedback. + +[@ MODES(HTML => 'When you are ready, click "Next Problem".', TeX => '') @] +END_PGML + +ENDDOCUMENT(); diff --git a/assets/pg/Student_Orientation/hardcopy.pg b/assets/pg/Student_Orientation/hardcopy.pg new file mode 100644 index 0000000000..f89c3c6108 --- /dev/null +++ b/assets/pg/Student_Orientation/hardcopy.pg @@ -0,0 +1,37 @@ +## DESCRIPTION +## Hardcopies +## ENDDESCRIPTION + +DOCUMENT(); + +loadMacros(qw( + PGstandard.pl + PGML.pl + PGcourse.pl +)); + +$a = random(100, 900); + +BEGIN_PGML +## PDF Hardcopy ## + +From the *Assignments* page (which you may or may not have permission to viist), you may push a download button[@ + MODES( + HTML => ' ', + TeX => '' + ) +@]* to download a PDF version. Alternatively, when you are at the page listing all of one set's exercises, there is a +"Download Hardcopy for Current Set" button. + +This file is something that you can read onscreen while you are offline. You can even print it off and take it to a +tutoring center or somewhere comfortable to work on. + +To check that you understand how this works, download the PDF version of this Orientation assignment. At the end of +this problem in the PDF, you will find the answer that is expected here: [_]{Compute("$a")}{4} + +[@ if ($displayMode eq 'TeX') {"The answer is $a."} @] + +[@ MODES(HTML => 'When you are ready, click "Next Problem".', TeX => '') @] +END_PGML + +ENDDOCUMENT(); diff --git a/assets/pg/Student_Orientation/miscellaneous.pg b/assets/pg/Student_Orientation/miscellaneous.pg new file mode 100644 index 0000000000..d2659fcdf5 --- /dev/null +++ b/assets/pg/Student_Orientation/miscellaneous.pg @@ -0,0 +1,60 @@ +## DESCRIPTION +## Miscellaneous +## ENDDESCRIPTION + +DOCUMENT(); + +loadMacros(qw( + PGstandard.pl + PGML.pl + PGcourse.pl +)); + +BEGIN_PGML +## Miscellaneous ## + +Here are more WeBWorK features. + +* After an assignment is due, you are typically able to see the answers to all questions by visiting an exercise, +checking an answer, and viewing the feedback. Also when downloading the hardcopy PDF, you have the option to show the +expected correct answers. +* Some problems have been coded with walk-through solutions. You will not be able to see these until it's also possible +for you to see the answers. +* Some problems have been coded with hints. You will not be able to see these until you've attempted the problem a +certain number of times. +* Once the due date has passed, you can still enter answers in the answer blanks and use the "Check" button, and WeBWorK +will still give you the same feedback; just not for credit. +* Captial letters are different than lowercase letters when it comes to variables. For exmaple, [`\pi r^2`] might be +correct while [`\pi R^2`] is not. +* When you click on a problem set, there is set-specific information in a panel to the right. Always read this before +you begin the problems set. It may give you important hints. +* Repeated guessing is not helpful. If you have gotten a problem incorrect several times, you should ask for help. +That's what your instructor, TAs, and tutors are here for. +* Make sure you read the feedback messages that WeBWorK gives you. The feedback messages might sometimes be "technical" +(either mathematically or with respect to WeBWorK syntax) but they often give you what you need to make some progress. +If you don't understand a feedback message, ask your instructor about it. +* For decimal answers, get in the habit of using four significant digits. +* If you want to enter [`\pi`], you could type [|pi|]*, use the palette tool, or directly enter the [`\pi`] character if +you have a way to do that. +* If you want to enter [`\infty`], you could type [|inf|]*, use the palette tool, or directly enter the [`\infty`] +character if you have a way to do that. +* All of your submissions are permanently recorded. That means you can log off at any time and all of your work will be +saved. So you can do assignments in little bits at a time and work out of order if you like. +* WeBWorK can be used on tablets and smartphones. +* Most problems are coded with randomization. This means that while you and your classmate may have the same skeleton of +a problem, the numbers invloved are different. This encourages you to teach each other the _process_ of answering a +problem without being able to simply share the answers. + +The collection of all of the numbers between [`0`] and [`\pi`] including the endpoints is represented as [`[0,\pi]`] in +interval notation. Practice entering [`[0,\pi]`] in the answer blank: [_]{Context("Interval"), Compute('[0,pi]')}{4}. + +What is the symbol that is used to represent a quantity that is conceptually larger than any number? +[_]{Context("Numeric"), Compute('inf')} + +The answer to the following is something like [`\pi AB`], but that's not accepted because the actual answer has +lowercase variables. What should it be? [_]{Context("Numeric")->variables->are(a => 'Real', b => 'Real'), 'piab'} + +This concludes the WeBWorK student orientation. +END_PGML + +ENDDOCUMENT(); diff --git a/assets/pg/Student_Orientation/navigating.pg b/assets/pg/Student_Orientation/navigating.pg new file mode 100644 index 0000000000..7caf2cd9e7 --- /dev/null +++ b/assets/pg/Student_Orientation/navigating.pg @@ -0,0 +1,74 @@ +## DESCRIPTION +## Navigating +## ENDDESCRIPTION + +DOCUMENT(); + +loadMacros(qw( + PGstandard.pl + PGML.pl + PGcourse.pl +)); + +$a = random(5, 10); + +BEGIN_PGML +## Navigating WeBWorK ## +By now you've had experience with the "Next Problem" button. The "Previous Problem" button takes you to the previous +problem, and the "Problem List" button takes you to a listing of all problems in the set. + +At the bottom of a problem screen, you can see how many times you have attempted a problem, and how many attempts you +have left. Sometimes you also see whether or not partial credit is possible, and if so how much do you have. This +particular problem is lying about how many attempts you have used. How many attempts does it _say_ that you have used +so far? [_]{$a}{4} + +To the left of the screen there are some panels. The top panel lets you find your way to the following, although +depending on how your course is set up, any of these pages might not be avaliable. +* *Assignments*: this is the "home" screen where you can see all of the assignments that have been assigned to you and +when they are due. +* *Account Settings*: at this page you may (or may not) be able to change things like your password, your email address, +how math is rendered for you, whether or not your previous answers will be visible to you, and whether or not you want +to use the math editing tool. Some of these things may not be available depending on how your instructor or institution +has configured WeBWorK. +* *Grades*: go here to see how you have performed in your assignments. +* *Achievements*: if your instructor is using Achievements, then you can earn badges and level up as you complete +homework problems. Go here to view your level and badges. Also, if you have earned any items that can be applied to +your homework sets, you will see them here. + +[@ MODES(HTML => 'When you are ready, click "Next Problem".', TeX => '') @] +END_PGML + +install_problem_grader(sub { + my ($result, $state) = std_problem_grader(@_); + my $time = time(); + my $open = $time >= $openDate && $time <= $dueDate; + my $submit = $inputs_ref->{submitAnswers}; + my $attempts = + $state->{num_of_correct_ans} + $state->{num_of_incorrect_ans}; + $attempts-- if $attempts && !$submit; + + my @msg = (); + push(@msg, "Your score was " . ($open ? "" : "not ") . "recorded.") + if $submit; + push(@msg, + "You have attempted this problem $a time" . ($a == 1 ? "." : "s.")); + push(@msg, "You have unlimited attempts remaining."); + if ($submit) { + if ($result->{score} == 1) { + push(@msg, "You received a score of 100% for this attempt."); + push(@msg, "Your overall recorded score is 100%."); + } else { + push(@msg, "Your answers are not yet fully correct."); + } + } + unless ($open) { + push(@msg, "The homework set is not yet open.") + if $time < $openDate; + push(@msg, "The homework set is closed.") if $time > $dueDate; + } + + $state->{state_summary_msg} = join('
', @msg); + return ($result, $state); +}); + +ENDDOCUMENT(); diff --git a/assets/pg/Student_Orientation/setStudent_Orientation.def b/assets/pg/Student_Orientation/setStudent_Orientation.def new file mode 100644 index 0000000000..0745caf85b --- /dev/null +++ b/assets/pg/Student_Orientation/setStudent_Orientation.def @@ -0,0 +1,101 @@ +assignmentType = default +openDate = 01/01/2024 at 12:00am +reducedScoringDate = 12/31/2124 at 11:59pm +dueDate = 12/31/2124 at 11:59pm +answerDate = 12/31/2124 at 11:59pm +enableReducedScoring = N +paperHeaderFile = defaultHeader +screenHeaderFile = defaultHeader +description = Student orientation assignment covering the basics of using WeBWorK +restrictProbProgression = 0 +emailInstructor = 0 + +problemListV2 +problem_start +problem_id = 1 +source_file = Student_Orientation/welcome.pg +value = 1 +max_attempts = -1 +showMeAnother = -1 +showHintsAfter = -2 +prPeriod = -1 +counts_parent_grade = 0 +att_to_open_children = 0 +problem_end +problem_start +problem_id = 2 +source_file = Student_Orientation/feedback.pg +value = 1 +max_attempts = -1 +showMeAnother = -1 +showHintsAfter = -2 +prPeriod = -1 +counts_parent_grade = 0 +att_to_open_children = 0 +problem_end +problem_start +problem_id = 3 +source_file = Student_Orientation/enteringMath.pg +value = 1 +max_attempts = -1 +showMeAnother = -1 +showHintsAfter = -2 +prPeriod = -1 +counts_parent_grade = 0 +att_to_open_children = 0 +problem_end +problem_start +problem_id = 4 +source_file = Student_Orientation/decimals.pg +value = 1 +max_attempts = -1 +showMeAnother = -1 +showHintsAfter = -2 +prPeriod = -1 +counts_parent_grade = 0 +att_to_open_children = 0 +problem_end +problem_start +problem_id = 5 +source_file = Student_Orientation/navigating.pg +value = 1 +max_attempts = -1 +showMeAnother = -1 +showHintsAfter = -2 +prPeriod = -1 +counts_parent_grade = 0 +att_to_open_children = 0 +problem_end +problem_start +problem_id = 6 +source_file = Student_Orientation/emailInstructor.pg +value = 1 +max_attempts = -1 +showMeAnother = -1 +showHintsAfter = -2 +prPeriod = -1 +counts_parent_grade = 0 +att_to_open_children = 0 +problem_end +problem_start +problem_id = 7 +source_file = Student_Orientation/hardcopy.pg +value = 1 +max_attempts = -1 +showMeAnother = -1 +showHintsAfter = -2 +prPeriod = -1 +counts_parent_grade = 0 +att_to_open_children = 0 +problem_end +problem_start +problem_id = 8 +source_file = Student_Orientation/miscellaneous.pg +value = 1 +max_attempts = -1 +showMeAnother = -1 +showHintsAfter = -2 +prPeriod = -1 +counts_parent_grade = 0 +att_to_open_children = 0 +problem_end diff --git a/assets/pg/Student_Orientation/welcome.pg b/assets/pg/Student_Orientation/welcome.pg new file mode 100644 index 0000000000..0fff30fe71 --- /dev/null +++ b/assets/pg/Student_Orientation/welcome.pg @@ -0,0 +1,34 @@ +## DESCRIPTION +## Welcome to WeBWorK; Purpose of this Orientation +## ENDDESCRIPTION + +DOCUMENT(); + +loadMacros(qw( + PGstandard.pl + PGML.pl + PGcourse.pl +)); + +$isOpen = time() > $envir{openDate} && time() < $envir{dueDate}; +$instruction = + ($isOpen) + ? 'To get started, click in the answer blank, type the correct answer, and click the "Submit Answers" button.' + : 'This set is not currently open. You may want to ask your instructor to check if the open and close dates for ' + . 'this set are correctly set. In the meantime, you can click in the answer blank, type the correct answer, ' + . 'and click the "Check Answers" button to see if your answer is correct.'; + +BEGIN_PGML +## Welcome + +Welcome to the WeBWorK online homework platform. This orientation will familiarize you with basic features and usage of +WeBWorK. + +[$instruction]** + +[`2+2={}`][_]{Context("LimitedNumeric"), 4}{4} + +[@ MODES(HTML => 'When you are ready, click "Next Problem".', TeX => '') @] +END_PGML + +ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/Student_Orientation b/courses.dist/modelCourse/templates/Student_Orientation new file mode 120000 index 0000000000..d8e423ae44 --- /dev/null +++ b/courses.dist/modelCourse/templates/Student_Orientation @@ -0,0 +1 @@ +../../../webwork2/assets/pg/Student_Orientation \ No newline at end of file diff --git a/courses.dist/modelCourse/templates/set0.def b/courses.dist/modelCourse/templates/set0.def deleted file mode 100644 index 98afe89458..0000000000 --- a/courses.dist/modelCourse/templates/set0.def +++ /dev/null @@ -1,77 +0,0 @@ -assignmentType = default -openDate = 01/07/2000 at 06:00am EST -reducedScoringDate = 01/20/2009 at 06:00am EST -dueDate = 01/20/2009 at 06:00am EST -answerDate = 01/21/2009 at 06:00am EST -enableReducedScoring = N -paperHeaderFile = set0/paperHeaderFile0.pg -screenHeaderFile = set0/screenHeaderFile0.pg -description = -restrictProbProgression = 0 -emailInstructor = 0 - -problemListV2 -problem_start -problem_id = 1 -source_file = set0/prob1.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 2 -source_file = set0/prob1a.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 3 -source_file = set0/prob1b.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 4 -source_file = set0/prob2.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 5 -source_file = set0/prob3.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 6 -source_file = set0/prob4/prob4.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 7 -source_file = set0/prob5.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end - diff --git a/courses.dist/modelCourse/templates/set0/paperHeaderFile0.pg b/courses.dist/modelCourse/templates/set0/paperHeaderFile0.pg deleted file mode 100644 index 2ae97e50a8..0000000000 --- a/courses.dist/modelCourse/templates/set0/paperHeaderFile0.pg +++ /dev/null @@ -1,25 +0,0 @@ -##Problem set header for set 0 - -&DOCUMENT; - -loadMacros( -"PG.pl", -"PGbasicmacros.pl", -"PGchoicemacros.pl", -"PGanswermacros.pl" -); - -TEXT(EV2(< -HINT - -

-

- - - - - -
- - - - WeBWorK -

-
- -

Hint

-A line representing a function slanting upwards to the right is increasing, since as you increase -the inputs, the outputs increase as well. -

- If the line is horizontal then the outputs don't change -so the function is constant. -

-When you zoom in on most functions they look like straight lines. (The functions for which -this works are called differentiable functions --- there ARE functions which are not differentiable, -but we'll get to those later.) In any case you can tell whether a function is increasing or -decreasing by zooming in and determining whether the straight line is increasing or decreasing. -

-This means that the study of (differentiable) functions is largely a matter of understanding what -happens with straight line (or linear) functions. -

-

Remark on hints

-WeBWorK hints may or may not be helpful. - -Remember that WeBWorK's primary mission is to tell you whether your answer is correct. Programming -a computer to do this is hard enough, programming a computer to accurately understand why you -getting the wrong answer and to offer effective help is much harder. -

- -If you are having trouble with a problem -it is good to seek help from a human!
-This could be a fellow student, the TA or the professor. It is also helpful to look -at the relevant chapter of the textbook. You can use the index to look up key words -if you're not sure where to look. -

Don't -waste too much time guessing at answers! -

-Read the book, your notes. Talk to someone! Print out a hard copy of the problem set -and take it down to the Pit to work on! - -

-You can use the Feedback button -at the bottom of each problem page to send email to the TA and to the professor. - - - diff --git a/courses.dist/modelCourse/templates/set0/prob5.pg b/courses.dist/modelCourse/templates/set0/prob5.pg deleted file mode 100644 index 5b8bb88121..0000000000 --- a/courses.dist/modelCourse/templates/set0/prob5.pg +++ /dev/null @@ -1,43 +0,0 @@ -##DESCRIPTION -## practice problem -##ENDDESCRIPTION - -##KEYWORDS('sample') - -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( -"PG.pl", -"PGbasicmacros.pl", -"PGchoicemacros.pl", -"PGanswermacros.pl", -"PGauxiliaryFunctions.pl" -); - -$showPartialCorrectAnswers = 0; - - -$a = random(100,200,1); -$b = random(250,350,1); -$c = random(-31,-3,1); -TEXT(EV2(<EV3(<<'EOT'), HTML=>"", Latex2HTML=>"" )); -\noindent {\large \bf $studentName} -\hfill -\noindent {\large \bf MAA Minicourse New Orleans January 2001} -\par -\noindent WeBWorK assignment number \{ protect_underbar($setNumber) \} closes $formattedDueDate;. -\hrule -EOT - - -################## -# EDIT BELOW HERE -################## - -BEGIN_TEXT -$BR -$BR -Welcome to the MAA short course on $BBOLD WeBWorK $EBOLD. -$PAR -Here is a synopsis of the tutorial examples presented in this set. They have been designed for learning the PG language, and are not necessarily the best questions to use for mathematics instruction. -$PAR -$BBOLD 1. Hello world example: $EBOLD Illustrates the basic structure of a PG problem. -$PAR -$BBOLD 2. Standard example: $EBOLD This covers what you need to know to ask the majority of the questions you would want to ask in a calculus course. Problems with text answers, numerical answers and answers involving expressions are covered. -$PAR -$BBOLD 3. Simple multiple choice example: $EBOLD Uses lists(arrays) to implement a multiple choice question. -$PAR -$BBOLD 4. Multiple choice example: $EBOLD Uses the multiple choice object to implement a multiple choice question. -$PAR -$BBOLD 5. Matching list example: $EBOLD -$PAR -$BBOLD 6. True/false example: $EBOLD -$PAR -$BBOLD 7. Pop-up true/false example: $EBOLD Answers are chosen from a pop-up list. -$PAR -$BBOLD 8. On-the-fly graphics example 1: $EBOLD The graphs are regenerated each time you press the submit button -$PAR -$BBOLD 9. On-the-fly-graphics example 2: $EBOLD -- Adds some randomization to the first example. -$PAR -$BBOLD 10. Static graphics example: $EBOLD Presents graphs created on a separate application (e.g. Mathematica) and saved. -$PAR -$BBOLD 11. Hermite graph example: $EBOLD A particularly useful way of generating predictable graphs by specifying the value and first derivative of a function at each point. Piecewise linear graphs are also included in this example. -$PAR -$BBOLD 12. HTML links example: $EBOLD Shows how to link other web resources to your WeBWorK problem. -$PAR -$BBOLD 13. JavaScript example 1: $EBOLD An example which takes advantage of this interactive media! This one requires students to calculate the derivative of a function from the definition. -$PAR -$BBOLD 14. JavaScript example 2: $EBOLD A variant of the previous example that generates the example function as a cubic spline so that students can't read the javaScript code to find out the answer. -$PAR -$BBOLD 15. Vector field example $EBOLD Generates vector field graphs on-the-fly. -$PAR -$BBOLD 16. Conditional question example: $EBOLD Illustrates how you can create a problem which first asks an easy question, and once that has been answered correctly, follows up with a more involved question on the same material. -$PAR -$BBOLD 17 Java applet example: $EBOLD A preliminary example of how to include Java applets in WeBWorK problems. -$HR -END_TEXT - -################## -# EDIT ABOVE HERE -################## -BEGIN_TEXT -The primary purpose of WeBWorK is to let you know if you are getting the right answer or to alert -you if you get the wrong answer. Usually you can attempt a problem as many times as you want before -the close date. However, if you are having trouble figuring out your error, you should -consult the book, or ask a fellow student, one of the TA's or -your professor for help. Don't spend a lot of time guessing -- it's not very efficient or effective. -The computer has NO CLUE about WHY your answer is wrong. Computers are good at checking, -but for help go to a human. - -$PAR -Give 4 or 5 significant digits for (floating point) numerical answers. -For most problems when entering numerical answers, you can if you wish -enter elementary expressions such as \( 2\wedge3 \) instead of 8, \( sin(3*pi/2) \)instead -of -1, \( e\wedge (ln(2)) \) instead of 2, -\( (2+tan(3))*(4-sin(5))\wedge6-7/8 \) instead of 27620.3413, etc. -$PAR - Here's the -\{ htmlLink(qq!http://webwork.maa.org/wiki/Available_Functions!,"list of the functions") \} - which WeBWorK understands. - -Along with the \{htmlLink(qq!http://webwork.maa.org/wiki/Units!, "list of units")\} which WeBWorK understands. This can be useful in -physics problems. -$PAR -You can use the Feedback button on each problem -page to send email to the professors. - -END_TEXT - -ENDDOCUMENT(); # This should be the last executable line in the problem. - diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/conditionalquestionexample.pg b/courses.dist/modelCourse/templates/setMAAtutorial/conditionalquestionexample.pg deleted file mode 100644 index 4b067b39ee..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/conditionalquestionexample.pg +++ /dev/null @@ -1,83 +0,0 @@ -DOCUMENT(); -loadMacros( - "PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl" -); -TEXT($BBOLD, "Conditional questions example", $EBOLD, $BR,$BR); -$showPartialCorrectAnswers = 1; - -$a1 = random(3,25,1); -$b1 = random(2,27,1); -$x1 = random(-11,11,1); -$a2 = $a1+5; - -BEGIN_TEXT -If \( f(x) = $a1 x + $b1 \), find \( f'( $x1 ) \). -$BR $BR \{NAMED_ANS_RULE('first_answer',10) \} -$BR -END_TEXT - - - -$ans_eval1 = num_cmp($a1); -NAMED_ANS(first_answer => $ans_eval1); - -# Using named answers allows for more control. Any unique label can be -# used for an answer. -# (see http://webwork.math.rochester.edu/docs/docs/pglanguage/pgreference/managinganswers.html -# for more details on answer evaluator formats and on naming answers -# so that you can refer to them later. Look also at the pod documentation in -# PG.pl and PGbasicmacros.pl which you can also reach at -# http://webwork.math.rochester.edu/docs/techdescription/pglanguage/index.html) - -# Check to see that the first answer was answered correctly. If it was then we -# will ask further questions. -$first_Answer = $inputs_ref->{first_answer}; # We need to know what the answer - # was named. -$rh_ans_hash = $ans_eval1->evaluate($first_Answer); - -# warn pretty_print($rh_ans_hash); # this is useful technique for finding errors. - # When uncommented it prints out the contents of - # the ans_hash for debugging - -# The output of each answer evaluator consists of a single %ans_hash with (at -# least) these entries: -# $ans_hash{score} -- a number between 0 and 1 -# $ans_hash{correct_ans} -- The correct answer, as supplied by the instructor -# $ans_hash{student_ans} -- This is the student's answer -# $ans_hash{ans_message} -- Any error message, or hint provided by -# the answer evaluator. -# $ans_hash{type} -- A string indicating the type of answer evaluator. -# -- Some examples: -# 'number_with_units' -# 'function' -# 'frac_number' -# 'arith_number' -# For more details see -# http://webwork.math.rochester.edu/docs/docs/pglanguage/pgreference/answerhashdataype.html - -# If they get the first answer right, then we'll ask a second part to the -# question ... -if (1 == $rh_ans_hash->{score} ) { - - # WATCH OUT!!: BEGIN_TEXT and END_TEXT have to be on lines by - # themselves and left justified!!! This means you can't indent - # this section as you might want to. The placement of BEGIN_TEXT - # and END_TEXT is one of the very few formatting requirements in - # the PG language. - -BEGIN_TEXT - $PAR Right! Now - try the second part of the problem: $PAR $HR - If \( f(x) = $a2 x + \{$b1+5\} \), find \( f'( x) \). - $BR $BR \{ NAMED_ANS_RULE('SecondAnSwEr',10) \} - $BR -END_TEXT - -$ans_eval2 = num_cmp($a2); - - NAMED_ANS(SecondAnSwEr => $ans_eval2); - -} -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/hello.pg b/courses.dist/modelCourse/templates/setMAAtutorial/hello.pg deleted file mode 100644 index a27388830d..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/hello.pg +++ /dev/null @@ -1,18 +0,0 @@ -DOCUMENT(); -loadMacros("PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", - ); - -BEGIN_TEXT -Complete the sentence: $PAR -\{ ans_rule(20) \} world! -END_TEXT - -ANS( str_cmp( "Hello" ) ); # here is the answer, a string. - - - - -ENDDOCUMENT(); - \ No newline at end of file diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/hermitegraphexample.pg b/courses.dist/modelCourse/templates/setMAAtutorial/hermitegraphexample.pg deleted file mode 100644 index 8af5c95cbf..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/hermitegraphexample.pg +++ /dev/null @@ -1,124 +0,0 @@ -DOCUMENT(); -loadMacros("PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", - "PGnumericalmacros.pl", - "PGgraphmacros.pl" -); -TEXT($BBOLD, "Hermite polynomial graph example", $EBOLD, $BR,$BR); -$showPartialAnswers = 1; - -$graph = init_graph(-5,-5,5,5,'axes'=>[0,0],'grid'=>[10,10]); - -my (@x_values1, @y_values1); -foreach $i (0..10) { - $x_values1[$i] =$i-5; - $y_values1[$i] = random(-4,4,1); -} - -# creates a reference to a perl subroutine for the piecewise linear function -# passing through the defined points -$fun_rule = plot_list(~~@x_values1, ~~@y_values1); - -#new function is to be plotted in graph -$f1=new Fun($fun_rule, $graph); -$f1->color('black'); - -$trans = non_zero_random(-2,2,1); -# add a new function to the graph which is a translate of the first -$fun_rule2 = sub{ my $x = shift; &$fun_rule($x-$trans) }; -$f2 = new Fun($fun_rule2, $graph); -$f2->color('orange'); - -$graph->stamps(open_circle(-1,&$fun_rule(-1),'black') ); -# indicates open interval at the left endpoint -$graph->stamps(closed_circle(4,&$fun_rule(4), 'black') ); -# and a closed interval at the right endpoint -# Be careful about getting the stamps properly located on the translated -# function below: -$graph->stamps(open_circle(-1 + $trans, &$fun_rule(-1),'orange') ); -# indicates open interval at the left endpoint -$graph->stamps(closed_circle(4 +$trans, &$fun_rule(4), 'orange') ); -# and a closed interval at the right endpoint - -$graph2 = init_graph(-4,-4,4,4,'axes'=>[0,0],'grid'=>[8,8]); -$b1= random(-3.5,3.5,.5); -$b2= random(-3.5,3.5,.5); -$b3= random(-3.5,3.5,.5); -@x_val3 = (-4,-3,-2,-1, 0, 1, 2, 3, 4 ); -@y_val3 = ( 0, 1, 2, 0,$b1, $b2, $b3, 1, 2 ); -@yp_val3= ( .1, 1, 0,-2, 0, 1, 2, -3, 1 ); -$hermite = new Hermite( - ~~@x_val3, # x values - ~~@y_val3, # y values - ~~@yp_val3 # y prime values - ); -$spline_rule = $hermite->rf_f; -$f3 = new Fun($spline_rule, $graph2); -$f3->color('green'); -$graph2->stamps(closed_circle(-4, &$spline_rule(-4), 'green') ) ; -$graph2->stamps(closed_circle( 4, &$spline_rule( 4), 'green') ) ; - -# Insert the graphs and the text. -BEGIN_TEXT - -$PAR -We have developed other ways to specify graphs which are to be created 'on the fly'. -All of these new methods consist of adding macro packages to WeBWorK. Since they -do not require the core of WeBWorK to be changed, these enhancements can be added by -anyone using WeBWorK. -$PAR - These two piecewise linear graphs were created by specifying the points at the nodes. - $BR Click on the graph to view a larger image. -$PAR -\{ image(insertGraph($graph),tex_size => 300, width=> 300, height=> 300 ) \} -$HR -If the black function is written as \(f(x)\), then the orange function -would be written as \( f( \) \{ ans_rule \} \( ) \). -\{ANS(function_cmp("x-$trans")),'' \} -END_TEXT -# $PAR -# The numerical calculations were all written in Perl using -# numerical routines adapted from the Numerical Analysis book by Burden and Faires. -# $BR -# We are also working on a macro which will automatically -# identify the maximum, minimum and inflection points of an arbitary hermite -# cubic spline from its specifying values. This will allow automatic generation -# of problems in which the maximum, minimum and inflection points are to be -# deduced from a graph. -# -# Get the internal local maximums -@critical_points = keys %{$hermite->rh_critical_points}; -@critical_points = num_sort( @critical_points); -@minimum_points = (); -foreach my $x (@critical_points) { - push(@minimum_points, $x) if &{$hermite->rf_fpp}($x) >0 ; -} -# TEXT(pretty_print(~~@minimum_points)); # (for debugging purposes) -$answer_string = ""; -foreach my $x (@minimum_points) { - $answer_string .= EV2(' \{ ans_rule(10) \} '); -} - -BEGIN_TEXT -$HR -This graph was created using a hermite spline by specifying points at - -\{ begintable(1+scalar( @x_val3 ) ) \} -\{ row('x', @x_val3)\} -\{ row('y', @y_val3) \} -\{ row('yp',@yp_val3) \} -\{endtable() \} - -$PAR -\{ begintable(2) \} -\{row( image(insertGraph($graph2), tex_size => 300,width=>300, height=> 300), - "List the internal local minimum points $BR in increasing order: $BR $answer_string" - ) \} -\{ endtable() \} - -$PAR -END_TEXT -ANS(num_cmp([ @minimum_points ], tol => .3)); - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-24438.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-24438.gif deleted file mode 100644 index df1f85cbd2..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-24438.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-31126.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-31126.gif deleted file mode 100644 index b0ad26bb6e..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-31126.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-34859.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-34859.gif deleted file mode 100644 index 702784afdd..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-34859.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-42639.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-42639.gif deleted file mode 100644 index dfebffd690..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-42639.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-76239.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-76239.gif deleted file mode 100644 index 741fdd8452..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-76239.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-89540.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-89540.gif deleted file mode 100644 index aa9a75d45a..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-89540.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-91734.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-91734.gif deleted file mode 100644 index cd5aae4ebd..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-91734.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-96355.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-96355.gif deleted file mode 100644 index 23ac97828b..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1-96355.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1.gif deleted file mode 100644 index 073055392b..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/1.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-42653.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-42653.gif deleted file mode 100644 index 709cd644e2..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-42653.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-49261.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-49261.gif deleted file mode 100644 index 3767c0de47..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-49261.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-54427.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-54427.gif deleted file mode 100644 index 11c71d8010..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-54427.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-62384.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-62384.gif deleted file mode 100644 index eae5ade6ae..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-62384.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-64591.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-64591.gif deleted file mode 100644 index 4bd408e32f..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-64591.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-70190.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-70190.gif deleted file mode 100644 index 3e646a41ac..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-70190.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-81779.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-81779.gif deleted file mode 100644 index 944f3efcf6..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-81779.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-92879.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-92879.gif deleted file mode 100644 index 11506db3bc..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2-92879.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2.gif deleted file mode 100644 index b85a6d3ad3..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/2.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-14197.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-14197.gif deleted file mode 100644 index c28c1b68ee..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-14197.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-14538.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-14538.gif deleted file mode 100644 index c57d2fbe84..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-14538.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-37616.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-37616.gif deleted file mode 100644 index a9c2db85c3..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-37616.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-46739.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-46739.gif deleted file mode 100644 index 4244a8ca61..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-46739.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-52898.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-52898.gif deleted file mode 100644 index afe8cd9d75..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-52898.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-68458.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-68458.gif deleted file mode 100644 index 8690563535..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-68458.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-89262.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-89262.gif deleted file mode 100644 index 5c954beec1..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-89262.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-99389.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-99389.gif deleted file mode 100644 index f948cc3e83..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3-99389.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3.gif b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3.gif deleted file mode 100644 index 5f8f80e7d8..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/3.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/htmllinksexample.pg b/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/htmllinksexample.pg deleted file mode 100644 index 2d2b34176a..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/htmllinksexample/htmllinksexample.pg +++ /dev/null @@ -1,80 +0,0 @@ -DOCUMENT(); -loadMacros("PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl" -); -$showPartialCorrectAnswers = 0; - -TEXT($BBOLD, "HTML links example", $EBOLD, $BR,$BR) - -BEGIN_TEXT -This example shows how to link to resources outside the problem itself. -$PAR -Linking to other web pages over the internet is easy. For example, -you can get more information about the buffon needle problem and how it is used by ants to find new nest sites by linking to - \{ htmlLink("http://www.maa.org/mathland/mathtrek_5_15_00.html", - "Ivars Peterson's column on the MAA site") \}. -$PAR -END_TEXT - -# You can write the HTML code yourself, but -# that will look funny when the problem is printed in -# hard copy, so it is probably better to use the -# htmlLink('url','text') function which -# will create something readable when the problem is printed. - -BEGIN_TEXT -All of the files in the html directory of your WeBWorK course site can be read -by anyone with a web browser and the URL (the address of the file). This is a good -place to put files that are referenced by more than one problem in your WeBWorK course. -$PAR -Here is the link to -the -\{ htmlLink(alias("${htmlDirectory}calc.html"), - 'to the calculator page', - qq!target="ww_calculator" - ONCLICK="window.open( this.href, this.target, - 'width=250,height=350,scrollbars=no,resizable=off' - )" -!) \} -stored in the top level of the -html directory of the tutorialCourse. -$PAR -END_TEXT - -# To link to files on your own computer use the alias function whose -# job it is to find the file in question. -# You need to do this access indirectly, because WeBWorK is set up to -# restrict access to most files -- (you don't want everyone reading -# the source text of the WeBWorK problems, they could reconstruct the answer.) -# -# Note that you need double quotes around "${htmlDirectory}calc.html" so that -# the string in $htmlDirectory will be -# concatenated with calc.html to form a string describing -# the DIRECTORY in which the file is to be found. Alias converts -# the directory to a URL - -BEGIN_TEXT -Finally there are files, such as picture files, which are -stored with the problem itself in the same directory. - $BR \{ image("2-70190.gif", width=>200, height=>200) \} - -END_TEXT - -# Image automatically uses alias -# to search for files. - -BEGIN_TEXT -$PAR -And the table below has three more graphs which are stored -in the directory containing the current problem. $PAR -END_TEXT - -TEXT( - begintable(3), - row( image( [ ( '1-24438.gif', '2-49261.gif', '3-37616.gif') ], - tex_size=>200, width=>200, height=>200 )), - endtable() -); - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/javaappletexample.pg b/courses.dist/modelCourse/templates/setMAAtutorial/javaappletexample.pg deleted file mode 100644 index c42740511e..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/javaappletexample.pg +++ /dev/null @@ -1,95 +0,0 @@ -DOCUMENT(); - -loadMacros("PG.pl", - "PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", - ); - -TEXT($BBOLD, "Java applet example", $EBOLD, $BR,$BR); -# define function to be evaluated -$a= random(1,3,1); -$b= random(-4,4,.1); -$c = random(-4,4,1); -$x0=random(-2,2,1); -$function = FEQ(" ${a}x^2+${b}x +$c "); # This function will be redefined for javaScript as well. -sub fp { # define a subroutine to calculate the derivative - my $x = shift; - 2*$a*$x+$b; -} -$ans = fp($x0); - -BEGIN_TEXT -$PAR -This problem illustrates how you can embed Java applet code in a WeBWorK example -to create an interactive homework problem that could never be provided by a text book. -$PAR -WeBWorK can use existing $BBOLD javaScript$EBOLD and $BBOLD Java $EBOLD -code to augment its capabilities. -$HR - -END_TEXT -$javaApplet = < - - - - - - - -

-mathbean applet from David Ecks -
-EOF -# only print out the java applet code when viewing on the screen -TEXT(MODES( - TeX => " \fbox{ The java applet was displayed here - }", - HTML => $javaApplet, -)); - -$a1= random(-3,3,.5); -$a2= random(-3,3,.5); -$a3= random(-3,3,.5); -$b1 = ($a1/2)**2; # remember to use ** for exponentiation when - # calculating in pure Perl! -$b2= ($a2 / 2)**2; -$b3 = ($a3 / 2)**2; - -ANS( num_cmp( $b1, reltol => 10, format=>'%0.2g')); -ANS( num_cmp( $b2, reltol => 10, format=>'%0.2g')); -ANS( num_cmp( $b3, reltol => 10, format=>'%0.2g')); - -BEGIN_TEXT - -$PAR -The graph above represents the function -\[f(x) = x^2 + a x +b \] -where \( a \) and \( b \) are parameters. $PAR - -For each value of \( a \) find the value of \( b \) which -makes the graph just touch the x-axis. -$BR -if a= $a1 then \{ ans_rule(10) \}$BR -if a= $a2 then \{ ans_rule(10) \}$BR -if a= $a3 then \{ ans_rule(10) \} $PAR - -Does this relationship between a and b specify b as a function of a? - \{ ans_rule(4) \} (Yes or No)$BR - -Does this relationship between a and b specify a as a function of b? - \{ ans_rule(4) \} (Yes or No)$BR - -Write a formula for calculating this value of \( b \) from \( a \).$BR -b = \{ ans_rule(40) \} - -END_TEXT -ANS(str_cmp('Yes') ); -ANS(str_cmp('No') ); -ANS(function_cmp( '(a/2)^2', 'a') ); - - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/javascriptexample1.pg b/courses.dist/modelCourse/templates/setMAAtutorial/javascriptexample1.pg deleted file mode 100644 index b12f48a0aa..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/javascriptexample1.pg +++ /dev/null @@ -1,145 +0,0 @@ -DOCUMENT(); - -loadMacros( - "PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", -); -TEXT($BBOLD, "JavaScript Example 1", $EBOLD, $BR,$BR); -# define function to be evaluated -$a= random(1,3,1); -$b= random(-4,4,.1); -$c = random(-4,4,1); -$x0=random(-2,2,1); - -# function = ${a}x^2+${b}x +${c} -# This is just to provide the correct answer. -# This function will be defined for javaScript below. -sub fp { # define a perl subroutine to calculate the derivative - my $x = shift; - 2*$a*$x+$b; -} -$ans = fp($x0); - -## This text will be placed in the header section of the HTML page -## not in the body where TEXT output is placed. -## Not processing is done. - -HEADER_TEXT(< - - - -EOF - -TEXT(MODES( TeX => "", - Latex2HTML => "\begin{rawhtml} - ~~n\end{rawhtml} - ", - HTML_tth => "~~n", - HTML => "~~n" -)); - -$functionArrow = MODES( - TeX => "\(- f\rightarrow\)", - Latex2HTML => "\(- f\rightarrow \) ", - HTML_tth => "-- f -- >   ", - HTML => '-- f -- >   ' -); - -# The following string contains a combination of HTML and javaScript -# which displays the input table for the javaScript calculator - -$javaScript =< - - - - - - - - - - - - - - - - -
- - - - - -
- - - - - -
- - - - - -
- - -ENDOFSCRIPT - - - -BEGIN_TEXT - -Find the derivative of the function f(x). The windows below will tell -you the value of f for any input x. (I call this an "oracle function", since -if you ask, it will tell.) -$PAR -\(f '( $x0 ) \) = \{ans_rule(50 ) \} -$PAR -You may want to use a -\{ htmlLink(alias("${htmlDirectory}calc.html"), - 'calculator', - qq! TARGET = "ww_calculator" - ONCLICK="window.open( this.href,this.target, - 'width=200, height=350, scrollbars=no, resizable=off' - )" -!) \} - -to find the result. - You can also enter numerical expressions and have - WeBWorK do the calculations for you. -END_TEXT - -# Here is where we actually print the javaScript, or alternatives for printed output. - -TEXT(MODES( - TeX => " \fbox{ The java Script calculator was displayed here - }", - HTML => $javaScript, - )); - -ANS(num_cmp($ans,reltol => 1) ); #We are allowing 1 percent error for the answer. - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/javascriptexample2.pg b/courses.dist/modelCourse/templates/setMAAtutorial/javascriptexample2.pg deleted file mode 100644 index 53be40e27a..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/javascriptexample2.pg +++ /dev/null @@ -1,153 +0,0 @@ -DOCUMENT(); - -loadMacros("PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", - "PGnumericalmacros.pl", # needed for the javaScript spline code - ); -TEXT($BBOLD, "JavaScript Example 2", $EBOLD, $BR,$BR); - -# define function to be evaluated -$a= random(1,3,1); -$b= random(-4,4,.1); -$c = random(-4,4,1); -$x0=random(-2,2,1); - -# function = ${a}x^2+${b}x +${c}sin(x) -# This is just to provide the correct answer. -# This function will be defined for javaScript below. -sub fp { # define a perl subroutine to calculate the derivative - my $x = shift; - 2*$a*$x+$b; -} -$ans = fp($x0); - -# approximate the function by a cubic spline -sub fun{ - my $x = shift; - ${a}*$x**2+$b*$x +$c; -} -@x = (); -@y = (); -for ( $x1 = -3; $x1<3; $x1 = $x1+.1) { - push(@x, $x1); - push(@y, fun($x1) ); -} -#warn join(" ", @x) ; # test the calculation of the data points -#warn join(" ", @y) ; -$javascript= javaScript_cubic_spline(~~@x, ~~@y, name =>'func'); - -#$javascript =~s/'func') ); - - -TEXT(MODES( TeX => "", - Latex2HTML => "\begin{rawhtml} - ~~n\end{rawhtml} - ", - HTML_tth => "~~n", - HTML => "~~n" -)); - -$functionArrow = MODES( - TeX => "\(- f\rightarrow\)", - Latex2HTML => "\(- f\rightarrow \) ", - HTML_tth => "-- f -- >   ", - HTML => '-- f -- >   ' -); - -# The following string contains a combination of HTML and javaScript -# which displays the input table for the javaScript calculator - -$javaScript =< - - - - - - - - - - - - - - - - -
- - - - - -
- - - - - -
- - - - - -
- - - -ENDOFSCRIPT - -BEGIN_TEXT -Find the derivative of the function f(x). The windows below will tell -you the value of f for any input x. (I call this an "oracle function", since -if you ask, it will tell.) -$PAR -\(f'( $x0 ) \) = \{ans_rule(50 ) \} -$PAR -You may want to use a -\{ htmlLink(alias("${htmlDirectory}calc.html"), - 'calculator', - qq! TARGET = "ww_calculator" - ONCLICK="window.open( this.href,this.target, - 'width=200, height=350, scrollbars=no, resizable=off' - )" -!) \} - -to find the result. You can also enter numerical expressions and -have WeBWorK do the calculations for you. -END_TEXT - -# Here is where we actually print the javaScript, or alternatives for printed output. -TEXT(MODES( - TeX => " \fbox{ The java Script calculator was displayed here - }", - Latex2HTML => "\begin{rawhtml} $javaScript \end{rawhtml}", - HTML_tth => $javaScript, - HTML => $javaScript, - )); - - - - -ANS(num_cmp($ans,reltol => 1) ); #We are allowing 1 percent error for the answer. - - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/liteApplet1.pg b/courses.dist/modelCourse/templates/setMAAtutorial/liteApplet1.pg deleted file mode 100644 index a00e0178be..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/liteApplet1.pg +++ /dev/null @@ -1,67 +0,0 @@ -DOCUMENT(); - -loadMacros("PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", -); - -$showPartialCorrectAnswers = 1; - -# The link to the java applet is hard wired to use the java applet -# served from the University of Rochester WeBWorK machine. -# It is possible to set this up so that the java applet is served -# from any machine -# For details use the Feedback button to contact the authors of WeBWorK - -BEGIN_TEXT -This is a lite applet designed by Frank Wattenberg. -$BR -\{htmlLink( '/webwork2_course_files/demoCourse/live_map_instructions.html ', -'Instructions for using the map',' target="intro" ' )\} -$HR -END_TEXT -$appletText = -appletLink( -q! archive="/courses/system_html/applets/Image_and_Cursor_All/Image_and_Cursor.jar" -code="Image_and_Cursor" width = 500 height = 458 -!, -q!Your browser does not support Java, so nothing is displayed. - - - - - - - -! -); -sub dist { - my $ra_pt1 = shift; - my $ra_pt2 =shift; - my $conversion = 300 /(145 - 72); # number of km per pixel - return $conversion* sqrt( ($ra_pt1->[0] - $ra_pt2->[0])**2 + ($ra_pt1->[1] - $ra_pt2->[1])**2); -} - -$kandahar = [132,101]; -$kabul = [209,185]; -$mazur_e_sharif = [170, 243]; -$shindand = [46, 155]; - -$questions = EV3( -"$PAR How far is it from Kandahar to Kabul? " , ans_rule(30), -" $PAR How far is it from Kabul to Mazar-e-Sharif? ", ans_rule(30), -" $PAR How far is it from Kandahar to Shindand? " , ans_rule(30), -); -#TEXT( -#begintable(2), -#row( $appletText, $questions), -#endtable() -#); -TEXT($appletText, $questions); -ANS(num_cmp(dist($kandahar,$kabul), reltol => 3, units=>'km')); -ANS(num_cmp(dist($kabul, $mazur_e_sharif), reltol => 3, units=>'km')); -ANS(num_cmp(dist($kandahar,$shindand), reltol => 3, units=>'km')); - - - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/liteApplet2.pg b/courses.dist/modelCourse/templates/setMAAtutorial/liteApplet2.pg deleted file mode 100644 index 00b754242d..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/liteApplet2.pg +++ /dev/null @@ -1,72 +0,0 @@ -DOCUMENT(); - -loadMacros("PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", -); - -$showPartialCorrectAnswers = 1; - -BEGIN_TEXT -This is a lite applet designed by Frank Wattenberg. -$BR -\{htmlLink( '/webwork2_course_files/demoCourse/live_map_instructions.html ', -'Instructions for using the map',' target="intro" ' )\} -$HR -END_TEXT -TEXT( -appletLink( -q! archive="/courses/system_html/applets/Image_and_Cursor_All/Image_and_Cursor.jar" -code="Image_and_Cursor" width = 500 height = 458 -!, -q!Your browser does not support Java, so nothing is displayed. - - - - - - - -! -), -); -sub dist { - my $ra_pt1 = shift; - my $ra_pt2 =shift; - $conversion = 300 /(145 - 72); # number of km per pixel - return $conversion * sqrt( ($ra_pt1->[0] - $ra_pt2->[0])**2 + ($ra_pt1->[1] - $ra_pt2->[1])**2); -} -@cities = ( - { name => 'Kandahar', location => [132,101] }, - { name => 'Kabul', location => [209,185] }, - { name => 'Mazur e Sharif', location => [170, 243] }, - { name => 'Shindand', location => [46, 155] }, - { name => 'Zaranj', location => [39, 93] } -); -@index = NchooseK(scalar(@cities), 3 ); -sub cityName { - my $index = shift ; - $cities[$index -1]->{name}; -} -sub cityLoc { - my $index = shift; - $cities[$index-1]->{location}; -} - -$conversion = 300 /(145 - 72); # number of km per pixel -BEGIN_TEXT -$PAR -How far is it from \{cityName($index[1])\} to \{cityName($index[2])\}? \{ans_rule(30)\} -$PAR -How far is it from \{cityName($index[1])\} to \{cityName($index[3])\}? \{ans_rule(30)\} -$PAR -How far is it from \{cityName($index[2])\} to \{cityName($index[3])\}? \{ans_rule(30)\} -END_TEXT - -ANS(num_cmp(dist(cityLoc($index[1]),cityLoc($index[2])), reltol=>3, units=>'km')); -ANS(num_cmp(dist(cityLoc($index[2]), cityLoc($index[2])), reltol=>3, units=>'km')); -ANS(num_cmp(dist(cityLoc($index[2]),cityLoc($index[2])), reltol=>3, units=>'km')); - - - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/matchinglistexample.pg b/courses.dist/modelCourse/templates/setMAAtutorial/matchinglistexample.pg deleted file mode 100644 index 300c8db8e9..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/matchinglistexample.pg +++ /dev/null @@ -1,129 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", - ); - - -TEXT($BBOLD, "Matching list example", $EBOLD, $BR,$BR); - - -# Since this is a matching question, we do not usually wish to tell students -# which parts of the matching question have been answered correctly and which -# areincorrect. That is too easy. To accomplish this we set the following -# flag to zero. -$showPartialCorrectAnswers = 0; - -# Make a new match list -$ml = new_match_list(); -# enter questions and matching answers -$ml -> qa ( - "\( \sin(x) \)", # Notice the use of the LateX construction - "\( \cos(x) \)", # for math mode: \\( ... \\) and the use of TeX - "\( \cos(x) \)", # symbols such as \\sin and \\tan. - "\( -\sin(x) \)", - "\( \tan(x) \)", - "\( \sec^2(x) \)", # Remember that in these strings we are - # only specifying typography,via TeX, - "\( x^{20} \)", #not any calculational rules. - "\( 20x^{19} \)", - "\( \sin(2x) \)", - "\( 2\cos(2x) \)", - "\( \sin(3x) \)", - "\( 3\cos(3x) \)" -); - - -# Calculate coefficients for another question -$b=random(2,5); -$exp= random(2,5); -$coeff=$b*$exp; -$new_exp = $exp-1; - -# Store the question and answers in the match list object. -$ml -> qa ( - '\( ${b}x^$exp \)', - '\( ${coeff}x^{$new_exp} \)', -); - -# Add another example -$b2=random(2,5); -$exp2= random(2,5); -$coeff2=$b2*$exp; -$new_exp2 = $exp-1; -$ml -> qa ( - "\( ${b2}x^$exp2 \)", - "\( ${coeff2}x^{$new_exp2} \)", -); - -# Choose four of the question and answer pairs at random. -$ml ->choose(4); -# Using choose(8) would choose all eight questions, -# but the order of the questions and answers would be -# scrambled. - -# The following code is needed to make the enumeration work right within tables -# when LaTeX output is being used. -# It is an example of the powerful tools of TeX and perl which are available -# for each PG problem author. -# Once we figure out the best way to protect enumerated lists automatically -# we will include it in the tables macro. Meantime, it is better to have -# have to do it by hand, rather than to have the wrong thing done automatically. - -$BSPACING = MODES( TeX => '\hbox to .5\linewidth {\hspace{0.5cm}\vbox {', - HTML =>' ', - Latex2HTML => ' ' -); -$ESPACING = MODES(TeX => '}}', HTML =>'', Latex2HTML => ''); -sub protect_enumerated_lists { - my @in = @_; - my @out = (); - foreach my $item (@in) { - push(@out, $BSPACING . $item . $ESPACING); - } - @out; -} -# End of code for protecting enumerated lists in TeX. - -# Now print the text using $ml->print_q for -# the questions and $ml->print_a to print the answers. - -BEGIN_TEXT -$PAR - -Place the letter of the derivative next to each function listed below: $BR -\{ $ml -> print_q \} -$PAR -\{$ml -> print_a \} -$PAR -END_TEXT - -ANS( str_cmp( $ml->ra_correct_ans ) ) ; -# insist that the first two questions (labeled 0 and 1) are always included -$ml ->choose([0,1],1); -BEGIN_TEXT -Let's print the questions again, but insist that the -first two questions (about sin and cos) always be included. -Here is a second way to format this question, using tables: -$PAR -\{begintable(2)\} -\{row(protect_enumerated_lists( $ml->print_q, $ml -> print_a) )\} -\{endtable()\} -$PAR -And below is yet another way to enter a table of questions and answers: -$PAR -END_TEXT -ANS( str_cmp( $ml->ra_correct_ans ) ) ; -# Finally add a last answer -$ml ->makeLast("The derivative is not provided"); -BEGIN_TEXT - \{ begintable(2) \} - \{ row( protect_enumerated_lists($ml->print_q, $ml ->print_a))\} - \{endtable()\} -END_TEXT -# Enter the correct answers to be checked against the answers to the students. -ANS( str_cmp( $ml->ra_correct_ans ) ) ; - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/multiplechoiceexample.pg b/courses.dist/modelCourse/templates/setMAAtutorial/multiplechoiceexample.pg deleted file mode 100644 index 42d81e42b2..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/multiplechoiceexample.pg +++ /dev/null @@ -1,45 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. -loadMacros("PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", - -); -TEXT($BBOLD, "Multiple choice example", $EBOLD, $BR,$BR); - -$showPartialCorrectAnswers = 0; -# Make a new multiple choice object. -$mc = new_multiple_choice(); -# $mc now "contains" the multiple choice object. - -# Insert some questions and matching answers in the q/a list -$mc -> qa (# Notice that the first string is the question - "What is the derivative of tan(x)?", - # The second string is the correct answer - "\( \sec^2(x) \)", -); -$mc ->extra( - "\( -\cot(x) \)", - "\( \tan(x) \)", - # Use double quotes " ... " to enter a string - "\( \cosh(x) \)", - "\( \sin(x) \)", - "\( \cos^3(x) \)", - "\( \text{sech}(x) \)" - # Remember that in these strings we are only specifying typography, - # via TeX, not any calculational rules. -); -# Print the question using $mc->print_q -# Use $mc->print_a to print the list of possible answers. -# These need to be done inside BEGIN_TEXT/END_TEXT to make sure that the -# equations inside the questions and answers are processed properly. - -BEGIN_TEXT - -\{$mc -> print_q \} -$PAR -\{$mc -> print_a\} -END_TEXT -# Enter the correct answers to be checked against the answers to the students. -ANS( str_cmp( $mc->correct_ans ) ) ; - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/ontheflygraphicsexample1.pg b/courses.dist/modelCourse/templates/setMAAtutorial/ontheflygraphicsexample1.pg deleted file mode 100644 index f3423c4e1e..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/ontheflygraphicsexample1.pg +++ /dev/null @@ -1,117 +0,0 @@ -DOCUMENT(); -loadMacros( - "PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", - "PGgraphmacros.pl" -); - -TEXT($BBOLD, "On-the-fly Graphics Example1", $EBOLD, $BR,$BR); -$showPartialCorrectAnswers = 0; - -# First we define a graph with x and y in the range -4 to 4, axes (strong lines) -# defined at the point [0,0] and -# with 8 gridlines horizontally and 8 grid lines veritically. -# $graph is a graph object (or more appropriately, a pointer to a graph object). - -# We will define a function and it's first and second derivatives defined -# on the domain [-4,4] -$dom = 4; -$graph = init_graph(-$dom,-$dom,$dom,$dom,'axes'=>[0,0],'grid'=>[8,8]); - -# Here are the basic colors -- we'll mix them up in the next example -@colors = ("blue", "red", "green"); #orange, yellow, -@scrambled_colors = @colors; -@labels = ('A', 'B', 'C'); -@scrambled_labels = @labels; - -$a=random(0, 6.3, .1); -$b=random(1.1, 1.5, .1); -# now define the functions too be graphed -# defining strings need to be on one line (\n is not handled correctly) -# The three variables $f, $fp, and $fpp contain strings -# with the correct syntax to be inputs into the plot_function -# macro. The FEQ macro (Format EQuation) cleans up the writing of the function. -# Otherwise we would need to worry about the signs of $a, $b and so forth. -# For example if $b were negative, then after interpolation -# $a+$b might look like 3+-5. FEQ replaces the +- pair by -, which is what you want. - -# The first string (for $f) should be read as: "The function is calculated -# using sin($a+$b*cos(x)) -# and is defined for all x in the -# interval -$dom to +$dom. Draw the function using the first color -# in the permuted color list @scrambled_colors -# and using a weight (width) of two pixels." - -$f = FEQ( - "sin($a+$b*cos(x)) for x in <-$dom,$dom> using color:$scrambled_colors[0] and weight:2" -); -$fp = FEQ( - "cos($a+${b}*cos(x))*(-$b)*sin(x) for x in <-$dom,$dom> using color=$scrambled_colors[1] and weight:2" -); -# The multiplication signs are not actually needed, although they are allowed. - $fpp = FEQ("-sin($a+${b}*cos(x))*$b*$b* sin(x)* sin(x)+ cos($a+$b* cos(x))*(-$b)*cos(x) for x in <-$dom,$dom> using color=$scrambled_colors[2] and weight=2" -); - - - -# Install the functions into the graph object. -# Plot_functions converts the string to a subroutine which performs the -# necessary calculations and -# asks the graph object to plot the functions. - -($fRef,$fpRef,$fppRef) = plot_functions( $graph, - $f,$fp,$fpp - ); - -# The output of plot_functions is a list of pointers to functions which -# contain the appropriate data and methods. -# So $fpRef->rule points to the method which will calculate the value -# of the function. -# &{$fpRef->rule}(3) calculates the value of the function at 3. - -# create labels for each function -# The 'left' tag determines the justification of the label to the defining point. - - -$label_point=-0.75; -$label_f = new Label ( $label_point,&{$fRef->rule}($label_point), - $scrambled_labels[0], $scrambled_colors[0],'left'); - # NOTE: $fRef->ruleis a reference to the subroutine which calculates the - # function. It was defined in the output of plot_functions. - # It is used here to calculate the y value of the label corresponding - # to the function, and below to find the y values for the labels - # corresponding to the first and second derivatives. - -$label_fp = new Label ( $label_point,&{$fpRef->rule}($label_point), - $scrambled_labels[1],$scrambled_colors[1],'left'); -# Place the second letter in the permuted letter list at the point -# (-.75, fp(-.75)) using the second color in the permuted color list. - -$label_fpp = new Label ( $label_point,&{$fppRef->rule}($label_point), - $scrambled_labels[2],$scrambled_colors[2],'left'); - -# insert the labels into the graph -$graph->lb($label_f,$label_fp,$label_fpp); - -# make sure that the browser will fetch -# the new picture when it is created by changing the name of the -# graph each time the problem seed is changed. This helps prevent caching problems -# on browsers. - - $graph->gifName($graph->gifName()."-$newProblemSeed"); -# Begin writing the problem. -# This inserts the graph and then asks three questions: - -BEGIN_TEXT -\{ image(insertGraph($graph)) \} $PAR -Identify the graphs A (blue), B( red) and C (green) as the graphs -of a function and its -derivatives (click on the graph to see an enlarged image):$PAR -\{ans_rule(4)\} is the graph of the function $PAR -\{ans_rule(4)\} is the graph of the function's first derivative $PAR -\{ans_rule(4)\} is the graph of the function's second derivative $PAR -END_TEXT -ANS(str_cmp( [@scrambled_labels] ) ); - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/ontheflygraphicsexample2.pg b/courses.dist/modelCourse/templates/setMAAtutorial/ontheflygraphicsexample2.pg deleted file mode 100644 index 16144c5b56..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/ontheflygraphicsexample2.pg +++ /dev/null @@ -1,124 +0,0 @@ -DOCUMENT(); - -loadMacros("PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", - "PGgraphmacros.pl" -); - -TEXT($BBOLD, "On-the-fly Graphics Example2", $EBOLD, $BR,$BR); - -# First we define a graph with x and y in the range -4 to 4, axes (strong lines) -# defined at the point [0,0] and -# with 8 gridlines horizontally and 8 grid lines veritically. -# $graph is a graph object (or more appropriately, a pointer to a graph object). - -# We will define a function and it's first and second derivatives -# defined on the domain [-4,4] - -$dom = 4; -$graph = init_graph(-$dom,-$dom,$dom,$dom,'axes'=>[0,0],'grid'=>[8,8]); - -# We need to scramble the colors and the labels -- otherwise every student -# will have the function is A, the derivative is B, etc. -# and the colors won't be scrambled either. - -#This provides a permutation of the numbers (0,1,2); - -@slice = NchooseK(3,3); - -# Here are the basic colors - -@colors = ("blue", "red", "green"); #orange, yellow, - -# This lists the colors in the order defined by the list in @slice -# It effectively applies the same permutation to the list of colors -# and to the list of labels. A will always be blue, B red, and C green -#and applies the same permutation to the list of labels - -@scrambled_colors = @colors[@slice]; -@labels = ('A', 'B', 'C'); -@scrambled_labels = @labels[@slice]; - -# The rest of this example is the same as ontheflygraphicsexample1 - -# function definitions need to be on one line -$a=random(0, 6.3, .1); -$b=random(1.1, 1.5, .1); - -# The three variables $f, $fp, and $fpp contain strings -# with the correct syntax to be inputs into the plot_function -# macro. The FEQ macro (Format EQuation) cleans up the writing of the function. -# Otherwise we would need to worry about the signs of $a, $b and so forth. -# For example if $b were negative, then after interpolation -# $a+$b might look like 3+-5. FEQ replaces the +- pair by -, which is what you want. - -# The first string (for $f) should be read as: "The function is calculated -# using sin($a+$b*cos(x)) -# and is defined for all x in the -# interval -$dom to +$dom. Draw the function using the first color -# in the permuted color list @scrambled_colors -# and using a weight (width) of two pixels." - -$f = FEQ("sin($a+$b*cos(x)) for x in <-$dom,$dom> using color:$scrambled_colors[0] and weight:2"); -$fp = FEQ("cos($a+${b}*cos(x))*(-$b)*sin(x) for x in <-$dom,$dom> using color=$scrambled_colors[1] and weight:2"); -$fpp = FEQ("-sin($a+${b}*cos(x))*$b*$b* sin(x)* sin(x)+ cos($a+$b* cos(x))*(-$b)*cos(x) for x in <-$dom,$dom> using color=$scrambled_colors[2] and weight=2"); - - -# Install the functions into the graph object. -# Plot_functions converts the string to a subroutine which performs the -# necessary calculations and -# asks the graph object to plot the functions. - -($fRef,$fpRef,$fppRef) = plot_functions( $graph, - $f,$fp,$fpp - ); -# The output of plot_functions is a list of pointers to functions which -# contain the appropriate data and methods. -# So $fpRef->rule points to the method which will calculate the value -# of the function. -# &{$fpRef->rule}(3) calculates the value of the function at 3. - -# create labels for each function -# The 'left' tag determines the justification of the label to the defining point. - - -$label_point=-0.75; -$label_f = new Label ( $label_point,&{$fRef->rule}($label_point), - $scrambled_labels[0],$scrambled_colors[0],'left') ; - # NOTE: $fRef->ruleis a reference to the subroutine which calculates the - # function. It was defined in the output of plot_functions. - # It is used here to calculate the y value of the label corresponding - # to the function, and below to find the y values for the labels - # corresponding to the first and second derivatives. - -$label_fp = new Label ( $label_point,&{$fpRef->rule}($label_point), - $scrambled_labels[1],$scrambled_colors[1],'left') ; -# Place the second letter in the permuted letter list at the point -# (-.75, fp(-.75)) using the second color in the permuted color list. - -$label_fpp = new Label ( $label_point,&{$fppRef->rule}($label_point),$scrambled_labels[2],$scrambled_colors[2],'left'); - -# insert the labels into the graph -$graph->lb($label_f,$label_fp,$label_fpp); - -# make sure that the browser will fetch -# the new picture when it is created by changing the name of the -# graph each time the problem seed is changed. -$graph->gifName($graph->gifName()."-$newProblemSeed"); - -# Begin writing the problem. -# This inserts the graph and then asks three questions: - -BEGIN_TEXT -\{ image(insertGraph($graph),width => 200, height => 200) \} $PAR -Identify the graphs A (blue), B( red) and C (green) as the graphs of a function and its -derivatives (click on the graph to see an enlarged image):$PAR -\{ans_rule(4)\} is the graph of the function $PAR -\{ans_rule(4)\} is the graph of the function's first derivative $PAR -\{ans_rule(4)\} is the graph of the function's second derivative $PAR -END_TEXT - -ANS(str_cmp( [@scrambled_labels] ) ); - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/paperHeader.pg b/courses.dist/modelCourse/templates/setMAAtutorial/paperHeader.pg deleted file mode 100644 index fd1a6af434..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/paperHeader.pg +++ /dev/null @@ -1,20 +0,0 @@ -## Paper set header for setSampleGraders - -DOCUMENT(); - -loadMacros( -"PG.pl", -"PGbasicmacros.pl", -"PGchoicemacros.pl", -"PGanswermacros.pl" -); - - -BEGIN_TEXT -This set shows how to write simple WeBWorK problems and introduces you to the most common -constructions. - -END_TEXT - - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/popuplistexample.pg b/courses.dist/modelCourse/templates/setMAAtutorial/popuplistexample.pg deleted file mode 100644 index b31fc8a5e5..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/popuplistexample.pg +++ /dev/null @@ -1,65 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros("PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", -); - -TEXT($BBOLD, "True False Pop-up Example", $EBOLD, $BR,$BR); -$showPartialCorrectAnswers = 0; - -# Make a new select list -$tf = new_select_list(); -# $tf now "contains" the select list object. - -# change the printing mechanism of the object to -# use pop-up list instead of an answer rule. -$tf->rf_print_q(~~&pop_up_list_print_q); - -# What should the pop-up list contain, and what string should it -# submit for an answer when selected? -# These are specified in the statment below. -# To enter T as an answer choose the list element "True" -# To enter F as an answer choose the list element "False" -# The first choice is a blank to make the students do SOMETHING!!! -$tf -> ra_pop_up_list( [ No_answer => "  ?", T => "True", F => "False"] ); -# Note how the list is constructed [ answer => list element text, answer => list element text ] - -# Insert some questions and their answers. - -$tf -> qa ( # each entry has to end with a comma -"All continuous functions are differentiable.", -"F", -"All differentiable functions are continuous.", -"T", -"All polynomials are differentiable.", -"T", -"All functions with positive derivatives are increasing.", -"T", -"All compact sets are closed", -"T", -"All closed sets are compact", -"F", -"All increasing functions have positive deriviatives", -"F", -"All differentiable strictly increasing functions have non-negative derivatives - at every point", -"T", -); - -# Choose two of the question and answer pairs at random. -$tf ->choose(4); # Using choose(3) would choose all three - # questions, but the order of the questions - # and answers would be scrambled. - -# Now print the text using $ml->print_q for the questions. -BEGIN_TEXT -$PAR -Indicate whether each statement is true or false. $BR -\{ $tf-> print_q \} -$PAR -END_TEXT -# Enter the correct answers to be checked against the answers to the students. -ANS( str_cmp( $tf->ra_correct_ans ) ) ; - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/prob3.pg b/courses.dist/modelCourse/templates/setMAAtutorial/prob3.pg deleted file mode 100644 index 01696bcc78..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/prob3.pg +++ /dev/null @@ -1,154 +0,0 @@ -# -# -#
-# Description
-# The first example using match lists
-# EndDescription
-
-
-DOCUMENT();        # This should be the first executable line in the problem.
-
-loadMacros("PGbasicmacros.pl",
-           "PGchoicemacros.pl",
-           "PGanswermacros.pl",
-           "PGgraphmacros.pl",
-           "PGnumericalmacros.pl"
-           );
-
-# TEXT( ... , ... , )
-# Is the simplest way of printing text, each string in the input is immediately printed.
-# It does not do any of the simplifying and evaluating tricks performed by the BEGIN_TEXT/END_TEXT construction.
-
-# Since this is a matching questions, we do not usually wish to tell students which
-# parts of the matching question have been answered correctly and which are
-# incorrect.  That is too easy.  To accomplish this we set the following flag to zero.
-$showPartialCorrectAnswers = 0;
-
-
-#####################################################################
-# This section allows you to manipulate the problem seed while working on the problem
-# thus seeing different versions of the problem. Skip the details of how this works
-# for now.
-
-# allow the student to change the seed for this problem.
-$newProblemSeed = ( defined( ${$inputs_ref}{'newProblemSeed'} ) )?  ${$inputs_ref}{'newProblemSeed'} : $problemSeed;
-$PG_random_generator->srand($newProblemSeed);
-
-BEGIN_TEXT     
-
-To see a different version of the problem change
-the problem seed and press the 'Submit Answer' button below.$PAR Problem Seed:
-\{  M3(
-qq! Change the problem seed to change the problem:$problemSeed!,
-qq! Change the problem seed to change the problem:
-    \begin{rawhtml}
-    
-    \end{rawhtml}!,
-qq! !
-)
-\}
-
-$HR  
-END_TEXT
-#####################################################################
-
-
-# Make a new match list
-$ml = new_match_list();
-
-# $ml now "contains" the match list object.  (Actually $ml is a scalar variable which contains a pointer to 
-# the match list object, but you can think of the match list object as being shoe horned into the variable $ml.
-# You need to remember that $ml contains (a pointer to) an object, and not ordinary data such as a number or string.
-
-# Some people use the convention $o_ml to remind them that the variable contains an object, but for short problems
-# that is probably not necessary.
-
-# An object contains both data (in this case the list of questions and answers) and subroutines (called methods)
-# for manipulating that data.
-
-
-# Insert some  questions and matching answers in the q/a list by calling on the objects qa method.
-# using the construction $ml ->qa(..list of alternating questions and matching answers ...).
-# Think of this as asking the object $ml to store the  matching questions 
-# and answers given in the argument to the method qa.
-
-$ml -> qa (
-"\( \sin(x) \)",        # Notice the use of the LateX construction for math mode: \\( ...  \\)
-"\( \cos(x) \)",		# and the use of TeX symbols such as \\sin and \\tan
-"\( \cos(x) \)",        # Use " ... " to enter a string
-"\( -\sin(x) \)",
-"\( \tan(x) \)",
-"\( \sec^2(x) \)"       # Remember that in these strings we are only specifying typography, 
- 						# via TeX, not any calculational rules.
-);
-
-#
-# Calculate coefficients for another question
-$b=random(2,5);
-$exp= random(2,5);
-$coeff=$b*$exp;
-$new_exp = $exp-1;
-
-# Store the question and answers in the match list object. 
-$ml -> qa (
-"\( ${b}x^$exp \)",
-"\( ${coeff}x^{$new_exp} \)",
-);
-
-# Add another example
-$b2=random(2,5);
-$exp2= random(2,5);
-$coeff2=$b2*$exp;
-$new_exp2 = $exp-1;
-$ml -> qa (
-"\( ${b2}x^$exp2 \)",
-"\( ${coeff2}x^{$new_exp2} \)",
-);
-
-
-# Choose two of the question and answer pairs at random.
-$ml ->choose(2);  # Using choose(3) would choose all three questions, but the order of the questions and answers would be 
-                  # scrambled.
-
-
-# Now print the text using $ml->print_q for the questions and $ml->print_a to print the answers.
-
-BEGIN_TEXT
-$PAR
-
-Match the functions and their derivatives: $BR
-
-\{ $ml -> print_q \}
-
-$PAR
-
-\{$ml -> print_a \}
-END_TEXT
-
-# Enter the correct answers to be checked against the answers to the students.
-
-ANS( str_cmp( $ml->ra_correct_ans )   ) ;
-
-# That's it.
-
-#########################################################  
-
-BEGIN_TEXT
-
- -You can view the -\{ htmlLink(alias("${htmlDirectory}/links/set$setNumber/prob3.html"),"source", q!TARGET="source"!)\} -for this problem. -END_TEXT - -TEXT( -"$PAR Return to ", htmlLink($$inputs_ref{returnPage},$$inputs_ref{returnPage}), -) if exists($$inputs_ref{returnPage}); -######################################################### - - - -ENDDOCUMENT(); # This should be the last executable line in the problem. -#
-# -# diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/prob4.pg b/courses.dist/modelCourse/templates/setMAAtutorial/prob4.pg deleted file mode 100644 index 084d6af438..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/prob4.pg +++ /dev/null @@ -1,94 +0,0 @@ -#
-#Description
-# Testing knowledge of differentiation rules
-#EndDescription
-
-DOCUMENT();        # This should be the first executable line in the problem.
-
-loadMacros("PGbasicmacros.pl",
-           "PGchoicemacros.pl",
-           "PGanswermacros.pl",
-           "PGgraphmacros.pl",
-           "PGnumericalmacros.pl"
-           );
- 
-$showPartialCorrectAnswers = 0;
-
-
-
-# allow the student to change the seed for this problem.
-$newProblemSeed = ( defined( ${$inputs_ref}{'newProblemSeed'} ) )?  ${$inputs_ref}{'newProblemSeed'} : $problemSeed;
-$PG_random_generator->srand($newProblemSeed);
-BEGIN_TEXT
-
-To see a different version of the problem change
-the problem seed and press the 'Submit Answer' button below.$PAR Problem Seed:
-\{  M3(
-qq! Change the problem seed to change the problem:$problemSeed!,
-qq! Change the problem seed to change the problem:
-    \begin{rawhtml}
-    
-    \end{rawhtml}!,
-qq! !
-)
-\}
-
-$HR  
-END_TEXT
-
-########################################################################
-# Make a new select list
-$ml = new_select_list();
-#$ml -> rf_print_q(~~&my_print_q);
-# New versions using the macros in PGchoicemacros.pl
-$ml->rf_print_q(~~&pop_up_list_print_q);
-$ml -> ra_pop_up_list([ No_answer => "  ?",SR => "Sum Rule",PR => "Product Rule",CR => "Chain rule",QR => "Quotient rule" ] );
-
-
-$ml -> qa (
-"\( (f(x) + g(x) )' = f'(x) + g'(x) \)",
-"SR",
-"\( ( f(x)g(x) )' = f'(x)g(x) + f(x)g'(x) \)",
-"PR",
-"\( ( f(g(x)) )' = f'(g(x))g'(x) \) ",
-"CR",
-"\( \frac{d}{dx} \sin(\cos(x)) = - \cos(\cos(x))\sin(x) \)",
-"CR",
-"\( (f(x) - g(x) )' = f'(x) - g'(x) \)",
-"SR",
-);
-
-$ml ->choose(5);
-
-#coda
-
-
-
-
-BEGIN_TEXT
- $PAR
-
-For each example below, list the label of the  differentiation rule used in that example: $BR
-
-\{ $ml -> print_q \}
-
-$PAR
-You can view the 
-\{ htmlLink(alias("${htmlDirectory}links/setDerivativeRules/prob2.html"), "source",q!TARGET="source"!) \}
-for this problem.
-or consult the 
-\{ htmlLink("/webwork_system_html/docs/techdescription/pglanguage/index.html","documentation") \}  for  more details on the PG language.
-
-END_TEXT
-
-install_problem_grader(~~&std_problem_grader);
-
-ANS( str_cmp( $ml->ra_correct_ans )   ) ;
-
-BEGIN_TEXT
-$PAR
-There are only a few examples in this problem.  A production verison
-would need more examples to choose from.
-END_TEXT
-ENDDOCUMENT();        # This should be the last executable line in the problem.
-#
diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/screenHeader.pg b/courses.dist/modelCourse/templates/setMAAtutorial/screenHeader.pg deleted file mode 100644 index bb7de4e6a7..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/screenHeader.pg +++ /dev/null @@ -1,21 +0,0 @@ -DOCUMENT(); -loadMacros("PG.pl", - "PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl" - ); - - -$usd = '$'; -BEGIN_TEXT - -This set shows how to write simple WeBWorK problems and introduces you to the most common -constructions. - - - -END_TEXT -TEXT("Return to ", htmlLink('http://cartan.math.rochester.edu/WeBWorKdiscussion/discuss/msgReader$14', -"discussion page"), "for more information or to make comments."); -ENDDOCUMENT(); - diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/simple_drawing.pg b/courses.dist/modelCourse/templates/setMAAtutorial/simple_drawing.pg deleted file mode 100644 index f4d86c4e7a..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/simple_drawing.pg +++ /dev/null @@ -1,40 +0,0 @@ -##DESCRIPTION -## A very simple drawing problem -##ENDDESCRIPTION - -##KEYWORDS('algebra') - -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( -"PG.pl", -"PGbasicmacros.pl", -"PGchoicemacros.pl", -"PGanswermacros.pl", -"PGgraphmacros.pl", -"PGauxiliaryFunctions.pl" -); - - -$graph = init_graph(-5,-5,5,5,ticks=>[4,4],axes=>[0,0],pixels=>[400,400]); - -$graph->moveTo(-2,1); -$graph->lineTo(2,2,'blue'); -$graph->lineTo(-1,2,'red'); -$graph->lineTo(-2,1,'green'); -$graph->fillRegion([0,1.7,'yellow']); -BEGIN_TEXT -\{image(insertGraph($graph),width=>400,height=>400)\} - - -END_TEXT - -# At the moment there is no easy way to change the weight of the lines being drawn. To do so one would want -# to incorporate some of the code in Fun.pm into WWPlot.pm itself. The code involves gdBrushed. -# Since GD has -# gone through many revisions since the WWPlot.pm code was written it may now be possible to write some of -# this code more efficiently. - - - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/simplemultiplechoiceexample.pg b/courses.dist/modelCourse/templates/setMAAtutorial/simplemultiplechoiceexample.pg deleted file mode 100644 index 2f4650ec46..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/simplemultiplechoiceexample.pg +++ /dev/null @@ -1,33 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. -loadMacros( - "PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", -); -TEXT($BBOLD, "Multiple choice example", $EBOLD, $BR,$BR); - - -$showPartialCorrectAnswers = 0; -$question = "What is the derivative of tan(x)?"; -# An example of a list or array variable. It begins with @. -@answer_list = ( "\( \sec^2(x) \)", # correct - "\( -\cot(x) \)", - "\( \tan(x) \)", - "\( \cosh(x) \)", - "\( \sin(x) \)", -); -# These commands permute the order of the answers. -#@permutation = NchooseK(5,5); # random permutation of the five answers -@permutation = (1,0,2,3,4); # example of fixed permutation -@permuted_answer_list = @answer_list[@permutation]; -@inverted_alphabet = @ALPHABET[invert( @permutation )]; # needed to check the answers - -# Use the macro OL to print an Ordered List of the answerslabeled with letters. -BEGIN_TEXT -$BR $question -$PAR \{ OL( @permuted_answer_list ) \} -$PAR Enter the letter corresponding to the correct answer: \{ ans_rule(10) \} -END_TEXT -ANS( str_cmp( $inverted_alphabet[0] ) ) ; - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/standardexample.pg b/courses.dist/modelCourse/templates/setMAAtutorial/standardexample.pg deleted file mode 100644 index 15540480c2..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/standardexample.pg +++ /dev/null @@ -1,46 +0,0 @@ -DOCUMENT(); -loadMacros("PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", - "PGauxiliaryFunctions.pl" -); - -TEXT($BBOLD, "Standard Example", $EBOLD, $BR,$BR); - -# A question requiring a string answer. -$str = 'world'; -#$str = "Dolly"; -BEGIN_TEXT -Complete the sentence: $BR -\{ ans_rule(20) \} $str; -$PAR -END_TEXT - -ANS( str_cmp( "Hello") ); - -# A question requiring a numerical answer. -#define the variables -$a = 3; -$b = 5; -#$a=random(1,9,1); -#$b=random(2,9,1); - -BEGIN_TEXT -Enter the sum of these two numbers: $BR - \($a + $b = \) \{ans_rule(10) \} -$PAR -END_TEXT - -$sum = $a + $b; -ANS( num_cmp( $sum ) ); - -# A question requiring an expression as an answwer -BEGIN_TEXT -Enter the derivative of \[ f(x) = x^{$b} \] $BR -\(f '(x) = \) \{ ans_rule(30) \} -$PAR -END_TEXT -$new_exponent = $b-1; -$ans2 = "$b*x^($new_exponent)"; -ANS( fun_cmp( $ans2 ) ); -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-24438.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-24438.gif deleted file mode 100644 index df1f85cbd2..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-24438.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-24438.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-24438.png deleted file mode 100644 index 580193f1ec..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-24438.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-31126.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-31126.gif deleted file mode 100644 index b0ad26bb6e..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-31126.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-31126.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-31126.png deleted file mode 100644 index 4a6286ab5c..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-31126.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-34859.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-34859.gif deleted file mode 100644 index 702784afdd..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-34859.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-34859.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-34859.png deleted file mode 100644 index 664c466d85..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-34859.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-42639.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-42639.gif deleted file mode 100644 index dfebffd690..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-42639.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-42639.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-42639.png deleted file mode 100644 index 1180e668cf..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-42639.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-76239.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-76239.gif deleted file mode 100644 index 741fdd8452..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-76239.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-76239.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-76239.png deleted file mode 100644 index ad13276793..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-76239.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-89540.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-89540.gif deleted file mode 100644 index aa9a75d45a..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-89540.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-89540.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-89540.png deleted file mode 100644 index 5ee4d64c9d..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-89540.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-91734.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-91734.gif deleted file mode 100644 index cd5aae4ebd..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-91734.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-91734.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-91734.png deleted file mode 100644 index 82a533be4b..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-91734.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-96355.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-96355.gif deleted file mode 100644 index 23ac97828b..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-96355.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-96355.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-96355.png deleted file mode 100644 index 53203cf0e7..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1-96355.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1.gif deleted file mode 100644 index 073055392b..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1.png deleted file mode 100644 index f8df18ec73..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/1.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-42653.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-42653.gif deleted file mode 100644 index 709cd644e2..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-42653.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-42653.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-42653.png deleted file mode 100644 index 11a642e8e2..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-42653.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-49261.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-49261.gif deleted file mode 100644 index 3767c0de47..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-49261.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-49261.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-49261.png deleted file mode 100644 index 273247474d..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-49261.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-54427.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-54427.gif deleted file mode 100644 index 11c71d8010..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-54427.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-54427.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-54427.png deleted file mode 100644 index 538e6f5a62..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-54427.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-62384.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-62384.gif deleted file mode 100644 index 538e6f5a62..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-62384.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-62384.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-62384.png deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-64591.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-64591.gif deleted file mode 100644 index 4bd408e32f..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-64591.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-64591.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-64591.png deleted file mode 100644 index 9d3cfa05c1..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-64591.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-68458.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-68458.png deleted file mode 100644 index 4f821ea915..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-68458.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-68458.pnm b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-68458.pnm deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-70190.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-70190.gif deleted file mode 100644 index 3e646a41ac..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-70190.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-70190.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-70190.png deleted file mode 100644 index cc82c39ef1..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-70190.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-81779.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-81779.gif deleted file mode 100644 index 944f3efcf6..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-81779.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-81779.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-81779.png deleted file mode 100644 index b72c870a2b..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-81779.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-92879.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-92879.gif deleted file mode 100644 index 11506db3bc..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-92879.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-92879.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-92879.png deleted file mode 100644 index febe0715b8..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2-92879.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2.gif deleted file mode 100644 index b85a6d3ad3..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2.png deleted file mode 100644 index 0a68a46210..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/2.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-14197.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-14197.gif deleted file mode 100644 index c28c1b68ee..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-14197.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-14197.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-14197.png deleted file mode 100644 index 65fb892896..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-14197.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-14538.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-14538.gif deleted file mode 100644 index c57d2fbe84..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-14538.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-14538.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-14538.png deleted file mode 100644 index 99e6748686..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-14538.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-37616.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-37616.gif deleted file mode 100644 index a9c2db85c3..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-37616.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-37616.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-37616.png deleted file mode 100644 index 212e96cfe2..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-37616.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-46739.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-46739.gif deleted file mode 100644 index 4244a8ca61..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-46739.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-46739.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-46739.png deleted file mode 100644 index 43d18b86ec..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-46739.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-52898.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-52898.gif deleted file mode 100644 index afe8cd9d75..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-52898.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-52898.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-52898.png deleted file mode 100644 index 93a35d4e35..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-52898.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-68458.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-68458.gif deleted file mode 100644 index 8690563535..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-68458.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-68458.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-68458.png deleted file mode 100644 index 4f821ea915..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-68458.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-89262.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-89262.gif deleted file mode 100644 index 5c954beec1..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-89262.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-89262.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-89262.png deleted file mode 100644 index 37c3e8418e..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-89262.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-99389.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-99389.gif deleted file mode 100644 index f948cc3e83..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-99389.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-99389.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-99389.png deleted file mode 100644 index 51f7c7e1b3..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3-99389.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3.gif b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3.gif deleted file mode 100644 index 5f8f80e7d8..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3.png b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3.png deleted file mode 100644 index c16fb935e9..0000000000 Binary files a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/3.png and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/staticgraphicsexample.pg b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/staticgraphicsexample.pg deleted file mode 100644 index 02ed678ce5..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/staticgraphicsexample.pg +++ /dev/null @@ -1,113 +0,0 @@ -DOCUMENT(); -loadMacros("PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl" -); -TEXT($BBOLD, "Static graphics Example", $EBOLD, $BR,$BR); - -$showPartialCorrectAnswers = 0; -# Define which of the three sets of pictures to use - -# The pictures are labeled 1.png, 2.png and 3.png and -# stored in the same directory as staticgraphicsexample.png -# These are the corresponding transformed pictures. -# Be careful with the labeling, since the URL's could give the -# correct answers away. -# (In this example the middle integer tells you -# the correct position.) - -$pictID[1] = [ -"1-31126.png", # "\( F(x+3)\)", -"1-76239.png", # "\(F(x-3) \)" , -"1-96355.png", # "\( -F(-x)\)", -"1-24438.png", # "\( F(-x) \)", -"1-89540.png", # "\( 5F(x) \)", -"1-42639.png", # "\( F(3x) \)" , -"1-91734.png", # "\( F(x/3) \)", -"1-34859.png", # "\( F(x^2) \)", -]; -$pictID[2] = [ -"2-70190.png", # ditto -"2-49261.png", -"2-62384.png", -"2-54427.png", -"2-64591.png", -"2-42653.png", -"2-81779.png", -"2-92879.png", -]; -$pictID[3] = [ -"3-14197.png", -"3-89262.png", -"3-99389.png", -"3-68458.png", -"3-14538.png", -"3-37616.png", -"3-46739.png", -"3-52898.png", -]; -$ml = new_match_list(); - -$pictSet=random(1,3,1); # Choose one of the three picture sets -$pictSet=1; -$pictSetname = $pictSet.".png"; -$ml->qa ( -"\( F(x+3)\) ", -image($pictID[$pictSet][0],tex_size=>200), -"\(F(x-3) \)" , -image($pictID[$pictSet][1],tex_size=>200), -"\( -F(-x)\) ", -image($pictID[$pictSet][2],tex_size=>200), -"\( F(-x) \)", -image($pictID[$pictSet][3],tex_size=>200), -"\( 5F(x) \)", -image($pictID[$pictSet][4],tex_size=>200), -"\( F(3x) \)" , -image($pictID[$pictSet][5],tex_size=>200), -"\( F(x/3) \)", -image($pictID[$pictSet][6],tex_size=>200), -"\( F(x^2) \)", -image($pictID[$pictSet][7],tex_size=>200), -); - -$ml->choose(4); -sub format_graphs { - my $self = shift; - my @in = @_; - my $out = ""; - while(@in) { - $out .= shift(@in). "#" ; - } - $out; # The output has to be a string in order to conform to the - # specs for the match list object, but I've put some - # markers in (#) so that - # I can break the string up into a list for use - # as an input into row. -} - -# We need to change the output, since the normal -# output routine will put the pictures one above another. -$ml->rf_print_a(~~&format_graphs); - -BEGIN_TEXT -This is a graph of the function \( F(x) \): -($BBOLD Click on image for a larger view $EBOLD) -$PAR -\{ image($pictSetname, tex_size => 200) \} -$PAR -Enter the letter of the graph below which corresponds to the transformation -of the function. -\{ $ml -> print_q \} -END_TEXT - -# Place the output into a table -TEXT( - begintable(4), - row( split("#",$ml->print_a() ) ), - row('A', 'B', 'C', 'D' ), - endtable(), -); - -ANS( str_cmp( $ml ->ra_correct_ans() ) ) ; - -ENDDOCUMENT(); diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/tmp b/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/tmp deleted file mode 100644 index 3090a9405f..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/staticgraphicsexample/tmp +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/csh - -cat $1 | giftopnm | pnmtopng >$2 diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/truefalseexample.pg b/courses.dist/modelCourse/templates/setMAAtutorial/truefalseexample.pg deleted file mode 100644 index 42f6abe70b..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/truefalseexample.pg +++ /dev/null @@ -1,63 +0,0 @@ -DOCUMENT(); -loadMacros("PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", - -); -TEXT($BBOLD, "True False Example", $EBOLD, $BR,$BR); - -# Since this is a true questions, we do not usually wish to tell students which -# parts of the matching question have been answered correctly and which are -# incorrect. That is too easy. To accomplish this we set the following flag to -# zero. -$showPartialCorrectAnswers = 0; - -# True false questions are a special case of a "select list" -# Make a new select list -$tf = new_select_list(); -# $tf now "contains" the select list object. -# Insert some questions and whether or not they are true. - -$tf -> qa ( # each entry has to end with a comma -"All continuous functions are differentiable.", -"F", -"All differentiable functions are continuous.", -"T", -"All polynomials are differentiable.", -"T", -"All functions with positive derivatives are increasing.", -"T", -"All compact sets are closed", -"T", -"All closed sets are compact", -"F", -"All increasing functions have positive deriviatives", -"F", -"All differentiable strictly increasing functions have non-negative derivatives - at every point", -"T", -); - -# Choose four of the question and answer pairs at random. -$tf ->choose(4); - -# Now print the text using $ml->print_q for the questions -# and $ml->print_a to print the answers. - -BEGIN_TEXT -$PAR - -Enter T or F depending on whether the statement is true or false. -(You must enter T or F -- True and False will not work.)$BR - -\{ $tf-> print_q \} - -$PAR - -END_TEXT - -# Enter the correct answers to be checked against the answers to the students. - -ANS( str_cmp( $tf->ra_correct_ans ) ) ; - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setMAAtutorial/vectorfieldexample.pg b/courses.dist/modelCourse/templates/setMAAtutorial/vectorfieldexample.pg deleted file mode 100644 index 309c092ced..0000000000 --- a/courses.dist/modelCourse/templates/setMAAtutorial/vectorfieldexample.pg +++ /dev/null @@ -1,90 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros("PG.pl", - "PGbasicmacros.pl", - "PGchoicemacros.pl", - "PGanswermacros.pl", - "PGgraphmacros.pl", -); - -# Since this is a true questions, we do not usually wish to tell students which -# parts of the matching question have been answered correctly and which are -# incorrect. That is too easy. To accomplish this we set the following flag to zero. -$showPartialCorrectAnswers = 0; - - -# Make a new select list - -$tf = new_match_list(); - -$numberOfQuestions = 4; -$tf -> qa ( -"\(y'= 2y + x^2e^{2x} \)", -sub{my ($x,$y) = @_; 2*$y+($x**2)*exp(2*$x); }, -"\( y'= -2 + x - y \)", -sub{my ($x,$y) = @_; -2 + $x - $y;}, -"\(y'= e^{-x} + 2y\)", -sub{my ($x,$y) = @_; exp(-$x) + 2*$y;}, -"\(y'= 2\sin(x) + 1 + y\)", -sub{my ($x,$y) = @_; 2*sin($x) + 1 + $y;}, -"\(y'= -\frac{2x+y)}{(2y)} \)", -sub{my ($x,$y) = @_; ($y==0)? -2*$x/0.001 : -(2*$x+$y)/(2*$y);}, -"\(y'= y + 2\)", -sub{my ($x,$y) = @_; $y + 2 ;}, -); - -$tf ->choose($numberOfQuestions); -BEGIN_TEXT - -Match the following equations with their direction field. -Clicking on each picture will give you an -enlarged view. While you can probably solve this problem by guessing, -it is useful to try to predict characteristics of the direction field -and then match them to the picture. -$PAR -Here are some handy characteristics to start with -- -you will develop more as you practice. -$PAR - -\{OL( - "Set y equal to zero and look at how the derivative behaves along the x axis.", - "Do the same for the y axis by setting x equal to 0", - "Consider the curve in the plane defined by setting y'=0 - -- this should correspond to the points in the picture where the - slope is zero.", - "Setting y' equal to a constant other than zero gives the curve of points - where the slope is that - constant. These are called isoclines, and can be used to construct the - direction field picture by hand." -)\} - - - \{ $tf->print_q \} - -END_TEXT -$dx_rule = sub{my ($x,$y) = @_; 1; }; -$dy_rule = sub{my ($x,$y) = @_; $y; }; -# prepare graphs: -@dy_rules = @{ $tf->{selected_a} }; - -for my $i (0..$numberOfQuestions-1) { - $graph[$i] = init_graph(-4,-4,4,4,'axes'=>[0,0],'grid'=>[8,8]); - $vectorfield[$i] = new VectorField($dx_rule, $dy_rules[$i], $graph[$i]); - $vectorfield[$i]->dot_radius(2); - $graphURL[$i] = insertGraph($graph[$i]); -} -#### -BEGIN_TEXT -$PAR - \{ imageRow( [@graphURL[0..$numberOfQuestions/2-1]], - [@ALPHABET[0..$numberOfQuestions/2-1]], height => 200, - width => 200,tex_size=>300 ) \} - \{ imageRow( [@graphURL[$numberOfQuestions/2..$numberOfQuestions-1]], - [@ALPHABET[$numberOfQuestions/2..$numberOfQuestions-1]], - height => 200, width => 200,tex_size=>300 ) \} - -END_TEXT - -ANS( str_cmp( $tf->ra_correct_ans ) ) ; - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation.def b/courses.dist/modelCourse/templates/setOrientation.def deleted file mode 100644 index 50970d0cb5..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation.def +++ /dev/null @@ -1,149 +0,0 @@ -assignmentType = default -openDate = 06/26/2004 at 11:30am EDT -reducedScoringDate = 04/04/2015 at 12:20pm EDT -dueDate = 04/04/2015 at 12:20pm EDT -answerDate = 04/05/2015 at 12:00pm EDT -enableReducedScoring = N -paperHeaderFile = setOrientation/setHeader.pg -screenHeaderFile = setOrientation/setHeader.pg -description = -restrictProbProgression = 0 -emailInstructor = 0 - -problemListV2 -problem_start -problem_id = 1 -source_file = setOrientation/prob01.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 2 -source_file = setOrientation/prob02.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 3 -source_file = setOrientation/prob03.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 4 -source_file = setOrientation/prob04.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 5 -source_file = setOrientation/prob05/prob05.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 6 -source_file = setOrientation/prob06.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 7 -source_file = setOrientation/prob07.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 8 -source_file = setOrientation/prob08.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 9 -source_file = setOrientation/prob09.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 10 -source_file = setOrientation/prob10.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 11 -source_file = setOrientation/prob11.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 12 -source_file = setOrientation/prob12.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 13 -source_file = setOrientation/prob13.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 14 -source_file = setOrientation/prob14/prob14.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end -problem_start -problem_id = 15 -source_file = setOrientation/prob15.pg -value = 1 -max_attempts = -1 -showMeAnother = -1 -counts_parent_grade = 0 -att_to_open_children = 1 -problem_end - diff --git a/courses.dist/modelCourse/templates/setOrientation/course_info.txt b/courses.dist/modelCourse/templates/setOrientation/course_info.txt deleted file mode 100644 index 596e8af756..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/course_info.txt +++ /dev/null @@ -1,21 +0,0 @@ -You have logged into WeBWorK! - -

- -If you haven't already done so, you should change your password to -something other than your student ID or whatever your instructor -used as your initial password. To do this, click on the -Account Settings link in the sidebar navigation at the far left, -and follow the directions on that page. Note you can collapse and -uncollapse the sidebar navigation by clicking on the three bars "hamburger" -icon at the top left. So if you don't see the sidebar navigation, click -on the three bars to make it reappear. - -

- -Once you have changed your password, click on the "Orientation" link -in the white area at the left. This will take you to the the first -homework assignment, which will help you to learn how to use WeBWorK -effectively. - - diff --git a/courses.dist/modelCourse/templates/setOrientation/login_info.txt b/courses.dist/modelCourse/templates/setOrientation/login_info.txt deleted file mode 100644 index 3ff81bcd37..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/login_info.txt +++ /dev/null @@ -1,20 +0,0 @@ -Welcome to WeBWorK! - -

- -Your username is the same as the one used for your Union College -email, and your initial password is your Union College Student ID -number (you will change that after you log in). - -

- -Log in and follow the instructions that will appear in this panel once -you have done so. For the first assignment, do not log in as a -guest user or using a friend's account. If you do, you will not -receive credit for doing the asignment! - -

- -On future assignments, you can use the guest accounts to get -additional practice problems that are similar to the ones in your -homework set, but with different numbers. diff --git a/courses.dist/modelCourse/templates/setOrientation/options_info.txt b/courses.dist/modelCourse/templates/setOrientation/options_info.txt deleted file mode 100644 index c13dfdd9df..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/options_info.txt +++ /dev/null @@ -1,31 +0,0 @@ -Change Your Password - -

- -If you haven't already changed your password, you should do so now. -To do this, type your OLD password in the top box at the left and -your NEW password in the two lower boxes at the left, -then press the "Change Account Settings" button. - -

- -Your password should be at least 6 characters long, and should include -something other than just letters. Don't make it something that is -easily guessed, and don't make it the same as the password for your -email account! - -

- -If you prefer to receive your email at a location other than your -Union College account, you should change your email address in the box -at the left. Be aware, however, that your professor (and others on -the Union campus) may still send mail to your Union College address, -so you should check that account regularly anyway. Note that you can -have your Union college email forwarded to another address -automatically if you wish. - -

- -Finally, when you have made the changes that you want to make, select -the "Assignments" link at the top of the red panel at the far left -to get back to the list of homework sets. diff --git a/courses.dist/modelCourse/templates/setOrientation/parserOrientation.pl b/courses.dist/modelCourse/templates/setOrientation/parserOrientation.pl deleted file mode 100644 index 1530e2ea32..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/parserOrientation.pl +++ /dev/null @@ -1,235 +0,0 @@ -#!/usr/local/bin/perl - -###################################################################### -# -# Macros used by the orientation problem set -# -###################################################################### - -#loadMacros("PGcourse.pl"); - -# -# Special use of CARET to have it work in non-math mode -# -$CARET = MODES( - TeX => '\hbox{\texttt{\char94}}', - Latex2HTML => '^', - HTML => '^' -); - -# -# Functions to display student input and computer output -# (written as functions so that we change the style without -# recoding the problems themselves). -# -sub student { - my $message = shift; - MODES( - TeX => '\leavevmode\hbox{\texttt{' . $message . '}}', - Latex2HTML => $bHTML . '' . $eHTML . $message . $bHTML . '' . $eHTML, - HTML => '' . $message . '' - ); -} - -sub computer { - my $message = shift; - MODES( - TeX => '\hbox{\texttt{' . $message . '}}', - Latex2HTML => $bHTML . '' . $eHTML . $message . $bHTML . '' . $eHTML, - HTML => '' . $message . '' - ); -} - -# -# This prints things we need to fill in yet in red -# -sub moreWork { - my $message = shift; - MODES( - TeX => '{\sl ' . $message . '}', - Latex2HTML => $bHTML . '' . $eHTML . $message . $bHTML . '' . $eHTML, - HTML => '' . $message . '' - ); -} - -# -# Temporary macros to mark comments in areas that we are -# working on. -# -$BCOMMENT = MODES( - TeX => '{\footnotesize\it', - Latex2HTML => $bHTML . '

' . $eHTML, - HTML => '
' -); - -$ECOMMENT = MODES( - TeX => '}', - Latex2HTML => $bHTML . '
' . $eHTML, - HTML => '
' -); - -# $BCOMMENT = MODES( -# TeX => '\iffalse', -# Latex2HTML => $bHTML.''.$eHTML, -# HTML => ' -->' -# ); - -# -# Hack to get better spacing in HTML_tth math mode but without -# messing up the spacing in other modes. -# -$SP = MODES( - TeX => ' ', - Latex2HTML => ' ', - HTML => ' ', - HTML_tth => '\ ', - HTML_jsMath => ' ', - HTML_dpng => ' ', -); - -# -# Special table macros for questions that have -# displayed math expressions equal to an answer rule, -# with an accompanying explanation on a separate line. -# - -sub BeginExamples { - return "" if ($displayMode eq "TeX"); - BeginTable(@_); -} - -sub EndExamples { - return "" if ($displayMode eq "TeX"); - EndTable(); -} - -@ExampleDefaults = (ans_rule_len => 40, ans_rule_height => 1); - -sub BeginExample { - my $math = shift; - my $ans = shift; - my %options = (@ExampleDefaults, @_); - my ($cols, $rows) = ($options{ans_rule_len}, $options{ans_rule_height}); - my $rule; - - if ($rows == 1) { $rule = ans_rule($cols) } - else { $rule = ans_box($rows, $cols) } - ANS($ans); - - # - # HTML_tth puts an unwanted
at the beginning, - # and uses a centered table. Remove the
and - # align the table to the right. - # - if ($displayMode eq "HTML_tth") { - $math = trimString(EV2('\[' . $math . '\]')); - $math =~ s!
!!; - $math =~ s!table align="center"!table align="right"!; - } elsif ($displayMode eq "HTML") { - $math = '\(' . $math . '\)'; - } elsif ($displayMode =~ m/^HTML/) { - $math = '\(\displaystyle ' . $math . '\)'; - } - - MODES( - TeX => "\n" . '\[' . $math . '=\hbox to 8em{' . $rule . '}\]', - Latex2HTML => $bHTML - . '' - . $eHTML - . '\(\displaystyle ' - . $math . '\)' - . $bHTML - . ' =  ' . '' - . $eHTML - . $rule - . $bHTML - . '' - . '' - . $eHTML, - HTML => '' - . $math - . ' =  ' . '' - . $rule - . '' - ); -} - -sub EndExample { - MODES( - TeX => "\n", - Latex2HTML => $bHTML . '

' . $eHTML, - HTML => '

' - ); -} - -sub ExampleRule { - MODES( - TeX => '\par', - Latex2HTML => $bHTML . '
' . $eHTML, - HTML => '
' - ); -} - -# -# Produce a TeX version and an answer checker for the formula -# -sub DisplayQA { my $f = shift; return (DMATH($f->TeX), $f->cmp) } -sub QA { my $f = shift; return ($f->TeX, $f->cmp) } - -################################################## -# -# Insert an image of an equation (but use the equation -# in TeX mode). -# - -sub MathIMG { - my ($img, $text, $tex) = @_; - my $useTeX = MODES(TeX => 1, Latex2HTML => 0, HTML => 0, HTML_tth => 0, HTML_dpng => 1); - return '\(' . $tex . '\)' if $useTeX; - $img = alias($img); - return qq{$text}; -} - -################################################## -# -# A simple grader that always returns a score of 1. -# This is used in the tutorial to give students -# credit for reading a problem (even if it doesn't -# ask any questions). -# -sub forgiving_grader { - my $rh_evaluated_answers = shift; - my $rh_problem_state = shift; - my %form_options = @_; - my %evaluated_answers = %{$rh_evaluated_answers}; - my %problem_state = %{$rh_problem_state}; - - my %problem_result = ( - score => 1, # always return 1 - errors => '', - type => 'forgiving_grader', - msg => '', - ); - - return (\%problem_result, \%problem_state) - if (!$form_options{answers_submitted}); - - $problem_state{recorded_score} = $problem_result{score}; - $problem_state{num_of_correct_ans}++; - - (\%problem_result, \%problem_state); -} - -################################################## -# -# Syntactic sugar to avoid ugly ~~& construct in PG. -# -sub install_forgiving_grader { install_problem_grader(\&forgiving_grader) } - -1; diff --git a/courses.dist/modelCourse/templates/setOrientation/prob01.pg b/courses.dist/modelCourse/templates/setOrientation/prob01.pg deleted file mode 100644 index f86f4bcff4..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob01.pg +++ /dev/null @@ -1,69 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "PGunion.pl", - "parserOrientation.pl", - "PGcourse.pl", -); - - -Title("Understanding $WW Problem Pages"); - -############################################## -BEGIN_TEXT - -The $WW screen is divided into several areas, each used for a -different purpose. You will need to understand these -in order to use $WW effectively. -$PAR - -At the upper left are the navigation buttons that allow you to move -from problem to problem. The ${LQ}Next$RQ and ${LQ}Previous$RQ -buttons, naturally, send you to the next and previous problems. The -${LQ}Problem List$RQ button takes you back to the opening -page for the homework set (the one that lists all the problems and -gives the instructions for the homework set). -$PAR - -The area below the navigation buttons is where $WW tells you about -your score for the current problem. When you have submitted your -answers, this is where you will be given information about what -answers you got right and wrong. This -area also shows you how many points a problem is worth. -$PAR - -The main part of the page is the text of the problem you are trying to -answer, including blank boxes for you to enter your answers. (There -aren't any such boxes on this page, because you are not being asked -any questions here, but usually there will be one or more answer blanks -on a page.) -$PAR - -Below the problem text is a message area where you may be informed -about how partial credit is handled in multi-part problems. Other -information also may appear there, such as a message indicating that -the due date is passed, or that answers are available. -$PAR - -In the panel at the left, instead of the list of homework sets, you -now have a list of the problems within this assignment. You can go to -any problem just by clicking on it. There is also a progress bar which gives you a visual indication of your progress on the set and, following each problem number, an icon indicating if the problem has been answered corrrectly or still needs to be worked on to get full credit. -$PAR - -The buttons at the bottom of the screen, including the ${LQ}Submit -Answers$RQ button, are discussed in the next problem. At this point, -you can get credit for Problem 1 by pressing the ${LQ}Submit -Answers$RQ button at the bottom of the page (even though there was no -answer to submit), and then pressing the ${LQ}Next$RQ button at the -top of the screen to go on to the next problem. - -END_TEXT - - -install_forgiving_grader(); -$showPartialCorrectAnswers = 1; - -############################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob02.pg b/courses.dist/modelCourse/templates/setOrientation/prob02.pg deleted file mode 100644 index dbd8d1f0a4..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob02.pg +++ /dev/null @@ -1,96 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "PGunion.pl", - "parserOrientation.pl", - "PGcourse.pl", -); - - -Title("Controlling $WW"); - -############################################## - -BEGIN_TEXT - -The buttons at the bottom of the screen are what cause $WW to process -your answers. Nothing that you type will have any effect until you -press one of these buttons. -$PAR - -The ${LQ}Submit Answers$RQ button causes $WW to check your answers and -report your score for the problem. Usually you can continue to work on a -problem until you get it right, so don't be afraid to submit your -answer even if you have only finished parts of the problem or are -not sure of the correctness of your answer. Sometimes (e.g. for -multiple choice or true/false type questions) your instructor -may limit the number of attempts allowed on a problem. At the bottom of the -page you will see how many attempts you have remaining. If the due date is -passed and the answers are available, you can click the ${LQ}Show -Correct Answers$RQ button before pressing ${LQ}Submit$RQ. -If you do, the correct answer(s) will be displayed in the answer area -at the top of the screen along with the answers you have provided. -$PAR - -If you have typed in a complicated answer, or are being told your -answer is incorrect when you think it's right, you may want to use the -${LQ}Preview My Answers$RQ button. This will ask $WW to display at the -top of the page its interpretation of what you have entered. This -can be used to help spot errors in your typing, and verify that $WW -understands your answer the way you intend it to. And it does not count -as an attempt on the problem. (This is discussed further in a later problem.) -$PAR - -The ${LQ}Account Settings$RQ link under the sidebar navigation at the left -has a ${LQ}Change Display Options$RQ section that allows you to -change how the problem is displayed. The equations within the problem -can be represented in two different ways: - -\{BeginParList("UL")\} - -$ITEM -${LQ}images${RQ} mode produces accurate mathematical notation, -with the disadvantages of being slightly slower, and not printing well -if you want to print out a single problem. -$ITEMSEP - -$ITEM -${LQ}MathJax${RQ} mode is the default choice (what $WW uses unless you tell -it otherwise). It uses Cascading Style -Sheets (CSS) with web fonts or SVG, instead of bitmap images or Flash, so -equations scale with surrounding text at all zoom levels. MathJax is -compatible with screenreaders and provides zoom for everyone. - -\{EndParList("UL")\} -$PAR - -Choose whichever mode is most comfortable for you. You can always -select a different mode if a particular problem needs it. Here is a -sample of some simple mathematics, \(x^2 + 3\), and a more complicated -expression, \(\frac{x(1-x)}{2x + 1}\). Try changing the display mode -by clicking the ${LQ}Account Settings$RQ link, selecting the ${LQ}images${RQ} -radio button, pressing the ${LQ}Change Account Settings${RQ} button and then -displaying problem 2 again. Then change the display mode to back to -${LQ}MathJax$RQ mode for the rest of the homework set. -$PAR - -The ${LQ}Show saved answers${RQ} checkboxes tell whether you -want $WW to fill in the answer blanks with your previous answers or -not. (If you like, you can test this out on the next problem, since -there are no answer blanks in this one.) -$PAR - -You are now ready to learn how to enter answers into $WW. Press the -${LQ}Submit Answers${RQ} button to get credit for this problem, and -then press the ${LQ}Next$RQ button at the top of the page to go on to -the next one. - -END_TEXT - -install_forgiving_grader(); -$showPartialCorrectAnswers = 1; - -############################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob03.pg b/courses.dist/modelCourse/templates/setOrientation/prob03.pg deleted file mode 100644 index 8692f83f1c..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob03.pg +++ /dev/null @@ -1,140 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "MathObjects.pl", - "contextLimitedNumeric.pl", - "PGunion.pl", - "parserOrientation.pl", - "PGcourse.pl", -); - - -$showPartialCorrectAnswers = 1; - -Title("Typing in Your Answers"); - -############################################## - -BEGIN_TEXT - -Here are the standard symbols that $WW, along with most other -computer software, uses for arithmetic operations: -$PAR - -\{ - BeginTable(). - Row([$BBOLD.'Symbol'.$EBOLD, - $BBOLD.'Meaning'.$EBOLD, - $BBOLD.'Example'.$EBOLD]). - TableLine(). - Row([computer("+"),'Addition',computer("3+4 = 7")],align=>"CENTER"). - Row([computer("-"),'Subtraction',computer("3-4 = -1")],align=>"CENTER"). - Row([computer("*"),'Multiplication',computer("3*4 = 12")],align=>"CENTER"). - Row([computer("/"),'Division',computer("3/4 = .75")],align=>"CENTER"). - Row([computer($CARET)." or ".computer("**"),'Exponentiation', - computer("3${CARET}4 = 81")." or ". - computer("3**4 = 81")],align=>"CENTER"). - TableLine(). - EndTable() -\} -$PAR - -END_TEXT - -################################################## - -$a = non_zero_random(-5,5,1); -$b = non_zero_random(-5,5,1); -$c = non_zero_random(-3,3,1) * 2; -$d = non_zero_random(-5,5,1); - -BEGIN_TEXT - -Sometimes $WW will insist that you calculate the value of an -expression as a single number before you enter it. For example, -calculate the value of \($c($a - $b) - ($c - $d)\) and enter it in -the following blank. -(Here you have to enter a single integer; the question is testing -whether you can do the operations correctly.) - -$PAR -$BBLOCKQUOTE -\($c($a - $b) - ($c - $d)\) = \{ans_rule(10)\} -$EBLOCKQUOTE -$PAR -END_TEXT - -Context("LimitedNumeric"); -$ans = $c*($a - $b) - ($c - $d); -ANS(Real($ans)->cmp); - -################################################## - -BEGIN_TEXT - -Most often you will not have to simplify your answer, but can let -$WW do this for you. The following blanks are all expecting -the value 16. Try entering it several different ways, such as -\{student "7+9"\}, \{student "18-2"\}, \{student "8*2"\}, -\{student "32/2"\}, and \{student "4${CARET}2"\}. Note: pressing -the ${LQ}Tab$RQ key on your keyboard will move you from one answer -box to the next. - -$PAR -$BBLOCKQUOTE -16 = \{ans_rule(8)\} or -\{ans_rule(8)\} or -\{ans_rule(8)\} or -\{ans_rule(8)\} or -\{ans_rule(8)\} -$EBLOCKQUOTE -$PAR - -END_TEXT - -Context("Numeric"); - -ANS( - Real(16)->cmp, - Real(16)->cmp, - Real(16)->cmp, - Real(16)->cmp, - Real(16)->cmp, -); - -################################################## - -BEGIN_TEXT - -$WW also understands that quantities written next to each other are -supposed to be multiplied. For example, you can enter \{student -"(9)(7)"\} instead of \{student "63"\}. Most often this is used when -one quantity is a number and the other a variable or function. For -instance, \{computer "2x"\} means \{computer "2*x"\}, while \{computer -"3sin(5x)"\} means \{computer "3*sin(5*x)"\}. The following blank is -expecting the value 100; try entering it as -\{student("4(30-5)")\}. - -$PAR -$BBLOCKQUOTE -100 = \{ans_rule(10)\} -$EBLOCKQUOTE -$PAR -END_TEXT - -ANS(Real(100)->cmp); - -################################################## - -BEGIN_TEXT - -${BITALIC}When you are ready, don't forget to press the ${LQ}Submit Answers${RQ} -button to ask $WW to check your work. Once you get the answers -correct, press ${LQ}Next${RQ} to go on.${EITALIC} - -END_TEXT - -################################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob04.pg b/courses.dist/modelCourse/templates/setOrientation/prob04.pg deleted file mode 100644 index 4f7e93577c..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob04.pg +++ /dev/null @@ -1,94 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "PGchoicemacros.pl", - "MathObjects.pl", - "PGunion.pl", - "alignedChoice.pl", - "contextLimitedNumeric.pl", - "parserOrientation.pl", - "PGcourse.pl", -); - -$showPartialCorrectAnswers = 1; - -Title("Rules of Precedence"); - -############################################## - -BEGIN_TEXT - -The rules of precedence determine the order in which the mathematical -operations are performed by $WW. It is essential for you to understand -these so that you know how $WW interprets what you type in. If there -are no parentheses and no functions (such as \{computer "sin"\} or -\{computer "log"\}), then $WW computes the value of your answer by -performing exponentiation first, followed by multiplication and division -(from left to right), and finally addition and subtraction -(from left to right). -$PAR - -If there are expressions within parentheses, those expressions are -simplified first. We'll talk about functions (and give a more -complete list of rules) in a later problem. - -$PAR -Examples: -\{BeginList("UL")\} -$ITEM -\{student "4*3/6 = 12/6 = 2"\} (multiplications and divisions are done -from left to right), and \{student "2*7 = 14"\}, so -\{student "4*3/6-2*7+10 = 2 - 14 + 10 = -2"\}. -$ITEM -\{student "12/3/2 = 4/2 = 2"\} (multiplications and divisions are done -from left to right). -$ITEM -\{student "12/(3/2) = 12/1.5 = 8"\} -(expressions inside parentheses are calculated before anything else). -$ITEM -\{student "2*4${CARET}2 = 2*16 = 32"\} (exponentiation is done before multiplication), -so \{student "2*4${CARET}2 - 3*4 = 2*16 - 3*4 = 32 - 12 = 20"\}. -\{EndList("UL")\} -$PAR - -To practice these rules, completely simplify the following -expressions. Because the point of this problem is for you to do the -numerical calculations correctly, $WW will only accept sufficiently -accurate decimal numbers as the answers to these problems. -It will not simplify any expressions, including fractions. -$PAR - -END_TEXT - -$a = random(1,6,1); -$b = random(2,6,1); -$c = random(3,6,1); -$d = random(2,25,1); -$al = new_aligned_list(equals => 1); - -$al->qa( - computer("$a+$b*$c"), Real($a+($b*$c))->cmp, -# computer("($a+$b)*$c"), Real(($a+$b)*$c)->cmp, -# computer("($a+$b)/$c"), Real(($a+$b)/$c)->cmp, -# computer("$a+$b/$c"), Real($a+($b/$c))->cmp, - computer("$a/$b*$c"), Real(($a/$b)*$c)->cmp, -# computer("$a/($b*$c)"), Real($a/($b*$c))->cmp, -# computer("$a/$b/$c"), Real(($a/$b)/$c)->cmp, - computer("3*$b-$a/5*$c+$d"), Real((3*$b)-(($a/5)*$c)+$d)->cmp, - computer("2${CARET}$b+1"), Real((2**$b)+1)->cmp, - computer("2${CARET}($b+1)"), Real(2**($b+1))->cmp, -); - -BEGIN_TEXT -$BBLOCKQUOTE -\{$al->print_q\} -$EBLOCKQUOTE - -END_TEXT - -ANS($al->correct_ans); - -############################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob05/prob05-a.gif b/courses.dist/modelCourse/templates/setOrientation/prob05/prob05-a.gif deleted file mode 100644 index d32ee11b3b..0000000000 Binary files a/courses.dist/modelCourse/templates/setOrientation/prob05/prob05-a.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setOrientation/prob05/prob05-b.gif b/courses.dist/modelCourse/templates/setOrientation/prob05/prob05-b.gif deleted file mode 100644 index b074b10281..0000000000 Binary files a/courses.dist/modelCourse/templates/setOrientation/prob05/prob05-b.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setOrientation/prob05/prob05-c.gif b/courses.dist/modelCourse/templates/setOrientation/prob05/prob05-c.gif deleted file mode 100644 index 71062c6f06..0000000000 Binary files a/courses.dist/modelCourse/templates/setOrientation/prob05/prob05-c.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setOrientation/prob05/prob05.pg b/courses.dist/modelCourse/templates/setOrientation/prob05/prob05.pg deleted file mode 100644 index 7eaffa7d5d..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob05/prob05.pg +++ /dev/null @@ -1,129 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "PGchoicemacros.pl", - "MathObjects.pl", - "PGunion.pl", - "alignedChoice.pl", - "../parserOrientation.pl", - "PGcourse.pl", -); - -$showPartialCorrectAnswers = 1; - -Title("Common Errors to Avoid"); - -############################################## - -BEGIN_TEXT - -Many of the answers you enter into $WW will be expressions -that involve variables. Here are some important things to know. - -$PAR - -\{BeginParList("UL")\} - -$ITEM -It matters what letter you use. For example, if you are asked for a -function using the variable \(x\), then it won't work to enter the -function with the variable \(t\). Also, $WW considers upper- and -lower-case letters to be different, so don't use the capital letter -\{student "X"\} in place of the lower-case letter \{student "x"\}. -The following blank is expecting the -function \(x^3\), which you would enter as \{student "x${CARET}3"\} or -\{student "x**3"\}. Instead, try entering \{student "t${CARET}3"\} and -submitting your answer. - -$PAR -$BBLOCKQUOTE -\{ans_rule(10)\} -$EBLOCKQUOTE -$PAR - -You should get an error message informing you that \{computer "t"\} -is not defined in this context. This tells you that $WW did not receive the -correct variable and doesn't know how to check your answer. Now enter -\{student "x${CARET}3"\} and resubmit to get credit for this part of -the problem. - -END_TEXT - -ANS(Formula("x^3")->cmp); - -################################################## - -$IMGA = MathIMG("prob05-a.gif","1/x+1","1/x+1"); -$IMGB = MathIMG("prob05-b.gif","1/(x+1)","\frac{1}{x+1}"); -$IMGC = MathIMG("prob05-c.gif","(1/x)+1","\frac{1}{x} + 1"); - -BEGIN_TEXT - -$ITEM -$WW requires that you be precise in how you think about and present -your answer. We have just seen that you need to be careful about the -variables that you use. You must be equally careful about how the -rules of precedence apply to your answers. Often, this involves using -parentheses appropriately. - -$PAR - -For example, you might write $IMGA on your paper when you meant $IMGB, -but that is actually incorrect. The expression $IMGA means $IMGC, -according to the rules of precedence. $WW will force you to be exact -in what you are thinking and in what you are writing, because it must -interpret your answers according to the standard rules. If you want -to enter something that means $IMGB, you must write \{student -"1/(x+1)"\}. This also is true in written work, so making a habit of -being precise about this will improve your written mathematics as well -as your ability to enter answers quickly and correctly in $WW. - -$PAR -END_TEXT - -################################################## - -BEGIN_TEXT - -\{EndParList("UL")\} - -$PAR -$HR -$PAR - -Now enter the following functions: -$PAR -END_TEXT - -$al = new_aligned_list( - equals => 1, ans_rule_len => 30, - tex_spacing => "5pt", spacing => 10 -); - -Context("Numeric")->variables->are(t=>'Real'); $t = Formula("t"); -Context("Numeric")->variables->are(y=>'Real'); $y = Formula("y"); -Context("Numeric")->variables->are(x=>'Real'); $x = Formula("x"); - -$al->qa( - DisplayQA($t/(2*$t+6)), -# DisplayQA(2*$y*($y**2-$y+1)), -# DisplayQA(1/$x**2 - 3*(1/$x)), - DisplayQA(1/(2*($x-5))), - DisplayQA((2*$x-3)**4), -); - -BEGIN_TEXT - -$BBLOCKQUOTE -\{$al->print_q\} -$EBLOCKQUOTE - -END_TEXT - -ANS($al->correct_ans); - - -############################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob06.pg b/courses.dist/modelCourse/templates/setOrientation/prob06.pg deleted file mode 100644 index 14da12db6a..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob06.pg +++ /dev/null @@ -1,128 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "MathObjects.pl", - "PGunion.pl", - "parserOrientation.pl", - "PGcourse.pl", -); - - -$showPartialCorrectAnswers = 1; - -Context("Numeric")->variables->are(y=>'Real'); $y = Formula('y'); -Context("Numeric")->variables->are(x=>'Real'); $x = Formula('x'); -Context()->flags->set(limits=>[0,2]); - -Title("Using Parentheses Effectively"); - -############################################## - -BEGIN_TEXT - -One of the hardest parts about using parentheses is making sure that -they match up correctly. Here are a couple of hints to help you with -this: - -$PAR -END_TEXT - -$BRACES = HTML('{}','\char123\char125'); - -BEGIN_TEXT - -\{BeginParList("UL")\} - -$ITEM -Several types of parentheses are allowed: \{student "()"\}, -\{student "[]"\}, and \{student $BRACES\}. When you need to nest -parentheses inside other parentheses, try using a different type for -each so that you can see more easily which ones match up. -$ITEMSEP - -$ITEM -When you type a left parenthesis, type the corresponding right -parenthesis at the same time, then position your cursor between them and -type the expression that goes inside. This can save you a -lot of time hunting for mismatched parentheses. -$ITEMSEP - -$ITEM -When you have a complicated answer, type a template for -the structure of your result first. For example, suppose that you are -planning to enter the fraction -\[\frac{2x^2-5}{(x+1)(3x^{3x} - 22)}.\] -A good way to start would be to type in \{student "()/[()*()]"\}. -This shows a template of one number divided by the product of two -other numbers. (Note that \{student "()/()*()"\} would not be a good -way to start; do you see why?) Now when you fill in the expressions, you -will be sure your parentheses balance correctly. -$PAR - -Although $WW understands that numbers written next to each other are -meant to be multiplied (so you do not have to use \{student "*"\} to -indicate multiplication if you don't want to), it is often useful for -you to include the \{student "*"\} anyway, as it helps you keep track -of the structure of your answer. -$PAR - -$ITEM -To see how $WW is interpreting what you type, enter your answer and -then click the ${LQ}Preview My Answers$RQ button, which is next to the -${LQ}Submit Answers$RQ button below. $WW will show you what it thinks -you entered (the preview appears in your answer area at the top of the -page). Previewing your answer does not count as an attempt on the problem and does not submit it for credit; that only -happens when you press the ${LQ}Submit Answers$RQ button. -$ITEMSEP - -$ITEM -When division or exponentiation are involved, it is a good idea to -use parentheses even in simple situations, rather than relying on the -order of operations. For example, 1/2x and (1/2)x both mean the same -thing (first divide 1 by 2, then multiply the result by x), but the -second makes it easier to see what is going on. Likewise, use -parentheses to clarify expressions involving exponentiation. Type -\{student "(e${CARET}x)${CARET}2"\} if you mean \((e^x)^2\), and type -\{student "e${CARET}(x${CARET}2)"\} if you mean \(e^{(x^2)}\). - -\{EndParList("UL")\} - -$PAR -$HR -$PAR - -Now enter the following functions: - -$BBLOCKQUOTE - -\{@ExampleDefaults = (ans_rule_len => 50, ans_rule_height => 1); - BeginExamples\} - -\{BeginExample(QA(($x**(2*$x-1))/(($x**2-$x)*(3*$x+5))))\} -Start with the template \{student "[x${CARET}()]/[()*()]"\}. -\{EndExample\} -\{ExampleRule\} - -\{BeginExample(QA((($y+3)*($y**3+$y+1))/((2*$y**2-2)*(5*$y+4))))\} -Start by putting in an appropriate template. This means that you -should begin by looking at the function and thinking about how many -pieces are used to construct it and how those pieces are related. -Once you have entered your answer, try using the ${LQ}Preview My Answers$RQ button -to see how $WW is interpreting your answer. -\{EndExample\} -\{ExampleRule\} - -\{BeginExample(QA((($x+1)/($x-2))**4))\} -Start by putting in an appropriate template. -\{EndExample\} - -\{EndExamples\} - -$EBLOCKQUOTE - -END_TEXT - -############################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob07.pg b/courses.dist/modelCourse/templates/setOrientation/prob07.pg deleted file mode 100644 index 31c041518b..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob07.pg +++ /dev/null @@ -1,146 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "PGchoicemacros.pl", - "MathObjects.pl", - "PGunion.pl", - "alignedChoice.pl", - "parserOrientation.pl", - "PGcourse.pl", -); - - -$showPartialCorrectAnswers = 1; - -Title("Constants and Functions in $WW"); - -############################################## - -BEGIN_TEXT - -$WW knows the value of \(\pi\), which you can enter as \{student -"pi"\}, and the value of \(e\) (the base of the natural logarithm, -\(e\approx 2.71828\)), which you can enter simply as the letter -\{student "e"\}. -$PAR - -$WW also understands many standard functions. Here -is a partial list. Notice that all the function names start with a lower-case -letter. Capitalizing the function will lead to an error message. - -\{BeginParList("UL")\} - -$ITEM -$WW knows about \{student "sin(x)"\}, \{student "cos(x)"\}, \{student -"tan(x)"\}, \{student "arcsin(x)"\}, \{student "arccos(x)"\}, -\{student "arctan(x)"\} and the other trigonometric functions and their -inverses. $WW ${BITALIC}always$EITALIC uses radian mode for these -functions. -$PAR - -$WW will evaluate trigonometric functions for you in many situations. -For example, the following blank is expecting the value \(-1\). -Remember that \(\cos(\pi) = -1\), so enter \{student "cos(pi)"\} -and submit it. - -$PAR -$BBLOCKQUOTE -\{ans_rule(10)\} \(= -1\) -$EBLOCKQUOTE -$PAR - -END_TEXT - -ANS(Real(-1)->cmp); - -################################################## - -BEGIN_TEXT - -$ITEM -The square root \(\sqrt x\) is represented by the function \{student -"sqrt(x)"\} or by \{student "x${CARET}(1/2)"\}. -$ITEMSEP - -$ITEM -The function \{student "log(x)"\} means the ${BITALIC}natural$EITALIC -logarithm of \(x\) (the logarithm with base \(e\)), not the common -logarithm (the logarithm with base \(10\), sometimes written -\(\log_{10}\)). You can also write \{student "ln(x)"\} for the -natural logarithm of \(x\), so \{student "log(x)"\} and \{student "ln(x)"\} -mean the same thing. Use \{student "log10(x)"\} for the base 10 -logarithm of \(x\). Note that it is possible for your instructor to -change \{student "log(x)"\} to mean the common -logarithm (the logarithm with base \(10\)) but he or she should tell you if they do that. -$ITEMSEP - -$ITEM -The exponential function with base \(e\) can be entered as -\{student "e${CARET}x"\} or \{student "exp(x)"\}. The second notation -is convenient if you have a long, complicated exponent. -$ITEMSEP - -$ITEM -The absolute value function, \(|x|\), should be entered as -\{student "|x|"\} or \{student "abs(x)"\}. -$ITEMSEP - -$ITEM -The inverse sine function, \(\sin${CARET}{-1}(x)\), is written -\{student "arcsin(x)"\} or \{student "asin(x)"\} or \{student "sin${CARET}(-1)(x)"\} -in $WW. Note that this is ${BITALIC}not$EITALIC the same as -\{student "(sin(x))${CARET}(-1)"\}, which means \(\frac{1}{\sin(x)}\). -The other inverse functions are handled similarly. - -\{EndParList("UL")\} - -$PAR -$HR -$PAR - -Now enter the following functions: -$PAR -END_TEXT - -$al = new_aligned_list( - equals => 1, - ans_rule_len => 40, - tex_spacing => "5pt", - spacing => 10, -); - -Context("Numeric")->variables->are( - u => ['Real',limits=>[0.1,1.5]], - t => ['Real',limits=>[-1.9,-0.1]], - x => ['Real',limits=>[3.75,6]] -); -$u = Formula('u'); -$t = Formula('t'); -$x = Formula('x'); - -#Context("Numeric")->variables->are(y=>'Real'); $y = Formula('y'); -#Context("Numeric")->variables->are(x=>'Real'); $x = Formula('x'); -#Context()->flags->set(limits=>[-2,10]); - -$al->qa( -# DisplayQA(sqrt($y**2+1)), -# DisplayQA(sin(3*$x+1)), - DisplayQA(1/tan($u)), - DisplayQA(asin($t+1)), - DisplayQA((sin($x)-cos($x))/sqrt(2*$x-7)) -); - -BEGIN_TEXT - -$BBLOCKQUOTE -\{$al->print_q\} -$EBLOCKQUOTE - -END_TEXT - -ANS($al->correct_ans); - -############################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob08.pg b/courses.dist/modelCourse/templates/setOrientation/prob08.pg deleted file mode 100644 index a8f06aba30..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob08.pg +++ /dev/null @@ -1,157 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "MathObjects.pl", - "PGunion.pl", - "parserOrientation.pl", - "PGcourse.pl", -); - - -Context("Numeric")->variables->are(y=>'Real'); $y = Formula('y'); -Context("Numeric")->variables->are(x=>'Real'); $x = Formula('x'); - -$showPartialCorrectAnswers = 1; - -Title("Rules of Precedence (Again)"); - -############################################## - -$Explanation = "${BITALIC}Explanation${EITALIC}"; -$Moral = "${BITALIC}Moral${EITALIC}"; - -BEGIN_TEXT - -At this point, we can give the complete rules of precedence for -how $WW computes the value of a mathematical formula. The operations -are handled in the following order: -$PAR - -\{BeginList\} -$ITEM Evaluate expressions within parentheses. -$ITEM Evaluate functions such as \{student "sin(x)"\}, -\{student "cos(x)"\}, \{student "log(x)"\}, \{student "sqrt(x)"\}. -$ITEM Perform exponentiation (from right to left). -$ITEM Perform multiplication and division, (from left to right). -$ITEM Perform addition and subtraction, (from left to right). -\{EndList\} -$PAR - -This can get a little subtle, so be careful. The following are some -typical traps for $WW users. -$PAR - -\{BeginParList("UL")\} - -$ITEM -$WW interprets \{student "sin 2x"\} to mean \((\sin${SP}2)*x\) -$PAR - -$Explanation: Rule 2 tells you that $WW does evaluation of functions -(like \{student "sin"\}) before multiplication. Thus $WW first -computes \(\sin${SP}2\), and then multiplies the result by \(x\). -$PAR - -$Moral: You must type \{student "sin(2x)"\} for the sine of \(2x\), -even though we often write it as \(\sin${SP}2x\). -Get in the habit of using parentheses for all your trigonometric -functions. -$PAR - -Now enter the following function: -$PAR -$BBLOCKQUOTE -The cosine of \(5x\) is entered as \{ans_rule(15)\}. -$EBLOCKQUOTE -$PAR - -END_TEXT - -ANS(cos(5*$x)->cmp); - -BEGIN_TEXT - -$ITEM -$WW interprets \{student "cos t${CARET}3"\} to mean \((\cos${SP}t)^3\) -$PAR - -$Explanation: Rule 2 tells you that $WW does evaluation of functions -(like \{student "cos"\}) before exponentiation. Thus $WW first -computes \(\cos${SP}t\) and then raises the result to the power 3. -$PAR - -$Moral: You must type in \{student "cos(t${CARET}3)"\} if you mean the -cosine of \(t^3\), even though we sometimes write it as \(\cos${SP}t^3\). -$PAR - -Now enter the following function: -$PAR -$BBLOCKQUOTE -The tangent of \(y^4\) is entered as \{ans_rule(15)\}. -$EBLOCKQUOTE -$PAR - -END_TEXT - -ANS(tan($y**4)->cmp); - -BEGIN_TEXT - -$ITEM -In mathematics, we often write \(\sin^2${SP}x\) to mean \((\sin x)^2\). -$WW will let you write \{student "sin${CARET}2(x)"\} for this, though -it is probably better to type \{student "(sin(x))${CARET}2"\} instead, -as this makes your intention clearer. Note that a power of \(-1\), as -in \{student "sin${CARET}(-1)(x)"\}, is a special case; it indicates the -${BITALIC}inverse${EITALIC} function \{student "arcsin(x)"\} rather -than a power. -$PAR - -Now enter the following function: -$PAR -$BBLOCKQUOTE -\(\sin^2${SP}x + \cos^3${SP}x\) = \{ans_rule(30)\} -$EBLOCKQUOTE -$PAR - -END_TEXT - -ANS((sin($x)**2 + cos($x)**3)->cmp); - -BEGIN_TEXT - -$ITEM -\{student "e${CARET}3x"\} means \((e^3) x\) and not \(e^{(3x)}\) $PAR -$PAR - -$Explanation: Rule 3 says that $WW does exponentiation before multiplication. -Thus $WW first computes \{student "e${CARET}3"\}, with the result -\(e^3\), and then multiplies the result by \(x\). -$PAR - -$Moral: Always put parentheses around an exponent. -Type \{student "e${CARET}(3x)"\} if you want \(e^{3x}\). -$PAR - -Now enter the following function: -$PAR -$BBLOCKQUOTE -\(2^{4x^3}\) = \{ans_rule(30)\} -$EBLOCKQUOTE -$PAR - -END_TEXT - -ANS((2**(4*($x**3)))->cmp); - -BEGIN_TEXT - -\{EndParList("UL")\} - - -END_TEXT - -############################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob09.pg b/courses.dist/modelCourse/templates/setOrientation/prob09.pg deleted file mode 100644 index 7d65426f03..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob09.pg +++ /dev/null @@ -1,112 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "MathObjects.pl", - "PGunion.pl", - "parserOrientation.pl", - "PGcourse.pl", -); - -$showPartialCorrectAnswers = 1; - -Title("Non-Numeric Answers"); - -############################################## - -BEGIN_TEXT - -Sometimes you will be asked to enter answers that are not numbers. -For example, if you are asked to determine a limit, the answer may be -that the limit does not exist, so you might have to type \{student -"DNE"\} to indicate this (the problem should tell you what word to -use). Note that upper- and lower-case letters are not the same to -$WW, so you will need to enter the answer exactly as indicated in the -problem. (Well written problems will allow the answer to be -entered either way.) -$PAR - -$BBLOCKQUOTE -Please enter ${LQ}\{student "DNE"\}${RQ} here: \{ans_rule(10)\}. -$EBLOCKQUOTE - -END_TEXT - -ANS(String('DNE')->cmp); - -################################################## - -BEGIN_TEXT - -Other problems may require you to enter \(\infty\), which you do using -the word ${LQ}\{student "INFINITY"\}${RQ} (in upper- or lower-case) or -${LQ}\{student "INF"\}${RQ} for short. The problem should remind you -of how to do this. Note that most operations are not defined on -infinity, so you can't add or multiply something by infinity. You -can, however, indicate \(-\infty\) by ${LQ}\{student "-INFINITY"\}${RQ}, -or ${LQ}\{student "-INF"\}${RQ}. -$PAR - -$BBLOCKQUOTE -Try entering \(-\infty\) here: \{ans_rule(10)\}. -$EBLOCKQUOTE - -END_TEXT - -ANS((-(Infinity))->cmp); - -################################################## - -Context("Interval"); - -$a = random(-5,5,1); -$I = Compute("(-infinity,$a)"); - -BEGIN_TEXT - -One common place where you use \(\infty\) is as an endpoint of -an interval. $WW allows you to enter intervals using standard -interval notation, including infinite endpoints. For example, -\{student "[-2,5)"\} represents an interval that is closed on the -left and open on the right, while \{student "[2,inf)"\} is an interval -that extends infinitely to the right. -$PAR - -$BBLOCKQUOTE -Write the interval of points that are less than \($a\): \{ans_rule(20)\}. -$EBLOCKQUOTE - -END_TEXT - -ANS($I->cmp); - -################################################## - -Context("Interval"); - -$a = random(-8,-2,1); -$b = random($a+1,$a+5,1); -$c = random($b+1,$b+5,1); -$I = Compute("[$a,$b) U ($b,$c)"); - -BEGIN_TEXT - -Several intervals can be combined into one region using the ${LQ}set -union${RQ} operation, \(\cup\), which is represented as ${LQ}\{student -"U"\}${RQ} in $WW. For example, \{student "[-2,0] U (8,inf)"\} -represents the points from \(-2\) to \(0\) together with everything -bigger than 8. -$PAR - -$BBLOCKQUOTE -Write the set of points from \($a\) to \($c\) but excluding \($b\) and \($c\) -as a union of intervals: \{ans_rule(20)\}. -$EBLOCKQUOTE - -END_TEXT - -ANS($I->cmp); - -################################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob10.pg b/courses.dist/modelCourse/templates/setOrientation/prob10.pg deleted file mode 100644 index d0c0d6d24a..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob10.pg +++ /dev/null @@ -1,129 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "MathObjects.pl", - "PGunion.pl", - "parserVectorUtils.pl", - "parserOrientation.pl", - "PGcourse.pl", -); - -$showPartialCorrectAnswers = 1; - -Title("Points and Vectors"); - -############################################## - -Context("Vector"); - -$p0 = non_zero_point2D(); -$p1 = $p0 + 2*non_zero_point2D(2,2,1); - -Context()->texStrings; -BEGIN_TEXT - -Some problems will ask you to enter an answer that is a point rather -than a number. You enter points in $WW just as you would expect: by -separating the coordinates by commas and enclosing them all in -parentheses. So \{student "(2,-3)"\} represents the point in the -plane that has an \(x\)-coordinate of \(2\) and \(y\)-coordinate of -\(-3\). -$PAR - -$BBLOCKQUOTE -What point is halfway between \($p0\) and \($p1\)? \{ans_rule(20)\}. -$EBLOCKQUOTE - -END_TEXT -Context()->normalStrings; - -ANS((($p0+$p1)/2)->cmp); - -################################################## - -$P = non_zero_point3D(); - -$LANGLE = HTML('<',"\char60 "); -$RANGLE = HTML('>',"\char62 "); - -Context()->flags->set(ijk=>1); -Context()->texStrings; -BEGIN_TEXT - -Other problems require you to provide a vector as your answer. $WW -allows you to enter vectors either as a list of coordinates enclosed -in angle braces, \{student $LANGLE\} and \{student $RANGLE\}, or as a -sum of multiples of the coordinate unit vectors, \(\{i\}\), \(\{j\}\) -and \(\{k\}\), which you enter as \{student "i"\}, \{student "j"\} and -\{student "k"\}. For example, \{student "${LANGLE}1,3,-2${RANGLE}"\} -represents the same vector as \{student "i+3j-2k"\}. -$PAR - -$BBLOCKQUOTE -What vector points from the origin to the point \($P\)? \{ans_rule(20)\}. -$EBLOCKQUOTE - -END_TEXT -Context()->normalStrings; -Context()->flags->set(ijk=>0); - -ANS(Vector($P)->cmp); - -################################################## - -$v0 = non_zero_vector3D(); -$v1 = non_zero_vector3D(); - -$SPACING = HTML('  '); -$BNOBR = HTML(''); -$ENOBR = HTML(''); - -Context()->texStrings; -BEGIN_TEXT - -Just as you can enter a number by giving an equation that reduces to it, -$WW allows you to enter points and vectors by giving equations for the -individual coordinates, or by using a vector-valued equation that -reduces to your answer. For example, -$PAR -$BCENTER -$BNOBR\{student "${LANGLE}1-(-3),2-sqrt(4),6/2${RANGLE}"\}$ENOBR -${SPACING} and ${SPACING} -$BNOBR\{student "[1-(-3)]i + [2-sqrt(4)]j + (6/2)k"\}$ENOBR -$ECENTER -$PAR -both represent the vector \(\{Vector(4,0,3)\}\), while -$BNOBR\{student "${LANGLE}1,0,-1${RANGLE} + ${LANGLE}2,-2,3${RANGLE}"\}$ENOBR -could be used to answer a question that asks for the vector \(\{Vector(3,-2,2)\}\). -$PAR - -$BBLOCKQUOTE -Write \(\{$v0+$v1\}\) as a sum of two vectors: \{ans_rule(30)\}. -$EBLOCKQUOTE - -END_TEXT -Context()->normalStrings; - -# -# Check that the result actually IS a sum (or difference). -# -sub checkAdd { - my $ans = shift; - if ($ans->{score} == 1 && !$ans->{isPreview}) { - my $item = $ans->{student_formula}->{tree}; - $ans->{correct_value}->cmp_Error - ($ans,"Your answer is not a sum of vectors") - unless $item->class eq 'BOP' && - ($item->{bop} eq '+' || $item->{bop} eq '-'); - } - return $ans; -} - -my $check = ($v0+$v1)->cmp; -$check->install_post_filter(~~&checkAdd); -ANS($check); - -################################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob11.pg b/courses.dist/modelCourse/templates/setOrientation/prob11.pg deleted file mode 100644 index 9703f9b6d1..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob11.pg +++ /dev/null @@ -1,69 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "MathObjects.pl", - "PGunion.pl", - "parserOrientation.pl", - "PGcourse.pl", -); - -$showPartialCorrectAnswers = 1; - -Title("Multiple Answers in One Blank"); - -############################################## - -Context("Numeric"); - -$a = random(1,5,1); -$f = Formula("1/(x^2-$a^2)")->reduce; - -Context()->texStrings; -BEGIN_TEXT - -You may sometimes be asked to provide more than one answer in a single -answer blank. For example, you may need to enter all the values where -a function is not defined. In this case, you should separate your -answers by commas. Such an answer is called a -${BITALIC}list${EITALIC} in $WW. Note that you need not enter -multiple answers for a list; a single number is a legal answer (there -might only be one point where the function is undefined, for -instance). -$PAR - -$BBLOCKQUOTE -The function \(\displaystyle f(x)=$f\) is not defined at these \(x\) values: \{ans_rule(20)\}. -$EBLOCKQUOTE - -END_TEXT -Context()->normalStrings; - -ANS(List($a,-$a)->cmp); - -################################################## - -$a = random(1,5,1); -$f = Formula("1/(x^2+$a^2)")->reduce; - -Context()->texStrings; -BEGIN_TEXT - -When you are asked for a list of numbers, another possible answer is -that there are ${BITALIC}no${EITALIC} numbers that satisfy the -requirements. In that case, you should enter ${LQ}\{student -"NONE"\}${RQ} as your answer. -$PAR - -$BBLOCKQUOTE -The function \(\displaystyle f(x)=$f\) is not defined at these \(x\) values: \{ans_rule(20)\}. -$EBLOCKQUOTE - -END_TEXT -Context()->normalStrings; - -ANS(String('NONE')->cmp); - -################################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob12.pg b/courses.dist/modelCourse/templates/setOrientation/prob12.pg deleted file mode 100644 index 13c2574f1d..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob12.pg +++ /dev/null @@ -1,68 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "PGchoicemacros.pl", - "PGunion.pl", - "choiceUtils.pl", - "parserOrientation.pl", - "PGcourse.pl", -); - -Title("True/False Questions in $WW"); - -############################################## - -$a = random(1,5,1); -$b = random(6,10,1); -$c = random(-10,-1,1); -$d = random(-10,-1,1); -$e = random(1,10,1); - -$sl = new_select_list(); -$sl->{rf_print_q} = ~~&alt_print_q; -$sl->{separation} = 5; - -$sl->qa( - "\(-$a $LT -$b\)", "F", - "\($c $LE $c\)", "T", - "\($d $LT $d\)", "F", - "\(\pi $GE 3.2\)", "F", - "\($e-1 $LE $e\)", "T" -); - -$sl->choose(4); - -################################################## - -BEGIN_TEXT - -Enter a \{student "T"\} or an \{student "F"\} in each -answer space below to indicate whether the corresponding -statement is true or false. -$PAR - -$BBLOCKQUOTE -\{$sl->print_q\} -$EBLOCKQUOTE -$PAR - -END_TEXT - -ANS(str_cmp($sl->ra_correct_ans)); -install_problem_grader(~~&std_problem_grader); -$showPartialCorrectAnswers = 0; - -BEGIN_TEXT - -In most multipart problems, if one or more of your answers is wrong, -then $WW tells you which ones they are. For True/False or -multiple-choice questions, however, $WW usually only tells you whether -${BITALIC}all$EITALIC the answers are correct. It won't tell you -which ones are right or wrong. - -END_TEXT - -################################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob13.pg b/courses.dist/modelCourse/templates/setOrientation/prob13.pg deleted file mode 100644 index 261adc2840..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob13.pg +++ /dev/null @@ -1,66 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "PGchoicemacros.pl", - "PGunion.pl", - "parserOrientation.pl", - "choiceUtils.pl", - "PGcourse.pl", -); - -Title("Matching Lists in $WW"); - -############################################## - -$a = random(-10,10,1); -$b = random(1,3,1); - -$ml = new_match_list(); -$ml->rf_print_q(~~&alt_print_q); -$ml->rf_print_a(~~&alt_print_a); -$ml->{separation} = 5; - -$ml->qa( - "\(x\) is less than \($a\)", "\(x $LT $a\)", - "\(x\) is any real number", "\(-\infty $LT x $LT \infty\)", - "\(x\) is greater than \($a\)", "\($a $LT x\)", - "\(x\) is less than or equal to \($a\)", "\(x $LE $a\)", - "\(x\) is greater than or equal to \($a\)", "\(x $GE $a\)", - "The distance from \(x\) to \($a\) is at most $b", - "\(|x - $a| $LE $b\)", - "The distance from \(x\) to \($a\) is more than $b", - "\(|x - $a| $GT $b\)" -); - -$ml->choose(5); - -################################################## - -BEGIN_TEXT - -Match the statements defined below with the letters labeling their -equivalent expressions. -$PAR - -\{ColumnMatchTable($ml,indent => 30)\} -$PAR - -END_TEXT - -ANS(str_cmp($ml->ra_correct_ans)); -install_problem_grader(~~&std_problem_grader); -$showPartialCorrectAnswers = 0; - -BEGIN_TEXT - -Usually with matching problems like this, -$WW only tells you whether ${BITALIC}all$EITALIC -your answers are correct or not. If they are not all -correct, $WW will not tell you which ones are right -and which are wrong. -$PAR - -END_TEXT - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob14/prob14-hint.html b/courses.dist/modelCourse/templates/setOrientation/prob14/prob14-hint.html deleted file mode 100644 index 9ad160d2da..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob14/prob14-hint.html +++ /dev/null @@ -1,35 +0,0 @@ - -WeBWork Set 0 Problem 11 Hint - - - -
- - -
- -
- -

Graphs in WeBWorK

- -Often in WeBWorK, the graphs are displayed as small thumbnail images. -These can be difficult to read, so in these cases, WeBWorK provides -you with a link to a larger copy of the graph. You can click on the -small version of the image to get the larger one. For example, click -on the diagram below to enlarge it. It will be displayed in a -separate window; close that window when you are done looking at the -larger graph. -

- -

- -
-

- -After you are done, press the "Back" button to go back to the problem page. - -

-
- - - diff --git a/courses.dist/modelCourse/templates/setOrientation/prob14/prob14.gif b/courses.dist/modelCourse/templates/setOrientation/prob14/prob14.gif deleted file mode 100644 index 16461e6334..0000000000 Binary files a/courses.dist/modelCourse/templates/setOrientation/prob14/prob14.gif and /dev/null differ diff --git a/courses.dist/modelCourse/templates/setOrientation/prob14/prob14.pg b/courses.dist/modelCourse/templates/setOrientation/prob14/prob14.pg deleted file mode 100644 index 41a89857e5..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob14/prob14.pg +++ /dev/null @@ -1,114 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "PGchoicemacros.pl", - "PGgraphmacros.pl", - "PGunion.pl", - "imageChoice.pl", - "../parserOrientation.pl", - "PGcourse.pl" -); - -# -# You need to change this to point to where you have stored the hint -# and graphic files. -# -$htmlWebworkURL = "http://omega.math.union.edu/webwork2_files/local"; -$hintURL = "${htmlWebworkURL}/parserOrientation/prob14-hint.html"; - -Title("Matching Graphs in $WW"); - -############################################## - -$ml = new_image_match_list(link => 0, border => 0); -$ml->{separation} = 3; - -@Goptions = (-6,-6,6,6, axes => [0,0], grid => [6,6], size => [150,150]); -$G1 = init_graph(@Goptions); -$G2 = init_graph(@Goptions); -$G3 = init_graph(@Goptions); -$G4 = init_graph(@Goptions); - -$a1 = random(-6,2,.1); $b1 = random($a1+1,6,.1); $m1 = ($b1-$a1)/12; -$a2 = random(-2,6,.1); $b2 = random($a2-1,-6,.1); $m2 = ($b2-$a2)/12; -$a3 = non_zero_random(.5,5,.1)*non_zero_random(-1,1,1); -$a4 = non_zero_random(.5,5,.1)*non_zero_random(-1,1,1); - -$plotoptions = "using color:red and weight=2"; -plot_functions($G1,"$m1(x+6)+$a1 for x in <-5.8,5.8> $plotoptions"); -plot_functions($G2,"$m2(x+6)+$a2 for x in <-5.8,5.8> $plotoptions"); -plot_functions($G3,"$a3 for x in <-5.8,5.8> $plotoptions"); -plot_functions($G4,"10000(x-$a4) for x in <-5.8,5.8> $plotoptions"); - -$ml->qa( - "The line is the graph of an increasing function", $G1, - "The line is the graph of a decreasing function", $G2, - "The line is the graph of a constant function", $G3, - "The line is not the graph of a function", $G4 -); - -$ml->choose(4); - -#BEGIN_TEXT -# -#The simplest functions are the ${BITALIC}linear$EITALIC ones --- -#the functions whose graphs are straight lines. They are important -#because many functions locally look like straight lines. (Looking -#like a line ${BITALIC}locally$EITALIC means that if we zoom in on the -#function and look at it at a very powerful magnification, it will look -#like a straight line.) -#$PAR - -BEGIN_TEXT - -Enter the letter of the graph that corresponds to each statement: -$PAR - -$BCENTER -$PAR -\{$ml->print_q\} -$PAR -$ECENTER - -\{$ml->print_a\} -$PAR - -END_TEXT - -ANS(str_cmp($ml->ra_correct_ans)); -install_problem_grader(~~&std_problem_grader); -$showPartialCorrectAnswers = 0; - -################################################## - -BEGIN_TEXT - -As with the previous matching problems, you will not be told which of -your answers are correct when you submit your answers to this problem. -$WW will only tell you if ${BITALIC}all${EITALIC} your answers are -correct or not. -$PAR - -Some $WW problems display a link to additional information or a -\{htmlLink($hintURL,"hint")\}. Follow this link for a hint about -graphs in $WW. -$PAR - -END_TEXT - -#Occasionally, a problem includes a hint that will not be available -#immediately. Once you have submitted incorrect answers a certain -#number of times (determined by the problem), you will see a ${LQ}Show -#Hint$RQ button above the submit buttons at the bottom of the screen. -#Check the box and press ${LQ}Submit$RQ in order to get the hint. For -#this problem, the hint will be available after one wrong answer. -# -#END_TEXT -# -#$showHint = 1; -#HINT("$HINT Usually the hints are more helpful than this."); - -################################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/prob15.pg b/courses.dist/modelCourse/templates/setOrientation/prob15.pg deleted file mode 100644 index 5aa4cbed87..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/prob15.pg +++ /dev/null @@ -1,88 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "PGunion.pl", - "parserOrientation.pl", - "PGcourse.pl", -); - - -Title("When You're Stuck..."); - -############################################## - -BEGIN_TEXT -The goal of the $WW software is to help you learn mathematics by giving -you immediate feedback on the correctness of your answer to a problem. -It is not designed to be a tutorial or to replace humans in -explaining the material to you. As with any learning tool, it is -up to you to make efficient and effective use of the software. - -Here are some things you can try when you are stuck on a problem. -$PAR - -\{BeginParList("UL")\} -$ITEM -Reread the problem carefully to see if there are any instructions -that you did not notice. -$ITEMSEP - -$ITEM -Check carefully for directions on the Problem List page. -You can get to this page by pressing the ${LQ}Problem List$RQ button at the -top of any problem page. -$ITEMSEP - -$ITEM -Look in the textbook for similar problems or relevant methods. -$ITEMSEP - -$ITEM -Talk to your instructor during office hours. -$ITEMSEP - -$ITEM -Ask a fellow student for help. -$ITEMSEP - -$ITEM -Use the Calculus Help Center. (Be sure to take a printout of -the problem with you. The tutors will need the ${BITALIC}exact$EITALIC -wording of the problem.) -$ITEMSEP - -$ITEM -Use the ${LQ}Email instructor$RQ button at the bottom of the problem page -to send email to your instructor. Include in your message the details of -what you have tried so far. If you are having a software problem, -include details about the error messages you are getting. - -\{EndParList("UL")\} - -$PAR - -When you are truly stuck on a $WW problem, you should turn to other -sources (humans or books) for help, because it is not in your best -interest to guess repeatedly instead of thinking about what you might -be doing wrong. -$PAR - -To get credit for this problem, you must click the ${LQ}Submit -Answers$RQ button. Then you can use the ${LQ}Problem List$RQ button at -the top of the page to return to the problem list page. You will see -that the problems you have done have been labeled as correct or -incorrect, and you can go back and do problems you skipped or couldn't -get right the first time. Once you have done a problem correctly, it -is ${BITALIC}always$EITALIC listed as correct even if you go back and -do it incorrectly later. This means you can use WeBWorK to review -course material without any danger of changing your grade. $PAR - -END_TEXT - -install_forgiving_grader(); -$showPartialCorrectAnswers = 1; - -############################################## - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/courses.dist/modelCourse/templates/setOrientation/setHeader.pg b/courses.dist/modelCourse/templates/setOrientation/setHeader.pg deleted file mode 100644 index 806facd188..0000000000 --- a/courses.dist/modelCourse/templates/setOrientation/setHeader.pg +++ /dev/null @@ -1,127 +0,0 @@ -DOCUMENT(); # This should be the first executable line in the problem. - -loadMacros( - "PGstandard.pl", - "PGunion.pl", - "PGcourse.pl", -); - -$WW = "WeBWorK"; - -if ($displayMode eq 'TeX') { - -TEXT( - '\noindent{\large\bf '.$studentName.'}\hfill{\large\bf '.$course.'}', - '\par\noindent', -" -This set of $WW problems is designed to orient you to the -$WW system and to help you learn how to communicate with the -software. You will be learning about how to understand what -you see on the screen and about how to enter your answers when you do -the problems. You will practice entering numerical and functional -expressions and look at ways to find and correct errors in your -entries. - -", - "WeBWorK assignment $setNumber closes on $formattedDueDate.", -); - -} else { - -BEGIN_TEXT - -${BBOLD}Orientation to WeBWorK${EBOLD} -$PAR - -This set of $WW problems is designed to orient you to the $WW system -and to help you learn how to communicate with the software. You will -be learning about how to understand what you see on the screen and -about how to enter your answers when you do the problems. You will -practice entering numerical and functional expressions and look at -ways to find and correct errors in your entries. -$PAR - -Start by examining the features of this page. The panels at the -left and top help you to navigate to the different -pages available in WeBWorK. Note you can collapse and -uncollapse the sidebar navigation by clicking on the three bars -"hamburger" icon in the top left, so if you don't see the sidebar -menu, click the three bars to make it reappear. - -$PAR -On the left, in the sidebar navigation, you have already -seen the ${LQ}Assignments${RQ} page, -which lists all the homework assignments that have -been assigned to you. Links allow you to go to any assignment -you want to work on. -$PAR -The ${LQ}Account Settings${RQ} page lets you change your password, -email address and display options. Display Options gives you control -over how you want math equations displayed. For example with -${LQ}MathJax${RQ} you can control the size of equations, have access -to accessibility options, etc. The ${LQ}Grades${RQ} page -shows your scores on the various assignments (but there is nothing -much to show at this point). -$PAR - -Links to your homework assignments are also listed in the ${LQ}Sets${RQ} -panel so you can quickly switch to another assignment. -$PAR - -\{ -#The ${LQ}Report Bugs${RQ} button is for reporting bugs in the WeBWorK -#System itself to the developers WeBWorK. It is unlikely that -#you will need to use that yourself. If you are having difficulty with -#WeBWorK, you should contact your professor using the ${LQ}Email -#Instructor${RQ} button instead. This should be available on nearly -#every page, so you always have a quick way to reach your professor. -#$PAR -\} - -The data in the panel at the top of the page tells you where you -are in WeBWorK's hierarchy of pages, but you can ignore that for the -most part. There is an additional logout button at the far right, -however, that you will need to use when you are done using $WW (don't -press it yet). -$PAR - -\{ -#The yellow question mark icon is a ${LQ}Help${RQ} -#button for system documentation, but there is not much of that -#available at the moment. -#$PAR -\} - -The main information on this page is located in the large panel -to the left. It shows the status of the problems in this assignment, -and your score on the set so far. Since you haven't yet tried any of -the problems, your score is zero, but after you work on some of them, -the number of attempts and the score will reflect the work you have -done. -$PAR -Near the bottom is a link that allows you to download a pdf ${LQ}hardcopy${RQ} -version of your -whole assignment which you can print out. This allows you to work on -the assignment without having to be connected to $WW. -$PAR -Also near the bottom of this and every $WW page there is an -${LQ}Email instructor${RQ} link that you can use to send email to -your instructor. That email, in addition to what ever you write, will -contain information on whatever page you are on so, e.g. if you are -working on a problem, your instructor will know what problem it is. - -$PAR -Each problem number is a link to that problem in the homework set. -You can click on one to get to any specific problem. To begin the -orientation assignment, click on the link for Problem 1. When you are -done working, be sure to dismiss your connection to the server by -clicking on ${LQ}Log Out${RQ}, so that no one else can gain access to -your account. -$PAR - - -END_TEXT - -} - -ENDDOCUMENT(); # This should be the last executable line in the problem. diff --git a/lib/WeBWorK/Utils/Rendering.pm b/lib/WeBWorK/Utils/Rendering.pm index 474936d49a..3869670e5b 100644 --- a/lib/WeBWorK/Utils/Rendering.pm +++ b/lib/WeBWorK/Utils/Rendering.pm @@ -67,14 +67,15 @@ sub constructPGOptions ($ce, $user, $set, $problem, $psvn, $formFields, $transla $options{problemSeed} = $problem->problem_seed; # Display information - $options{displayMode} = $translationOptions->{displayMode}; - $options{showHints} = $translationOptions->{showHints}; - $options{showSolutions} = $translationOptions->{showSolutions}; - $options{forceScaffoldsOpen} = $translationOptions->{forceScaffoldsOpen}; - $options{setOpen} = time > $set->open_date; - $options{pastDue} = time > $set->due_date; - $options{answersAvailable} = time > $set->answer_date; - $options{refreshMath2img} = $translationOptions->{refreshMath2img}; + $options{displayMode} = $translationOptions->{displayMode}; + $options{showHints} = $translationOptions->{showHints}; + $options{showSolutions} = $translationOptions->{showSolutions}; + $options{forceScaffoldsOpen} = $translationOptions->{forceScaffoldsOpen}; + $options{setOpen} = time > $set->open_date; + $options{pastDue} = time > $set->due_date; + $options{answersAvailable} = time > $set->answer_date; + $options{refreshMath2img} = $translationOptions->{refreshMath2img}; + $options{feedback_button_name} = $ce->{feedback_button_name}; # Default values for evaluating answers $options{ansEvalDefaults} = $ce->{pg}{ansEvalDefaults}; diff --git a/templates/ContentGenerator/ProblemSet/problem_list.html.ep b/templates/ContentGenerator/ProblemSet/problem_list.html.ep index 49d478934c..644200efba 100644 --- a/templates/ContentGenerator/ProblemSet/problem_list.html.ep +++ b/templates/ContentGenerator/ProblemSet/problem_list.html.ep @@ -53,6 +53,6 @@ %
<%= link_to - maketext('Download PDF or TeX Hardcopy for Current Set') => $c->systemLink(url_for 'hardcopy_preselect_set'), + maketext('Download Hardcopy for Current Set') => $c->systemLink(url_for 'hardcopy_preselect_set'), class => 'btn btn-primary' =%>