webwork.myschool.edu/webwork2/course-name/problem_set_name. '
- . 'If the problem set name has space characters, they should be underscores in these addresses. '
- . 'Also, to initialize the communication between WeBWorK and the LMS, the user must follow each of '
- . 'these external learning tools at least one time. Since there must be a separate external tool link '
- . 'for each problem set, this option requires more maintenance of the LMS course.Mode in which the LANG and DIR settings for a single problem are determined.
The system will ' - . 'set the LANGuage attribute to either a value determined from the problem, a course-wide ' - . 'default, or the system default, depending on the mode selected. The tag will only be added to ' - . 'the DIV enclosing the problem if it is different than the value which should be set in the main ' - . 'HTML tag set for the entire course based on the course language.
There are two options ' - . 'for the DIRection attribute: "ltr" for left-to-write scripts, and "rtl" for right-to-left ' - . 'scripts like Arabic and Hebrew.
The DIRection attribute is needed to trigger proper ' - . 'display of the question text when the problem text-direction is different than that used by the ' - . 'current language of the course. For example, English problems from the library browser would ' - . 'display improperly in RTL mode for a Hebrew course, unless the problen Direction is set to LTR.' - . '
The feature to set a problem language and direction was only added in 2018 to the PG ' - . 'language, so most problems will not declare their language, and the system needs to fall back ' - . 'to determining the language and direction in a different manner. The OPL itself is all English, ' - . 'so the system wide fallback is to en-US in LTR mode.
Since the defaults fall back ' - . 'to the LTR direction, most sites should be fine with the "auto::" mode, but may want to select ' - . 'the one which matches their course language. The mode "force::ltr" would also be an option for ' - . 'a course which runs into trouble with the "auto" modes.
Modes:
Some servers handle courses taking place in different timezones. If this course is not showing ' - . 'the correct timezone, enter the correct value here. The format consists of unix times, such ' - . 'as "America/New_York", "America/Chicago", "America/Denver", "America/Phoenix" or ' - . '"America/Los_Angeles".
Complete list: ' - . 'TimeZoneFiles' - ), - type => 'timezone', - hashVar => '{siteDefaults}->{timezone}' - }, - { - var => 'hardcopyThemes', - doc => x('Enabled Site Hardcopy Themes'), - doc2 => x( - 'Choose which of the site PDF hardcopy themes are available. In addition to the themes selected here, ' - . 'all themes in the course hardcopyThemes folder will be available. Your selection must be saved ' - . 'and then the page must be reloaded before the new list of enabled themes will be reflected ' - . 'in the selections that follows.' - ), - values => [qw(empty.xml)], - type => 'checkboxlist', - min => 1, - hashVar => '{hardcopyThemes}' - }, - { - var => 'hardcopyTheme', - doc => x('Hardcopy Theme'), - doc2 => x('Choose a layout/styling theme for PDF hardcopy production.'), - values => [qw(empty.xml)], - type => 'popuplist', - hashVar => '{hardcopyTheme}' - }, - { - var => 'hardcopyThemePGEditor', - doc => x('Hardcopy Theme for Problem Editor'), - doc2 => x('Choose a layout/styling theme for PDF hardcopy production from the Prooblem Editor.'), - values => [qw(empty.xml)], - type => 'popuplist', - hashVar => '{hardcopyThemePGEditor}' - }, - { - var => 'showCourseHomeworkTotals', - doc => x('Show Total Homework Grade on Grades Page'), - doc2 => x( - 'When this is on students will see a line on the Grades page which has their total cumulative ' - . 'homework score. This score includes all sets assigned to the student.' - ), - type => 'boolean' - }, - { - var => 'pg{options}{enableProgressBar}', - doc => x('Enable Progress Bar and current problem highlighting'), - doc2 => x( - 'A switch to govern the use of a Progress Bar for the student; this also enables/disables the ' - . 'highlighting of the current problem in the side bar, and whether it is correct (✓), ' - . 'in progress (…), incorrect (✗), or unattempted (no symbol).' - ), - type => 'boolean' - }, - { - var => 'pg{timeAssignDue}', - doc => x('Default Time that the Assignment is Due'), - doc2 => x( - 'The time of the day that the assignment is due. This can be changed on an individual basis, ' - . 'but WeBWorK will use this value for default when a set is created.' - ), - type => 'time', - hashVar => '{pg}->{timeAssignDue}' - }, - { - var => 'pg{assignOpenPriorToDue}', - doc => x('Default Amount of Time (in minutes) before Due Date that the Assignment is Open'), - doc2 => x( - 'The amount of time (in minutes) before the due date when the assignment is opened. You can change ' - . 'this for individual homework, but WeBWorK will use this value when a set is created.' - ), - type => 'number', - hashVar => '{pg}->{assignOpenPriorToDue}' - }, - { - var => 'pg{answersOpenAfterDueDate}', - doc => x('Default Amount of Time (in minutes) after Due Date that Answers are Open'), - doc2 => x( - 'The amount of time (in minutes) after the due date that the Answers are available to student to ' - . 'view. You can change this for individual homework, but WeBWorK will use this value when a set ' - . 'is created.' - ), - type => 'number', - hashVar => '{pg}->{answersOpenAfterDueDate}' - }, - ], - [ - x('Optional Modules'), - { - var => 'achievementsEnabled', - doc => x('Enable Course Achievements'), - doc2 => x( - 'Activiating this will enable Mathchievements for webwork. Mathchievements can be managed ' - . 'by using the Achievement Editor link.' - ), - type => 'boolean' - }, - { - var => 'achievementPointsPerProblem', - doc => x('Achievement Points Per Problem'), - doc2 => x('This is the number of achievement points given to each user for completing a problem.'), - type => 'number' - }, - { - var => 'achievementItemsEnabled', - doc => x('Enable Achievement Rewards'), - doc2 => x( - 'Activating this will enable achievement rewards. This feature allows students to earn rewards by ' - . 'completing achievements that allow them to affect their homework in a limited way.' - ), - type => 'boolean' - }, - { - var => 'achievementExcludeSet', - doc => x('List of sets excluded from achievements'), - doc2 => x( - 'Comma separated list of set names that are excluded from all achievements. ' - . 'No achievement points and badges can be earned for submitting problems in these sets. ' - . 'Note that underscores (_) must be used for spaces in set names.' - ), - type => 'list' - }, - { - var => 'options{enableConditionalRelease}', - doc => x('Enable Conditional Release'), - doc2 => x( - 'Enables the use of the conditional release system. To use conditional release you need to specify a ' - . 'list of set names on the Problem Set Detail Page, along with a minimum score. Students will ' - . 'not be able to access that homework set until they have achieved the minimum score on all of ' - . 'the listed sets.' - ), - type => 'boolean' - }, - { - var => 'pg{ansEvalDefaults}{enableReducedScoring}', - doc => x('Enable Reduced Scoring'), - doc2 => x( - 'This sets whether the Reduced Scoring system will be enabled. If enabled you will need to set the ' - . 'default length of the reduced scoring period and the value of work done in the reduced scoring ' - . 'period below.
To use this, you also have to enable Reduced Scoring for individual ' - . 'assignments and set their Reduced Scoring Dates by editing the set data.
This works with ' - . 'the avg_problem_grader (which is the the default grader) and the std_problem_grader (the all ' - . 'or nothing grader). It will work with custom graders if they are written appropriately.
' - ), - type => 'boolean' - }, - { - var => 'pg{ansEvalDefaults}{reducedScoringValue}', - doc => x('Value of work done in Reduced Scoring Period'), - doc2 => x( - 'After the Reduced Scoring Date all additional work done by the student counts at a reduced rate. ' - . 'Here is where you set the reduced rate which must be a percentage. For example if this value ' - . 'is 50% and a student views a problem during the Reduced Scoring Period, they will see the ' - . 'message "You are in the Reduced Scoring Period: All additional work done counts 50% of the ' - . 'original."
To use this, you also have to enable Reduced Scoring and set the Reduced ' - . 'Scoring Date for individual assignments by editing the set data using the Hmwk Sets Editor.
' - . 'This works with the avg_problem_grader (which is the the default grader) and the ' - . 'std_problem_grader (the all or nothing grader). It will work with custom graders if they ' - . 'are written appropriately.
' - ), - labels => { - '0.1' => '10%', - '0.15' => '15%', - '0.2' => '20%', - '0.25' => '25%', - '0.3' => '30%', - '0.35' => '35%', - '0.4' => '40%', - '0.45' => '45%', - '0.5' => '50%', - '0.55' => '55%', - '0.6' => '60%', - '0.65' => '65%', - '0.7' => '70%', - '0.75' => '75%', - '0.8' => '80%', - '0.85' => '85%', - '0.9' => '90%', - '0.95' => '95%', - '1' => '100%' - }, - values => [qw(1 0.95 0.9 0.85 0.8 0.75 0.7 0.65 0.6 0.55 0.5 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1)], - type => 'popuplist' - }, - { - var => 'pg{ansEvalDefaults}{reducedScoringPeriod}', - doc => x('Default Length of Reduced Scoring Period in minutes'), - doc2 => x( - 'The Reduced Scoring Period is the default period before the due date during which all additional work ' - . 'done by the student counts at a reduced rate. When enabling reduced scoring for a set the ' - . 'reduced scoring date will be set to the due date minus this number. The reduced scoring date ' - . 'can then be changed. If the Reduced Scoring is enabled and if it is after the reduced scoring ' - . 'date, but before the due date, a message like "This assignment has a Reduced Scoring Period ' - . 'that begins 11/08/2009 at 06:17pm EST and ends on the due date, 11/10/2009 at 06:17pm EST. ' - . 'During this period all additional work done counts 50% of the original." will be displayed.' - ), - type => 'number' - }, - { - var => 'pg{options}{enableShowMeAnother}', - doc => x('Enable Show Me Another button'), - doc2 => x( - 'Enables use of the Show Me Another button, which offers the student a newly-seeded version ' - . 'of the current problem, complete with solution (if it exists for that problem).' - ), - type => 'boolean' - }, - { - var => 'pg{options}{showMeAnotherDefault}', - doc => x('Default number of attempts before Show Me Another can be used (-1 => Never)'), - doc2 => x( - 'This is the default number of attempts before show me another becomes available to students. ' - . 'It can be set to -1 to disable show me another by default.' - ), - type => 'number' - }, - { - var => 'pg{options}{showMeAnotherMaxReps}', - doc => x('Maximum times Show me Another can be used per problem (-1 => unlimited)'), - doc2 => x( - 'The Maximum number of times Show me Another can be used per problem by a student. ' - . 'If set to -1 then there is no limit to the number of times that Show Me Another can be used.' - ), - type => 'number' - }, - { - var => 'pg{options}{showMeAnother}', - doc => x('List of options for Show Me Another button'), - doc2 => x( - 'When viewing a problem, users may choose different methods of rendering formulas via an options ' - . 'box in the left panel. Here, you can adjust what display modes are listed.
Some display ' - . 'modes require other software to be installed on the server. Be sure to check that all display ' - . 'modes selected here work from your server.
The display modes are
You must use at least one display mode. If you select only ' - . 'one, then the options box will not give a choice of modes (since there will only be one active).' - . '
' - ), - min => 1, - values => [ "MathJax", "images", "plainText" ], - type => 'checkboxlist' - }, - { - var => 'pg{options}{displayMode}', - doc => x('The default display mode'), - doc2 => - x('Enter one of the allowed display mode types above. See \'display modes entry\' for descriptions.'), - min => 1, - values => [qw(MathJax images plainText)], - type => 'popuplist' - }, - { - var => 'pg{specialPGEnvironmentVars}{entryAssist}', - doc => x('Assist with the student answer entry process.'), - #doc2 => x( - # 'MathQuill renders students answers in real-time as they type on the keyboard.
MathView ' - # . 'allows students to choose from a variety of common math structures (such as fractions and ' - # . 'square roots) as they attempt to input their answers.
WIRIS provides a separate workspace ' - # . 'for students to construct their response in a WYSIWYG environment.
' - #), - doc2 => x( - 'MathQuill renders students answers in real-time as they type on the keyboard.
MathView ' - . 'allows students to choose from a variety of common math structures (such as fractions and ' - . 'square roots) as they attempt to input their answers.
' - ), - min => 1, - values => [qw(None MathQuill MathView)], - type => 'popuplist' - }, - { - var => 'pg{options}{showEvaluatedAnswers}', - doc => x('Display the evaluated student answer'), - doc2 => x( - 'Set to true to display the "Entered" column which automatically shows the evaluated student answer, ' - . 'e.g., 1 if student input is sin(pi/2). If this is set to false, e.g., to save space in the ' - . 'response area, the student can still see their evaluated answer by clicking on the typeset ' - . 'version of their answer.' - ), - type => 'boolean' - }, - { - var => 'pg{ansEvalDefaults}{useBaseTenLog}', - doc => x('Use log base 10 instead of base e'), - doc2 => x('Set to true for log to mean base 10 log and false for log to mean natural logarithm.'), - type => 'boolean' - }, - { - var => 'pg{specialPGEnvironmentVars}{useOldAnswerMacros}', - doc => x('Use older answer checkers'), - doc2 => x( - 'During summer 2005, a newer version of the answer checkers was implemented for answers which are ' - . 'functions and numbers. The newer checkers allow more functions in student answers, and behave ' - . 'better in certain cases. Some problems are specifically coded to use new (or old) answer ' - . 'checkers. However, for the bulk of the problems, you can choose what the default will be here.' - . '
Choosing false here means that the newer answer checkers will be used by default, ' - . 'and choosing true means that the old answer checkers will be used by default.
' - ), - type => 'boolean' - }, - { - var => 'pg{specialPGEnvironmentVars}{parseAlternatives}', - doc => x('Allow Unicode alternatives in student answers'), - doc2 => x( - 'Set to true to allow students to enter Unicode versions of some characters (like U+2212 for the ' - . 'minus sign) in their answers. One reason to allow this is that copying and pasting output ' - . 'from MathJax can introduce these characters, but it is also getting easier to enter these ' - . 'characters directory from the keyboard.' - ), - type => 'boolean' - }, - { - var => 'pg{specialPGEnvironmentVars}{convertFullWidthCharacters}', - doc => x('Automatically convert Full Width Unicode characters to their ASCII equivalents'), - doc2 => x( - 'Set to true to have Full Width Unicode character (U+FF01 to U+FF5E) converted to their ASCII ' - . 'equivalents (U+0021 to U+007E) automatically in MathObjects. This may be valuable for Chinese ' - . 'keyboards, for example, that automatically use Full Width characters for parentheses and ' - . 'commas.' - ), - type => 'boolean' - }, - { - var => 'pg{ansEvalDefaults}{numRelPercentTolDefault}', - doc => x('Allowed error, as a percentage, for numerical comparisons'), - doc2 => x( - 'When numerical answers are checked, most test if the student\'s answer is close enough to the ' - . 'programmed answer be computing the error as a percentage of the correct answer. This value ' - . 'controls the default for how close the student answer has to be in order to be marked correct.' - . 'A value such as 0.1 means 0.1 percent error is allowed.
' - ), - type => 'number' - }, - { - var => 'pg{specialPGEnvironmentVars}{waiveExplanations}', - doc => x('Skip explanation essay answer fields'), - doc2 => x( - 'Some problems have an explanation essay answer field, typically following a simpler answer field. ' - . 'For example, find a certain derivative using the definition. An answer blank would be present ' - . 'for the derivative to be automatically checked, and then there would be a separate essay answer ' - . 'field to show the steps of actually using the definition of the derivative, to be scored ' - . 'manually. With this setting, the essay explanation fields are supperessed. Instructors may ' - . 'use the exercise without incurring the manual grading.' - ), - type => 'boolean' - }, - { - var => 'pg{options}{showHintsAfter}', - doc => x('Default number of attempts before hints are shown in a problem (-1 => hide hints)'), - doc2 => x( - 'This is the default number of attempts a student must make before hints will be shown to the student. ' - . 'Set this to -1 to hide hints. Note that this can be overridden with a per problem setting.' - ), - type => 'number' - }, - { - var => 'problemGraderScore', - doc => x('Method to enter problem scores in the single problem manual grader'), - doc2 => x( - 'This configures if the single problem manual grader has inputs to enter problem scores as a percent, ' - . 'a point value, or both. Note, the problem score is always saved as a percent, so when ' - . 'using a point value, the problem score will be rounded to the nearest whole percent.' - ), - values => [qw(Percent Point Both)], - type => 'popuplist' - }, - { - var => 'pg{options}{enterKey}', - doc => x('Enter Key Behavior'), - doc2 => x( - 'If this is set to "preview", hitting the enter key on a homework problem page activates the "Preview ' - . 'My Answers" button. If this is set to "submit", then the enter key activates the "Submit ' - . 'Answers" button instead. Or if that button is not present, it will activate the "Check ' - . 'Answers" button. Or if that button is also not present, it will activate the "Preview My ' - . 'Answers" button. A third option is "conservative". In this case, the enter key behaves like ' - . '"preview" when the "Submit" button is available and there are only finitely many attempts ' - . 'allowed. Otherise the enter key behaves like "submit". Note that this is only affects ' - . 'homework problem pages, not test/quiz pages, and not instructor pages like the PG Editor ' - . 'and the Library Browser.' - ), - type => 'popuplist', - values => ['preview', 'submit', 'conservative'] - } - ], - [ - x('E-Mail'), - { - var => 'mail{feedbackSubjectFormat}', - doc => x('Format for the subject line in feedback e-mails'), - doc2 => x( - 'When students click the Email Instructor button to send feedback, WeBWorK fills in the ' - . 'subject line. Here you can set the subject line. In it, you can have various bits of ' - . 'information filled in with the following escape sequences.-
- - -
-
-
-
-
-
- |
-
- 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. -
-
-
-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 e-mail 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(<
-
-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
-User 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 f6aa8eadf3..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 User Options" 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
-e-mail account!
-
-
-
-If you prefer to receive your e-mail at a location other than your
-Union College account, you should change your e-mail 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 e-mail forwarded to another address
-automatically if you wish.
-
-
-
-Finally, when you have made the changes that you want to make, select
-the "Homework Sets" 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 . '
-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(<
-
-
-
-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/\</g; # make the script visible for debugging
-#warn "script=$javascript" ; # check that the script was created
-
-
-
-## 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( javaScript_cubic_spline(~~@x, ~~@y, name =>'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
-
-#
-#
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 @@
-#
-
-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.
-#
-#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 e8a5db2e2b..0000000000
--- a/courses.dist/modelCourse/templates/setOrientation/course_info.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-You have logged into WeBWorK!
-
-' . $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 '
-);
-
-$ECOMMENT = MODES(
- TeX => '}',
- Latex2HTML => $bHTML . '
' . $eHTML,
- HTML => '
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
- . ' ' . $eHTML,
- HTML => ''
- );
-}
-
-sub EndExample {
- MODES(
- TeX => "\n",
- Latex2HTML => $bHTML . '
'
- );
-}
-
-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{};
-}
-
-##################################################
-#
-# 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 eb10283bed..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}User 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}User Settings$RQ link, selecting the ${LQ}images${RQ}
-radio button, pressing the ${LQ}Change User 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('
-
-
-
-