november 3, 2001ictcm conference1 applied calculus on the web applets & applications professor...
Post on 20-Dec-2015
218 views
TRANSCRIPT
November 3, 2001 ICTCM Conference 1
Applied Calculus on the WebApplets & Applications
Professor Michael S. PilantProfessor Michael S. Pilant
Department of MathematicsDepartment of Mathematics
Texas A&M UniversityTexas A&M University
November 3, 2001 ICTCM Conference 2
Applied Calculus on the WebApplets & Applications
BackgroundBackground TeachingTeaching TrainingTraining ExplorationExploration AssessmentAssessment
November 3, 2001 ICTCM Conference 3
Applied Calculus on the WebApplets & Applications
BackgroundBackground Finite Math on the WebFinite Math on the Web Project – Project –
This began in 1998 as a way to present the core This began in 1998 as a way to present the core mathematics curriculum to students at Texas mathematics curriculum to students at Texas A&M University, a large public state university A&M University, a large public state university with approximately 35,000 undergraduate with approximately 35,000 undergraduate students.students.
November 3, 2001 ICTCM Conference 4
Applied Calculus on the WebApplets & Applications
BackgroundBackground Enrollments in 2000Enrollments in 2000
Finite Math - Math 166 – 2,152 studentsFinite Math - Math 166 – 2,152 students Business Math - Math 141 – 5,728 studentsBusiness Math - Math 141 – 5,728 students Applied CalculusApplied Calculus - Math 142 – 4,054 students - Math 142 – 4,054 students Total = 11,934Total = 11,934
November 3, 2001 ICTCM Conference 5
Applied Calculus on the WebApplets & Applications
BackgroundBackground Enrollments in 2001Enrollments in 2001
Finite Math - Math 166 – 2,070 studentsFinite Math - Math 166 – 2,070 students Business Math - Math 141 – 5,735 studentsBusiness Math - Math 141 – 5,735 students Applied CalculusApplied Calculus - Math 142 – 3,813 students - Math 142 – 3,813 students Total = 11,618Total = 11,618
November 3, 2001 ICTCM Conference 6
Applied Calculus on the WebApplets & Applications
BackgroundBackground
Use Use Finite Math on the WebFinite Math on the Web
as a model for as a model for
Applied Calculus on the WebApplied Calculus on the Web
November 3, 2001 ICTCM Conference 7
Applied Calculus on the WebApplets & Applications
Overall Design ConsiderationsOverall Design Considerations Initial use – to illustrate a concept, allow limited Initial use – to illustrate a concept, allow limited
interaction - interaction - teachingteaching Reinforcement of concepts – feedback, allow more Reinforcement of concepts – feedback, allow more
interaction - interaction - trainingtraining ExplorationExploration – full functionality and interaction – full functionality and interaction AssessmentAssessment – checkpoint for students and/or instructors – checkpoint for students and/or instructors
November 3, 2001 ICTCM Conference 8
Applied Calculus on the WebApplets & Applications
TeachingTeaching Finite Math on the Web Finite Math on the Web – – TopicalTopical
Counting and Probability,Counting and Probability,Conditional Probability, Conditional Probability, Statistics, Statistics, Probability Distributions, Probability Distributions, Financial ApplicationsFinancial Applications
Lines and Slopes, Lines and Slopes, Least Squares, Least Squares, Matrices, Matrices, Linear Programming, Linear Programming, Sets, Sets,
November 3, 2001 ICTCM Conference 9
Applied Calculus on the WebApplets & Applications
TeachingTeaching Applied Calc on the Web Applied Calc on the Web – Sequential– Sequential
Function Behavior, Function Behavior, Optimization, Optimization, Integration, Integration, Area, Area, Multi-variable ApplicationsMulti-variable Applications
Polynomial Functions, Polynomial Functions, Logarithmic and Logarithmic and Exponential Functions, Exponential Functions, Limits and Continuity, Limits and Continuity, Rates of Change, Rates of Change, Rules of Differentiation, Rules of Differentiation,
November 3, 2001 ICTCM Conference 10
Applied Calculus on the WebApplets & Applications
TeachingTeaching (Re-)Introduce basic concepts, for example:(Re-)Introduce basic concepts, for example:
Graph of a functionGraph of a function Intercepts (roots)Intercepts (roots) Intersections between curvesIntersections between curves Maximum, minimumMaximum, minimum Definitions of slopeDefinitions of slope
November 3, 2001 ICTCM Conference 11
Applied Calculus on the WebApplets & Applications
TeachingTeaching Initially, the applets should have very Initially, the applets should have very
simple “look and feel.”simple “look and feel.” Respond to mouse click and dragRespond to mouse click and drag Open with an image (or data) appropriate to Open with an image (or data) appropriate to
contextcontext
November 3, 2001 ICTCM Conference 12
Applied Calculus on the WebApplets & Applications
Basic AppletBasic Applet
Plots a functionPlots a function
set by HTMLset by HTML
<param> flag<param> flag
November 3, 2001 ICTCM Conference 13
Applied Calculus on the WebApplets & Applications
Basic AppletBasic Applet
Zoom inZoom in
Rescale coordinatesRescale coordinates
November 3, 2001 ICTCM Conference 14
Applied Calculus on the WebApplets & Applications
Basic AppletBasic Applet
Select functionSelect function
Show coordinatesShow coordinates
November 3, 2001 ICTCM Conference 15
Applied Calculus on the WebApplets & Applications
Basic AppletBasic Applet
Show axesShow axes
Show gridShow grid
set by HTMLset by HTML
<param> flag<param> flag
November 3, 2001 ICTCM Conference 16
Applied Calculus on the WebApplets & Applications
TrainingTraining Subsequently, the applet is used in such a Subsequently, the applet is used in such a
way as to reinforce basic concepts and way as to reinforce basic concepts and algorithmsalgorithms
Zooming in and out becomes proceduralizedZooming in and out becomes proceduralized
November 3, 2001 ICTCM Conference 17
Applied Calculus on the WebApplets & Applications
Basic AppletBasic Applet
Show plot toolsShow plot tools
set by HTMLset by HTML
<param> flag<param> flag
November 3, 2001 ICTCM Conference 18
Applied Calculus on the WebApplets & Applications
Basic AppletBasic Applet
Zoom inZoom in
Zoom outZoom out
Show/Hide AxesShow/Hide Axes
Show/Hide GridShow/Hide Grid
ResetReset
November 3, 2001 ICTCM Conference 19
Applied Calculus on the WebApplets & Applications
Basic AppletBasic Applet
Show functionShow function
ToolsTools
set by HTMLset by HTML
<param> flag<param> flag
November 3, 2001 ICTCM Conference 20
Applied Calculus on the WebApplets & Applications
Basic AppletBasic Applet
Enter functionEnter function
Plot functionPlot function
Show secantShow secant
Show tangentShow tangent
ClearClear
November 3, 2001 ICTCM Conference 21
Applied Calculus on the WebApplets & Applications
ExplorationExploration Once the basic concepts and processes Once the basic concepts and processes
become familiar, students can explore become familiar, students can explore Apply concepts to new situations (domains)Apply concepts to new situations (domains)
November 3, 2001 ICTCM Conference 22
Applied Calculus on the WebApplets & Applications
Investigating
limits of
Functions (e.g.
x*(sin(1/x))
November 3, 2001 ICTCM Conference 23
Applied Calculus on the WebApplets & Applications
AssessmentAssessment In order to provide feedback to the In order to provide feedback to the
instructor (and to the student!) some type of instructor (and to the student!) some type of assessment is required.assessment is required.
November 3, 2001 ICTCM Conference 24
Applied Calculus on the WebApplets & Applications
AssessmentAssessment Basic (declarative) knowledgeBasic (declarative) knowledge
Multiple choice, instant feedbackMultiple choice, instant feedback Algorithmic (procedural) knowledgeAlgorithmic (procedural) knowledge
Multiple choice, short answerMultiple choice, short answer Problem solving (strategic knowledge)Problem solving (strategic knowledge)
Workout, multi-step, applet basedWorkout, multi-step, applet based
November 3, 2001 ICTCM Conference 25
Applied Calculus on the WebApplets & Applications
AssessmentAssessment In order to provide meaningful assessment, In order to provide meaningful assessment,
we require the applet to we require the applet to Communicate with the browser via HTML Communicate with the browser via HTML
<param> …</param> tags<param> …</param> tags Allow communication via JavaScript through Allow communication via JavaScript through
public functionspublic functions
November 3, 2001 ICTCM Conference 26
Applied Calculus on the WebApplets & Applications
<applet name=“myApplet” …><applet name=“myApplet” …> … …<param name="background_color" value="ffffff"><param name="background_color" value="ffffff"><param name="xmin" value="-2.0"><param name="xmin" value="-2.0"><param name="xmax" value="2.0"><param name="xmax" value="2.0"><param name="ymin" value="-2.0"><param name="ymin" value="-2.0"><param name="ymax" value="2.0"><param name="ymax" value="2.0"><param name="function" value="sin(x)"><param name="function" value="sin(x)"><param name="show_grid" value="true"><param name="show_grid" value="true"><param name="show_axes" value="true"><param name="show_axes" value="true"><param name="show_plot_tools" value="true"><param name="show_plot_tools" value="true"><param name="show_function_tools" value="true"><param name="show_function_tools" value="true"></applet></applet>
Integration with HTML
November 3, 2001 ICTCM Conference 27
Applied Calculus on the WebApplets & Applications
<script language="JavaScript"><script language="JavaScript">
function showSelection(){function showSelection(){
var str = document.myApplet.plot2d.getSelectedObjectType();var str = document.myApplet.plot2d.getSelectedObjectType();
document.myForm.object.value = str;document.myForm.object.value = str;
}}
</script></script>
… …
<form name=myForm><form name=myForm>
<input type=button value="selected object"<input type=button value="selected object"
onClick="showSelection();">onClick="showSelection();">
<input name="object" type=text size=30><input name="object" type=text size=30>
</form></form>
Communication with JavaScript/Forms
November 3, 2001 ICTCM Conference 28
Applied Calculus on the WebApplets & Applications
Communication
with Scripts
November 3, 2001 ICTCM Conference 29
Applied Calculus on the WebApplets & Applications
Intersections
between two
curves (e.g.
sin(x), cos(x))
November 3, 2001 ICTCM Conference 30
Applied Calculus on the WebApplets & Applications
Finding the slope
of the tangent
to a curve
November 3, 2001 ICTCM Conference 31
Applied Calculus on the WebApplets & Applications
Finding curve
based on a
formula
November 3, 2001 ICTCM Conference 32
Applied Calculus on the WebApplets & Applications
Assessment methods using appletsAssessment methods using applets JavaScript (client-side)JavaScript (client-side) Cgi-bin scripts (client-server)Cgi-bin scripts (client-server) Assessment built into appletAssessment built into applet CookiesCookies Databases Databases
MySQL, PostgreSQLMySQL, PostgreSQL
November 3, 2001 ICTCM Conference 33
Applied Calculus on the WebApplets & Applications
JavaScript exampleJavaScript example
// Answer to Q10 is x=55/102=0.539 and p=745/306=2.43// Answer to Q10 is x=55/102=0.539 and p=745/306=2.43
// If x=0.539 is substituted, p = 2.44 results // If x=0.539 is substituted, p = 2.44 results
// allow 2.43 or 2.44 as answer// allow 2.43 or 2.44 as answer
// must encode this answer!// must encode this answer!
function checkAnswerQ10() {function checkAnswerQ10() {
var x = deleteSpaces( document.myform.Q10x.value )var x = deleteSpaces( document.myform.Q10x.value )
var p = deleteSpaces( document.myform.Q10p.value )var p = deleteSpaces( document.myform.Q10p.value )
}}
November 3, 2001 ICTCM Conference 34
Applied Calculus on the WebApplets & Applications
JavaScript exampleJavaScript exampleif ( eval(x) == 0.539 && Math.abs(eval(p)-2.43)<0.02 ) {if ( eval(x) == 0.539 && Math.abs(eval(p)-2.43)<0.02 ) {
Tried[9] = "Incorrect"Tried[9] = "Incorrect"
alert( "Watch your units!" );alert( "Watch your units!" );
}}
else if ( x == "539" && Math.abs(eval(p)-2.43)<0.02 ){else if ( x == "539" && Math.abs(eval(p)-2.43)<0.02 ){
Tried[9] = "Correct"Tried[9] = "Correct"
}}
elseelse
Tried[9] = "Incorrect"Tried[9] = "Incorrect"
alert("Question 10: Answer has been graded.\n"alert("Question 10: Answer has been graded.\n"
+ "Click Done to have your grade recorded.");+ "Click Done to have your grade recorded.");
November 3, 2001 ICTCM Conference 35
Applied Calculus on the WebApplets & Applications
Cgi-bin scriptsCgi-bin scripts
<form name=“myForm” method=“Post”<form name=“myForm” method=“Post”
action=http://server/cgi-bin/script.pl>action=http://server/cgi-bin/script.pl>
… …
<input type=hidden name=“var1” value=val1><input type=hidden name=“var1” value=val1>
… …
</form></form>
November 3, 2001 ICTCM Conference 36
Applied Calculus on the WebApplets & Applications
Cgi-bin scriptsCgi-bin scripts
<script language=“JavaScript”><script language=“JavaScript”>
……
document.myform.action=document.myform.action=
http://server/cgi-bin/newscript.plhttp://server/cgi-bin/newscript.pl
document.myform.submit( );document.myform.submit( );
……
</script></script>
November 3, 2001 ICTCM Conference 37
Applied Calculus on the WebApplets & Applications
Assessment built into appletAssessment built into applet1.1. Data encoded into applet is very secureData encoded into applet is very secure
2.2. Parametrically generate problems from built in Parametrically generate problems from built in templatestemplates
3.3. Specialized grading and evaluation algorithms Specialized grading and evaluation algorithms can be built into appletcan be built into applet
Example: Example: Venn DiagramsVenn Diagrams
November 3, 2001 ICTCM Conference 38
Applied Calculus on the WebApplets & Applications
CookiesCookies
function setCookie (name, value) {function setCookie (name, value) { var str;var str; if (value != null)if (value != null) str = name + "=" + escape(value);str = name + "=" + escape(value); var now = new Date()var now = new Date() var nowplus1 = now.getTime() + (52*7*24*60*60*1000)var nowplus1 = now.getTime() + (52*7*24*60*60*1000) now.setTime(nowplus1)now.setTime(nowplus1) str += top.cookieString;str += top.cookieString; str += ";expires="+now.toGMTString();str += ";expires="+now.toGMTString();document.cookie = str+";";document.cookie = str+";";}}
November 3, 2001 ICTCM Conference 39
Applied Calculus on the WebApplets & Applications
CookiesCookies
function getCookie(name) {function getCookie(name) {
var cookie = " " + document.cookie;var cookie = " " + document.cookie;
var search = " " + name + "=";var search = " " + name + "=";
var setStr = null; var setStr = null;
var offset = 0;var offset = 0;
var end = 0;var end = 0;
November 3, 2001 ICTCM Conference 40
Applied Calculus on the WebApplets & Applications
CookiesCookies
if (cookie.length > 0) {if (cookie.length > 0) { offset = cookie.indexOf(search);offset = cookie.indexOf(search); if (offset != -1) {if (offset != -1) { offset += search.length;offset += search.length; end = cookie.indexOf(";", offset)end = cookie.indexOf(";", offset) if (end == -1) { end = cookie.length; }if (end == -1) { end = cookie.length; } setStr = unescape(cookie.substring(offset, end));setStr = unescape(cookie.substring(offset, end)); }} }} return(setStr);return(setStr);}}
November 3, 2001 ICTCM Conference 41
Applied Calculus on the WebApplets & Applications
DatabasesDatabases Simple – file systems on serverSimple – file systems on server Cookies – on clientCookies – on client SQL – MySQL, Access, SQL Server, SQL – MySQL, Access, SQL Server,
PostgreSQL, …PostgreSQL, … Connect viaConnect via
Embed-perl, php, cgi-bin scripts, jdbcEmbed-perl, php, cgi-bin scripts, jdbcAdvantages: SecurityAdvantages: SecurityDisadvantages: ComplexityDisadvantages: Complexity