Using Mathematica with Teenagers

Experiences with High School and Middle School Students

Abby Brown

Torrey Pines High School
San Diego, California

Mathematica in my Classes

As a Student

As a Teacher

Worksheets and Tests

Examples in Lecture Notes

Computer Lab Activities

Student Use in Class Presentations

webMathematica: Math Rules! Web Site

Advanced Topics in Mathematics II (High School)

Math X (Middle School)

Mathematica in Class Notes - High School

Basic Examples

Mathematica on the Fly

Plot[{Sin[x],x/2},{x,0,2Pi}]

Integrate[Csc[x]^4,x]

Prepared Examples for Lessons

threeplanes

Interactivity

Mathematica on the Fly

Manipulate[
ContourPlot[(x-hk[[1]])^2/9+(y-hk[[2]])^2/4==1,{x,-5,5},{y,-5,5}],
{hk,{-3,-3},{3,3}}]

(* With some formatting *)
Manipulate[
Pane[Text@Column[{
Style[TraditionalForm[(x-hk[[1]])^2/9+(y-hk[[2]])^2/4==1],20],
Show[
ContourPlot[(x-hk[[1]])^2/9+(y-hk[[2]])^2/4==1,{x,-5,5},{y,-5,5},
Frame->False,Axes->True,PlotRange->5,ImageSize->250],
Graphics[{Red,Point[hk]}]]
},ItemSize->{Automatic,{3,10}},Alignment->{Center,Center}],Alignment->{Center,Center}],
{hk,{-3,-3},{3,3},{1,1}}]

Prepared Examples for Lessons

SeriesStepper

SolidsOfRevolution

Advanced Topics in Mathematics II - High School

Advanced Topics in Mathematics II - High School

New Elective Math Class

Partnership with Wolfram Research, Microsoft, and Lenovo

Student Projects

Math Projects

CoordSystems

Fun Projects

KevinsDisco

Interdisciplinary Projects

solarsystem

Community Service Projects

OneStepEquationSolver

Web Site: www.MathematiClub.com

Math X - Middle School

Math X - Middle School

New Elective Math Class

Challenges

Students' Backgrounds

Practice with Notation

Understanding of Function

Excitement

Learning Quickly

Having Fun

Desire to Learn More: Math and Mathematica

Math X - Middle School

Student Projects - First Assignment

Graphics

Graphics[{
{Lighter[Blue,0.6],Rectangle[{-8,-7},{8,8}]},
{Blue,Polygon[{{-8,8},{0,13},{8,8}}]},
{Red,Rectangle[{5,-7},{2,-2}]},
{Pink,Disk[{2.6,-4.6},{0.3,0.3}]},
{Purple,Rectangle[{2.5,5},{5.5,2}]},
{Purple,Rectangle[{-2.5,5},{-5.5,2}]},
{Green, Polygon[{{6,9.3},{3,11.2},{3,14},{6,14},{6,10}}]},
{Orange,Text[Style["House",15,Bold,FontFamily->"Verdana"],{-11,11}]},
{Lighter[Purple,0.6],Line[{{5.5,3.5},{2.5,3.5}}]},
{Lighter[Purple,0.6],Line[{{4,5},{4,2}}]},
{Lighter[Purple,0.6],Line[{{-5.5,3.5},{-2.5,3.5}}]},
{Lighter[Purple,0.6],Line[{{-4,5},{-4,2}}]},
{Thick,Darker[Green,0.6],Line[{{20,-7},{19,-6},{18,-7},{17,-6},{16,-7},{15,-6},{14,-7},{13,-6},{12,-7},{11,-6},{10,-7},{9,-6},{8,-7}}]},
{Thick,Darker[Green,0.6],Line[{{-8,-7},{-9,-6},{-10,-7},{-11,-6},{-12,-7},{-13,-6},{-14,-7},{-15,-6},{-16,-7},{-17,-6},{-18,-7},{-19,-6},{-20,-7}}]},
{Thick,Darker[Green,0.6],Line[{{8,-7},{-8,-7}}]},
{Yellow,Disk[{16,16},{3,3}]},
{Yellow,Arrow[{{12,16},{8,15}}]},
{Yellow, Arrow[{{14,13},{10,9}}]},
{Yellow,Arrow[{{17,12},{18,7}}]},
{Yellow,Arrow[{{13,19},{8,21}}]},
{Lighter[Purple,0.6],Point[{{2.5,2},{5.5,2},{5.5,5},{2.5,5},{-2.5,2},{-5.5,2},{-5.5,5},{-2.5,5}}]}
},
Axes->True,PlotRange->20]

Introduction to Sliders and Manipulate

Manipulate[Graphics[{
{Brown,Polygon[{{5,5},{5,10},{12,10},{12,7},{15,7},{15,5}}]},{Thickness[.03],Yellow,Arrow[{{12,10},{15,7}}]},
{Gray,Disk[{7,n},2]},
{Thick,Gray,Circle[{12,n},1]},
{PointSize[.08],Black,Point[{{12,n},{10,7}}]},{Opacity[.5],Orange,Rectangle[{12,5},{9,9}]},
{Red,Text[Style["THRASHER",20],{9,9.5}]},
{Thickness[.05],Green,Line[{{12,5},{12,n}}]},
{Thickness[.05],Green,Line[{{7,5},{7,n}}]},
{Lighter[Brown],Disk[{12.9,7.8},.9]},
{PointSize[r],Black,Point[{{12.58,8},{13.2,8}}]},
{Thick,Red,Circle[{12.9,7.8},.5,{200Degree,330Degree}]},
{clr,PointSize[.05],Opacity[.4],Point[{{12.58,8},{13.2,8}}]}
},
Axes->False
],{{clr,Red},ColorSlider},{n,-2,5},{r,.01,.05},AutorunSequencing->All]

More Sliders and Manipulate

Manipulate[Graphics[{
{clr,Rectangle[{0.1,6},{12,0}]},
{Black,Rectangle[{9.8,3},{10,1.2+weele/1.5}]},
{Black,Disk[{5,weele},.5]},
{Black ,Disk[{9.9,1.2+weele/1.5},.5]},
{lr,Disk[{9.9,1.2+weele/1.5},.2]},
{lr ,Disk[{5,weele},.2]},{Black,Polygon[{{0,1},{4,4},{10,4},{12,6},{12,3}}]},
{clr2,Arrow[{{4,4},{4,3},{2.5-n,3}}]},
{clr2,Point[{{0.2,1.15}}]},
{lr,Disk[{11.9,5.8},.09]},
{clr2,Text[Style["the party plane",12],{6,3.5}]},
{Black,Polygon[{{6,2},{4,2.5},{6,1.7},{5,weele}}]},
{White,Line[{{4,2},{5,3},{10,3}}]},
{Axes->True}
}],
{{clr,Green},ColorSlider},{{lr,Blue},ColorSlider},{{clr2,Red},ColorSlider},{weele,.7,3},{n,0,2}]

What I have Learned

Changed Conversations: Concepts over Calculations

Challenge: Teaching Mathematics and Mathematica

Creativity and Flexibility: Allow Students to Explore

Corrections: Constant Review of Basics and Spiral in New Ideas

Control: Letting Go . . . Students Exceed My Skills

Using Mathematica with Teenagers

Pane[Row[{
Style[Column[{
Style["Abby Brown",Bold,30],
"Torrey Pines High School",
"Earl Warren Middle School",
"",
Style["abby@abbymath.com",Italic],
"",
Hyperlink["www.MathematiClub.com","http://www.MathematiClub.com"],
Hyperlink["www.MathRules.org","http://www.MathRules.org"],
Hyperlink["www.abbymath.com","http://www.abbymath.com"]
}],"Author",Plain,25]," ",

}],1000]

Initialization

Three Planes

threeplanes=Module[{system,soln,graph},
system={x+2y-3z==-5,x-3y+z==2,3x+y-z==0};

soln=Flatten[Solve[system,{x,y,z}]];
graph=Show[Plot3D[{Solve[system[[1]],z][[1,1,2]],Solve[system[[2]],z][[1,1,2]],Solve[system[[3]],z][[1,1,2]]},{x,Floor[soln[[1,2]]-1],Ceiling[soln[[1,2]]+1]},{y,Floor[soln[[2,2]]-1],Ceiling[soln[[2,2]]+1]},Mesh->False,PlotStyle->{{Green,Opacity[0.5]},{Blue,Opacity[0.5]},{Purple,Opacity[0.5]}},BoxRatios->{1,1,1},AxesEdge->{{-1,-1},{-1,-1},{-1,-1}},AxesLabel->{"x","y","z"},Boxed->False],Graphics3D[Point[{soln[[1,2]],soln[[2,2]],soln[[3,2]]}]]];

Framed@Style[Grid[{{"System","","Solution","","Graph"},{TraditionalForm[Column[Join[system,{""}]]],"   ",Column[{Row[{Style["x",Italic]," = ",soln[[1,2]]}],Row[{Style["y",Italic]," = ",soln[[2,2]]}],Row[{Style["z",Italic]," = ",soln[[3,2]]}]}],"  ",graph}},Alignment->{Center,Top}],20]
];

Series

SeriesStepper=Manipulate[

If[nmax>nmaxmax,nmax=nmaxmax];

Switch[series,
ser1,
a[n_]:=1/2^n;
xmin=1/2; xmax=1.03;yrange={-0.02,0.15},
ser2,
a[n_]:=1/n;
xmin=1; xmax=5;yrange={-0.04,0.3},
ser3,
a[n_]:=1/n^2;
xmin=1; xmax=1.75;yrange={-0.02,0.15},
ser4,
a[n_]:=(-1)^n/n;
xmin=-1; xmax=-0.5;yrange={-0.02,0.3}
];

tick[x_]:={Line[{{x,-0.01},{x,0.01}}]};

before[list_,x_]:=list[[Flatten[Position[list,x]][[1]]-1]];

arc[x_]:=If[Length[ticklist]≤1,{},Circle[{(x+before[ticklist,x])/2,0},Abs[x-before[ticklist,x]]/2,{0,Pi}]
];

arclabel[nth_]:=If[nth≤1,{},Module[{x},
x=Sum[a[n],{n,1,nth}];Text[ToString[If[MemberQ[opts,decimals],N,Identity][a[nth]],TraditionalForm],{(x+before[ticklist,x])/2,(Abs[x-before[ticklist,x]]/2)*1.1},{0,-1}]
]];

ticklist=Table[Sum[a[n],{n,1,m}],{m,1,nmaxmax}];

ticklabellist=Table[Text[ToString[If[MemberQ[opts,decimals],N,Identity][Sum[a[n],{n,1,m}]],TraditionalForm],{Sum[a[n],{n,1,m}],yrange[[1]]*0.9(*-0.07*a[1]/2*)},{0,1}],{m,1,nmaxmax}];

arclist=Map[arc,ticklist];
arclabellist=Table[arclabel[n],{n,1,nmaxmax}];

Column[{
Deploy[Graphics[{
If[MemberQ[opts,axis],{Line[{{xmin,0},{xmax,0}}]},{}],
If[MemberQ[opts,showlast],{tick[ticklist[[nmax]]],ticklabellist[[nmax]],arclabellist[[nmax]]},{}],
If[MemberQ[opts,showticks],{Map[tick,If[nmax≥nmaxmax,Take[ticklist,{1,nmaxmax}],Take[ticklist,{1,nmax}]]]},{}],
If[MemberQ[opts,showticklabels]&&!MemberQ[opts,showlast],{If[nmax≥nmaxmax,Take[ticklabellist,{1,nmaxmax}],Take[ticklabellist,{1,nmax}]]},{}],
If[MemberQ[opts,showarcs],{Blue,If[nmax≥nmaxmax,Take[arclist,{2,nmaxmax}],Take[arclist,{2,nmax}]]},{}],
If[MemberQ[opts,showsteps]&&!MemberQ[opts,showlast],{If[nmax≥nmaxmax,Take[arclabellist,{1,nmaxmax}],Take[arclabellist,{1,nmax}]]},{}]},
PlotRange->{{xmin,xmax},yrange},Axes->{False,False},
AspectRatio->Automatic,ImageSize->450,ImagePadding->20]
],
Text@Style[ToString[HoldForm[Sum[seq,{n,1,themax}]]/.{seq->a[n],themax->nmaxmax},TraditionalForm],24]
}],

{{series,ser1,Style["Σ",30]},{ser1->ToString[1/2^n,TraditionalForm],ser2->ToString[1/n,TraditionalForm],ser3->ToString[1/n^2,TraditionalForm],ser4->ToString[(-1)^n/n,TraditionalForm]},ControlType->PopupMenu},

{{opts,{showticks,showarcs,showticklabels,showsteps,axis, showlast},""},{showticklabels->"tick labels",showsteps->"step sizes",showarcs->"arcs",showticks->"ticks",axis->"axis",decimals->"decimals",showlast->"only last"},ControlType->CheckboxBar},
{{nmax,1,"step"},1,nmaxmax,1,ImageSize->Large},
{{nmaxmax,15,"steps"},{15,30,60},ControlType->PopupMenu},
TrackedSymbols:>{nmax,opts,series,nmaxmax},Method->{"ExtraVariables":>{a}},AutorunSequencing->{3}];

Solids of Revolution

Revolving about an axis parallel to the x-axis

SolidOfRevolutionX:=
Module[{a,b,xmin,xmax,ymin,ymax,f,g,rotaxis,miny,maxy},
Manipulate[
updatevalues;
a:=aval; b:=bval;
xmin=xminval;xmax=xmaxval; ymax=ymaxval;
rotaxis=If[xaxisrot,0,rotaxisval];
f[x2_]:=ffcn/.x->x2;
g[x2_]:=gfcn/.x->x2;

miny[x_]:=Min[Abs[f[x]-rotaxis],Abs[g[x]-rotaxis]];
maxy[x_]:=Module[{maxval},
maxval=Max[Abs[f[x]-rotaxis],Abs[g[x]-rotaxis]];
If[miny[x]==maxval,maxval+0.001,maxval]
];

Row[{
Show[
Plot[{f[x],g[x],-f[x]+2rotaxis,-g[x]+2rotaxis},{x,a,b},
PlotRange->{{xmin,xmax},{-ymax,ymax}}, PlotRangePadding->0.25,AspectRatio->Automatic,ImageSize->200,PlotStyle->Blue,Filling->{1->{2},3->{4}},FillingStyle->RGBColor[0.75,0.85,0.95]],

Graphics[{
{Blue,Line[{{a,-f[a]+2rotaxis},{a,f[a]}}],Line[{{b,-f[b]+2rotaxis},{b,f[b]}}]},
{Purple,Line[{{x0,g[x0]},{x0,f[x0]}}]},
{Red,Line[{{x0,rotaxis},{x0,g[x0]}}]},
{Purple,Opacity[0.25],Rectangle[{x0-deltax/2,-maxy[x0]+rotaxis},{x0+deltax/2,maxy[x0]+rotaxis}]},
{Darker[Green,0.5],Dashing[Medium],Line[{{xmin,rotaxis},{xmax,rotaxis}}]}
}]
],

Show[
If[showsurface&&Not[showallwashers],{
ParametricPlot3D[{u,Abs[g[u]-rotaxis]Cos[v],Abs[g[u]-rotaxis]Sin[v]+rotaxis},{u,a,b},{v,0,2Pi},PlotStyle->{Gray,Opacity[0.2]},Mesh->False,PlotPoints->24,MaxRecursion->1],

ParametricPlot3D[{u,Abs[f[u]-rotaxis]Cos[v],Abs[f[u]-rotaxis]Sin[v]+rotaxis},{u,a,b},{v,0,2Pi},PlotStyle->{Gray,Opacity[0.2]},Mesh->False,PlotPoints->24,MaxRecursion->1]
},{}],

ParametricPlot3D[{{x0-deltax/2,r*Cos[t],r*Sin[t]+rotaxis},{x0+deltax/2,r*Cos[t],r*Sin[t]+rotaxis}},{r,miny[x0],maxy[x0]},{t,0,2Pi},PlotPoints->{2,24},MaxRecursion->1,Mesh->False,PlotStyle->Lighter[Purple,0.75]],

If[TrueQ@showallwashers,{
Table[
ParametricPlot3D[{{x1+u-deltax/2,Abs[g[x1]-rotaxis]*Cos[t],Abs[g[x1]-rotaxis]*Sin[t]+rotaxis},{x1+u-deltax/2,Abs[f[x1]-rotaxis]*Cos[t],Abs[f[x1]-rotaxis]*Sin[t]+rotaxis}},{u,0,deltax},{t,0,2Pi},PlotPoints->{2,24},MaxRecursion->1,Mesh->False,PlotStyle->Lighter[Purple,0.75]],
{x1,a,b,deltax}],
Table[
ParametricPlot3D[{{x1-deltax/2,r*Cos[t],r*Sin[t]+rotaxis},{x1+deltax/2,r*Cos[t],r*Sin[t]+rotaxis}},{r,miny[x1],maxy[x1]},{t,0,2Pi},PlotPoints->{2,24},MaxRecursion->1,Mesh->False,PlotStyle->Lighter[Purple,0.75]],
{x1,a,b,deltax}]
},
{}
], 

ParametricPlot3D[{{x0+u-deltax/2,Abs[g[x0]-rotaxis]*Cos[t],Abs[g[x0]-rotaxis]*Sin[t]+rotaxis},{x0+u-deltax/2,Abs[f[x0]-rotaxis]*Cos[t],Abs[f[x0]-rotaxis]*Sin[t]+rotaxis}},{u,0,deltax},{t,0,2Pi},PlotPoints->{2,24},MaxRecursion->1,Mesh->False,PlotStyle->If[showallwashers,Purple,Lighter[Purple,0.75]]],

Graphics3D[{
{},
{Purple,Line[{{x0+deltax/2,0,g[x0]},{x0+deltax/2,0,f[x0]}}]},
{Red,Line[{{x0+deltax/2,0,rotaxis},{x0+deltax/2,0,g[x0]}}]},
{Darker[Green,0.5],Dashing[Medium],Line[{{xmin,0,rotaxis},{xmax,0,rotaxis}}]}
}],

ImageSize->250,PlotRange->{{xmin,xmax},{-ymax,ymax},{-ymax,ymax}},Boxed->False,Axes->False,ViewPoint->{1,-3,1}]

}],
{{ffcn,-(x-1)(x-3)(x-6)(x-9)/30+6,Style[" f(x) = ",14]},InputField,ControlPlacement->Top},{{gfcn,x^2/25+3,Style[" g(x) = ",14]},InputField,ControlPlacement->Top},
{{aval,1,"a"},Number,ControlType->InputField,ImageSize->{30,20}},
{{bval,9,"b"},Number,ControlType->InputField,ImageSize->{30,20}},
{{xminval,0,"x-min"},Number,ControlType->InputField,ImageSize->{30,20}},{{xmaxval,10,"x-max"},Number,ControlType->InputField,ImageSize->{30,20}},
{{ymaxval,10,"y-max"},Number,ControlType->InputField,ImageSize->{30,20}},
{{updatevalues,False,"update"},{True,False}},
{{rotaxisval,0,"axis"},-ymax,ymax,ControlType->VerticalSlider},
{{xaxisrot,True,"x-axis"},{True,False}},
{{deltax,0.5,"Δx"},Number,ControlType->InputField,ImageSize->{40,20}},
{{showsurface,True,"surface"},{True,False}},
{{showallwashers,False,Column[{"washers"},Alignment->Right]},{True,False}},
{{x0,a,StringJoin["                      ",ToString[Subscript[x,0],StandardForm]]},aval,bval,ControlPlacement->Bottom},ControlPlacement->Left,TrackedSymbols:>{x0,rotaxisval,deltax,showsurface,updatevalues,showallwashers,xaxisrot},
Initialization:>{Clear[x,a,b,xmin,xmax,ymax,f,g]}]
]

Revolving about an axis parallel to the y-axis

SolidOfRevolutionY:=
Module[{a,b,xmin,xmax,ymin,ymax,f,g,rotaxis,miny,maxy},
Manipulate[
updatevalues;
a:=aval; b:=bval;
xmin=-xmaxval;xmax=xmaxval; ymax=ymaxval; ymin=yminval;
rotaxis=If[xaxisrot,0,rotaxisval];
f[x2_]:=ffcn/.y->x2;
g[x2_]:=gfcn/.y->x2;

miny[x_]:=Min[Abs[f[x]-rotaxis],Abs[g[x]-rotaxis]];
maxy[x_]:=Module[{maxval},
maxval=Max[Abs[f[x]-rotaxis],Abs[g[x]-rotaxis]];
If[miny[x]==maxval,maxval+0.001,maxval]
];

Column[{
Show[
RegionPlot[(g[y]≤x≤f[y])||(f[y]≤x≤g[y]),{x,a,b},{y,a,b}],
RegionPlot[Evaluate[(-g[y]≤x-2rotaxis≤-f[y])||(-f[y]≤x-2rotaxis≤-g[y])],{x,-b+2rotaxis,-a+2rotaxis},{y,a,b}],
ParametricPlot[{{f[y],y},{g[y],y},{-f[y]+2rotaxis,y},{-g[y]+2rotaxis,y}},{y,a,b},PlotStyle->Blue],

Graphics[{
{Blue,Line[{{-maxy[a]+rotaxis,a},{maxy[a]+rotaxis,a}}],Line[{{-maxy[b]+rotaxis,b},{maxy[b]+rotaxis,b}}]},
{Purple,Line[{{miny[x0]+rotaxis,x0},{maxy[x0]+rotaxis,x0}}]},
{Red,Line[{{rotaxis,x0},{miny[x0]+rotaxis,x0}}]},
{Purple,Opacity[0.25],Rectangle[{-maxy[x0]+rotaxis,x0-deltax/2},{maxy[x0]+rotaxis,x0+deltax/2}]},
{Darker[Green,0.5],Dashing[Medium],Line[{{rotaxis,ymin},{rotaxis,ymax}}]}
}],

Frame->False,Axes->True,PlotRange->{{xmin,xmax},{ymin,ymax}}, PlotRangePadding->0.25,AspectRatio->Automatic,ImageSize->300
],

Show[
If[showsurface&&Not[showallwashers],{
ParametricPlot3D[{Abs[g[u]-rotaxis]Cos[v],u,Abs[g[u]-rotaxis]Sin[v]+rotaxis},{u,a,b},{v,0,2Pi},PlotStyle->{Gray,Opacity[0.2]},Mesh->False,PlotPoints->24,MaxRecursion->1],

ParametricPlot3D[{Abs[f[u]-rotaxis]Cos[v],u,Abs[f[u]-rotaxis]Sin[v]+rotaxis},{u,a,b},{v,0,2Pi},PlotStyle->{Gray,Opacity[0.2]},Mesh->False,PlotPoints->24,MaxRecursion->1]
},{}],

ParametricPlot3D[{{r*Cos[t],x0-deltax/2,r*Sin[t]+rotaxis},{r*Cos[t],x0+deltax/2,r*Sin[t]+rotaxis}},{r,miny[x0],maxy[x0]},{t,0,2Pi},PlotPoints->{2,24},MaxRecursion->1,Mesh->False,PlotStyle->Lighter[Purple,0.75]],

If[TrueQ@showallwashers,{
Table[
ParametricPlot3D[{{Abs[g[x1]-rotaxis]*Cos[t],x1+u-deltax/2,Abs[g[x1]-rotaxis]*Sin[t]+rotaxis},{Abs[f[x1]-rotaxis]*Cos[t],x1+u-deltax/2,Abs[f[x1]-rotaxis]*Sin[t]+rotaxis}},{u,0,deltax},{t,0,2Pi},PlotPoints->{2,24},MaxRecursion->1,Mesh->False,PlotStyle->Lighter[Purple,0.75]],
{x1,a,b,deltax}],
Table[
ParametricPlot3D[{{r*Cos[t],x1-deltax/2,r*Sin[t]+rotaxis},{r*Cos[t],x1+deltax/2,r*Sin[t]+rotaxis}},{r,miny[x1],maxy[x1]},{t,0,2Pi},PlotPoints->{2,24},MaxRecursion->1,Mesh->False,PlotStyle->Lighter[Purple,0.75]],
{x1,a,b,deltax}]
},
{}
], 

ParametricPlot3D[{{Abs[g[x0]-rotaxis]*Cos[t],x0+u-deltax/2,Abs[g[x0]-rotaxis]*Sin[t]+rotaxis},{Abs[f[x0]-rotaxis]*Cos[t],x0+u-deltax/2,Abs[f[x0]-rotaxis]*Sin[t]+rotaxis}},{u,0,deltax},{t,0,2Pi},PlotPoints->{2,24},MaxRecursion->1,Mesh->False,PlotStyle->If[showallwashers,Purple,Lighter[Purple,0.75]]],

Graphics3D[{
{},
{Purple,Line[{{0,x0+deltax/2,miny[x0]+rotaxis},{0,x0+deltax/2,maxy[x0]+rotaxis}}]},
{Red,Line[{{0,x0+deltax/2,rotaxis},{0,x0+deltax/2,miny[x0]+rotaxis}}]},
{Darker[Green,0.5],Dashing[Medium],Line[{{0,ymin,rotaxis},{0,ymax,rotaxis}}]}
}],

ImageSize->300,PlotRange->{{xmin,xmax},{ymin,ymax},{xmin,xmax}},Boxed->False,Axes->False,AxesLabel->{"x","y","z"},AxesEdge->{{-1,-1},{-1,-1},{-1,-1}},ViewPoint->{-10,5,0},
ViewVertical->{1,0,0}]

}],
{{ffcn,y/2+4,Style[" f(y) = ",14]},InputField,ControlPlacement->Top},{{gfcn,y^2/25+3,Style[" g(y) = ",14]},InputField,ControlPlacement->Top},
{{aval,1,"a"},Number,ControlType->InputField,ImageSize->{30,20}},
{{bval,9,"b"},Number,ControlType->InputField,ImageSize->{30,20}},
{{yminval,0,"y-min"},Number,ControlType->InputField,ImageSize->{30,20}},
{{ymaxval,10,"y-max"},Number,ControlType->InputField,ImageSize->{30,20}},
{{xmaxval,10,"x-max"},Number,ControlType->InputField,ImageSize->{30,20}},
{{updatevalues,False,"update"},{True,False}},
{{x0,a,ToString[Subscript[y,0],StandardForm]},aval,bval,ControlType->VerticalSlider},
{{deltax,0.5,"Δy"},Number,ControlType->InputField,ImageSize->{40,20}},
{{showsurface,True,"surface"},{True,False}},
{{showallwashers,False,Column[{"washers"},Alignment->Right]},{True,False}},
{{xaxisrot,True,"y-axis"},{True,False}},
{{rotaxisval,0,"                      axis"},-ymax,ymax,ControlPlacement->Bottom},
ControlPlacement->Left,TrackedSymbols:>{x0,rotaxisval,deltax,showsurface,updatevalues,showallwashers,xaxisrot},
Initialization:>{Clear[x,y,a,b,xmin,xmax,ymin,ymax,f,g]}]
]

Together in TabView

SolidsOfRevolution:=TabView[{Column[{"revolution","parallel to",Style["x-axis",14,Bold]}]->SolidOfRevolutionX,Column[{"revolution","parallel to",Style["y-axis",14,Bold]}]->SolidOfRevolutionY},ControlPlacement->Left]

Coordinate Systems (Cindy You)

CoordSystems:=
TabView[{

"2D"->Panel[DynamicModule[{x=1,u=1,y=1,r=Sqrt[2],t=ArcTan[1],CA=False,PA=False,deg=1},
Row[{ 
(*2D Graph*)
Dynamic[
Graphics[{{PointSize[0.03],Red,Point[{x,y}]},
(*Cartesian graphic components*)Dynamic[If[CA,{{Blue,Arrow[{{x,0},{x,y}}]},{RGBColor[0,.8,0.7],Arrow[{{0,y},{x,y}}]}},{}]],
(*Polar graphic components*)
Dynamic[If[PA,{{Orange,Arrow[{{0,0},{x,y}}]},{RGBColor[1,0.9,0],Circle[{0,0},If[r<1.5,r,1.5],{0,t}]}},{}]]},

Axes->True,PlotRange->{{0,10},{0,10}},ImageSize->300]],

"   ",

(*2D Controllers*)
Column[{
(*Cartesian controllers*)
Style["Cartesian",18,Bold,Brown,Underlined,FontFamily->Times],
(*x controller*)
Row[{
Dynamic[Style["x ",If[CA,{RGBColor[0,.8,0.7],14,Bold},{}]]],
Slider[Dynamic[x,{x=#,x=#;r=Sqrt[#^2+y^2];t=ArcTan[y/(#+.000001)];y=y,x=#}&],{1*10^-15,10}],
Dynamic[Style[PaddedForm[Round[x,.00001],{5,3}],If[CA,{RGBColor[0,.8,0.7],14,Bold},{}]]]}],
(*y controller*)
Row[{
Dynamic[Style["y ",If[CA,{Blue,14,Bold},{}]]],Slider[Dynamic[y,{y=#,y=#;x=x;r=Sqrt[x^2+#^2];t=ArcTan[#/(x+.000001)],y=#}&],{1*10^-15,10}],
Dynamic[Style[PaddedForm[Round[y,.00001],{5,3}],If[CA,{Blue,14,Bold},{}]]]}],
(*Cartesian components option*)
Row[{Checkbox[Dynamic[CA]],Style[" Show cartesian components",FontFamily->Times,14]}],
"",
"",
(*Polar controllers*)
Row[{Style["Polar",18,Bold,Brown,Underlined,FontFamily->Times],"  ",RadioButtonBar[Dynamic[deg],{1->Style[radians,FontFamily->Times,12],2->Style[degrees,FontFamily->Times,12]}]}],
(*r controller*)
Row[{
Dynamic[Style["r ",If[PA,{Orange,14,Bold},{}]]],Slider[Dynamic[r,{r=#,r=#;t=t;x=Abs[#Cos[t]];y=Abs[#Sin[t]],r=#}&],{0,10},Exclusions->{0}],
Dynamic[Style[PaddedForm[Round[N[r],.00001],{5,3}],If[PA,{Orange,14,Bold},{}]]]}],
(*theta controller*)
Row[{
Dynamic[Style["θ ",If[PA,{RGBColor[1,0.9,0],14,Bold},{}]]],
Slider[Dynamic[t,{t=#,t=#;r=r;x=Abs[r Cos[#]];y=Abs[r Sin[#]],t=#}&],{0,Pi/2},Exclusions->{0}],
Dynamic[If[deg==2,Row[{Style[PaddedForm[Round[N[t]*360/2/Pi,.00001],{5,2}],If[PA,{RGBColor[1,0.9,0],14,Bold},{}]],Style["°",If[PA,{RGBColor[1,0.9,0],14,Bold},{}]]}],Style[PaddedForm[Round[N[t],.00001],{5,3}],If[PA,{RGBColor[1,0.9,0],14,Bold},{}]]]]}],
(*Polar components option*)
Row[{Checkbox[Dynamic[PA]],Style[" Show polar components",FontFamily->Times,14]}]
}]

}]
],ImageMargins->30,FrameMargins->10],

"3D"->Panel[DynamicModule[
{x=1,y=1,z=1,r=Sqrt[2],t=ArcTan[1],l=Sqrt[3],p=ArcTan[Sqrt[2]],RA=False,CA=False,SA=False,deg=1},

Row[{
(*3D Graph*)
Dynamic[
Show[
Graphics3D[{{PointSize[0.02],Red,Point[{x,y,z}]},
(*3D Rectangular graphics components*)
Dynamic[
If[RA,
{{Blue,Line[{{x,0,0},{x,y,0}}]},{Blue,Line[{{x,0,z},{x,y,z}}]},{RGBColor[0,.8,.7],Line[{{0,y,z},{x,y,z}}]},{Blue,Line[{{0,0,z},{0,y,z}}]},{RGBColor[0,.8,0.7],Line[{{0,0,z},{x,0,z}}]},{RGBColor[0,.8,0.7],Line[{{0,y,0},{x,y,0}}]},{RGBColor[0.75,0,0.75],Line[{{x,0,0},{x,0,z}}]},{RGBColor[0.75,0,0.75],Line[{{0,y,0},{0,y,z}}]},{RGBColor[0.75,0,0.75],Line[{{x,y,0},{x,y,z}}]}},{}]],
(*3D Cylindrical graphics components*)
Dynamic[
If[CA,
{{Orange,Line[{{0,0,0},{(x+.000001),(y+.000001),0}}]},
{RGBColor[0.75,0,0.75],Line[{{(x+.000001),(y+.000001),0},{(x+.000001),(y+.000001),(z+.000001)}}]},{Opacity[0.2],EdgeForm[None],Cylinder[{{0,0,0},{0,0,(z+.000001)}},r]}},{}]],
(*3D Spherical graphics components*)
Dynamic[
If[SA,
{{Green,Line[{{0,0,0},{(x+.000001),(y+.000001),(z+.000001)}}]},
{Opacity[.3],RGBColor[.8,1,1],Sphere[{0,0,0},l]},If[CA,{},{Gray,EdgeForm[None],Opacity[.2],Polygon[{{0,0,0},{(x+.000001),(y+.000001),0},{(x+.000001),(y+.000001),(z+.000001)}}]}]},{}]]},

PlotRange->{{0,10},{0,10},{0,10}},ImageSize->350,Boxed->False,Axes->True,AxesEdge->{{-1,-1},{-1,-1},{-1,-1}}],
(*3D theta graphics component*)
If[CA||SA,
If[r<2,
ParametricPlot3D[{r Cos[t],r Sin[t],0},{t,Pi/10000,t},PlotStyle->RGBColor[1,0.7,0],PlotRange->{{0,10},{0,10},{0,10}}],
ParametricPlot3D[{2 Cos[t],2 Sin[t],0},{t,Pi/10000,t},PlotStyle->RGBColor[1,0.7,0],PlotRange->{{0,10},{0,10},{0,10}}]],{}],
(*3D phi component*)
If[SA,ParametricPlot3D[{((2 Cos[#])&[t]) Sin[p1],((2 Sin[#])&[t]) Sin[p1],2 Cos[p1]},{p1,0,p},PlotStyle->Green,PlotRange->{{0,10},{0,10},{0,10}}],{}]
]],

(*3D Controlers*)
Column[{
(*3D Rectangular controlers*)
Style["Rectangular",14,Bold,Brown,Underlined,FontFamily->Times],
(*3D x controler*)
Row[{
Dynamic[Style["x ",If[RA,{RGBColor[0,.8,0.7],Bold},{}]]],
Slider[Dynamic[x,{x=#,x=#;y=y;z=z;r=Sqrt[#^2+y^2];t=ArcTan[y/(#+.000001)];l=Sqrt[#^2+y^2+z^2];p=ArcTan[Sqrt[#^2+y^2]/(z+.000001)],x=#}&],{1*10^-15,10}],
Dynamic[Style[PaddedForm[Round[x,.001],{5,3}],If[RA,{RGBColor[0,.8,0.7],Bold},{}]]]}],
(*3D y controler*)
Row[{
Dynamic[Style["y ",If[RA,{Blue,Bold},{}]]],
Slider[Dynamic[y,{y=#,x=x;y=#;z=z;r=Sqrt[x^2+#^2];t=ArcTan[#/(x+.000001)];l=Sqrt[x^2+#^2+z^2];p=ArcTan[Sqrt[x^2+#^2]/(z+.000001)],y=#}&],{1*10^-15,10}],
Dynamic[Style[PaddedForm[Round[y,.001],{5,3}],If[RA,{Blue,Bold},{}]]]}],
(*3D z controler*)
Row[{
Dynamic[Style["z ",If[RA,{RGBColor[0.75,0,0.75],Bold},{}]]],
Slider[Dynamic[z,{z=#,x=x;y=y;z=#;r=Sqrt[x^2+y^2];t=ArcTan[y/(x+.000001)];l=Sqrt[x^2+y^2+#^2];p=ArcTan[Sqrt[x^2+y^2]/(#+.000001)],z=#}&],{1*10^-15,10}],
Dynamic[Style[PaddedForm[Round[z,.001],{5,3}],If[RA,{RGBColor[0.75,0,0.75],Bold},{}]]]}],
(*3D rectangular components option*)
Row[{Checkbox[Dynamic[RA]],Style[" Show rectangular components",FontFamily->Times,14]}],
"",
"",
(*3D Cylindrical controlers*)
Row[{Style["Cylindrical",14,Bold,Brown,Underlined,FontFamily->Times],"  ",RadioButtonBar[Dynamic[deg],{1->Style[radians,FontFamily->Times,12],2->Style[degrees,FontFamily->Times,12]}]}],
(*3D r controler*)
Row[{
Dynamic[Style["r ",If[CA,{Orange,Bold},{}]]],
Slider[Dynamic[r,{r=#,x=Abs[# Cos[t]];y=Abs[# Sin[t]];z=z;r=#;t=t;l=Sqrt[#^2+z^2];p=ArcTan[#/(z+.000001)],r=#}&],{1*10^-15,10}],
Dynamic[Style[PaddedForm[Round[r,.001],{5,3}],If[CA,{Orange,Bold},{}]]]}],
(*3D theta controler*)
Row[{Dynamic[Style["θ ",If[CA,{RGBColor[1,0.9,0],Bold},{}]]],
Slider[Dynamic[t,{t=#,x=Abs[r Cos[#]];y=Abs[r Sin[#]];z=z;r=r;t=#;l=l;p=p,t=#}&],{0,Pi/2},Exclusions->{0}],
Dynamic[If[deg==2,Row[{Style[PaddedForm[Round[N[t]*360/2/Pi,.00001],{5,2}],If[CA,{RGBColor[1,0.9,0],Bold},{}]],Style["°",If[CA,{RGBColor[1,0.9,0],Bold},{}]]}],Style[PaddedForm[Round[N[t],.001],{5,3}],If[CA,{RGBColor[1,0.9,0],Bold},{}]]]]
}],
(*3D z controler*)
Row[{
Dynamic[Style["z ",If[CA,{RGBColor[0.75,0,0.75],Bold},{}]]],
Slider[Dynamic[z,{z=#,x=x;y=y;z=#;r=r;t=t;l=Sqrt[r^2+#^2];p=ArcTan[r/(#+.000001)],z=#}&],{1*10^-15,10}],
Dynamic[Style[PaddedForm[Round[z,.001],{5,3}],If[CA,{RGBColor[0.75,0,0.75],Bold},{}]]]}],
(*3D Cylindrical components option*)
Row[{Checkbox[Dynamic[CA]],Style[" Show cylindrical components",FontFamily->Times,14]}],
"",
"",
(*3D Spherical controler*)
Row[{Style["Spherical",14,Bold,Brown,Underlined,FontFamily->Times],"  ",RadioButtonBar[Dynamic[deg],{1->Style[radians,FontFamily->Times,12],2->Style[degrees,FontFamily->Times,12]}]}],
(*3D rho controler*)
Row[{
Dynamic[Style["ρ ",If[SA,{Green,Bold},{}]]],
Slider[Dynamic[l,{l=#,x=Abs[# Sin[p] Cos[t]];y=Abs[# Sin[p] Sin[t]];z=Abs[# Cos[p]];r=Abs[# Sin[p]];t=t;l=#;p=p,l=#}&],{1*10^-15,10}],
Dynamic[Style[PaddedForm[Round[l,.001],{5,3}],If[SA,{Green,Bold},{}]]]}],
(*3D theta controler*)
Row[{
Dynamic[Style["θ ",If[SA,{RGBColor[1,0.9,0],Bold},{}]]],
Slider[Dynamic[t,{t=#,x=Abs[l Sin[p] Cos[#]];y=Abs[l Sin[p] Sin[#]];z=Abs[l Cos[p]];r=r;t=#;l=l;p=p,t=#}&],{0,Pi/2},Exclusions->{0}],
Dynamic[If[deg==2,Row[{Style[PaddedForm[Round[N[t]*360/2/Pi,.00001],{5,2}],If[SA,{RGBColor[1,0.9,0],Bold},{}]],Style["°",If[SA,{RGBColor[1,0.9,0],Bold},{}]]}],Style[PaddedForm[Round[N[t],.001],{5,3}],If[SA,{RGBColor[1,0.9,0],Bold},{}]]]]}],
(*3D phi controler*)
Row[{
Dynamic[Style["ϕ ",If[SA,{RGBColor[0,.5,0],Bold},{}]]],
Slider[Dynamic[p,{p=#,x=Abs[l Sin[#] Cos[t]];y=Abs[l Sin[#] Sin[t]];z=Abs[l Cos[#]];r=Abs[l Sin[#]];t=t;l=l;p=#,p=#}&],{0,Pi/2},Exclusions->{0}],
Dynamic[If[deg==2,Row[{Style[PaddedForm[Round[N[p]*360/2/Pi,.00001],{5,2}],If[SA,{RGBColor[0,.5,0],Bold},{}]],Style["°",If[SA,{RGBColor[0,.5,0],Bold},{}]]}],Style[PaddedForm[Round[N[p],.001],{5,3}],If[SA,{RGBColor[0,.5,0],Bold},{}]]]]}],
(*3D Spherical component option*)
Row[{Checkbox[Dynamic[SA]],Style[" Show spherical components",FontFamily->Times,14]}]
}]

}]
],ImageMargins->10,FrameMargins->10]

}]

Kevin's Disco Delusion (Kevin Zhang)

KevinsDisco=Module[{banana},
banana[]:=RandomChoice[{"AWESOME!","GNARLY!","FUNKY!","TUBULAR!","GROOVY!","FAR OUT!","FUNKY!","WAY HIP!","RADICAL!","SHAGADELIC!","SWEET!"}];

Button[Dynamic[but2],{Print@Graphics[Inset[Grid[

Table[
Graphics[Table[{Opacity[Random[Real,{.1,.7}]],Rectangle[{xcoord=Random[Real,10],ycoord=Random[Real,10]},{xcoord+Random[Real,10],ycoord+Random[Real,10]}]},{5}],ImageSize->{100,100}*0.8,Background->Hue[Random[]]],

{5},{8}],Spacings->{0,0}
]],ImageSize->{800,500}*0.8,PlotRange->{{0,800},{0,500}}*0.8],but2=banana[]}]
];

Solar System (Nathan Stein and Wendy Zhao)

Sun = Graphics3D[{Yellow, Sphere[{0,0,0},25]}];
a = 35;
Mercury = Graphics3D[{Brown, Sphere[{3.8+a,0,0},1.488]}];
Venus = Graphics3D[{Purple, Sphere[{7.2+a,0,0},2.21036]}];
Earth = Graphics3D[{Green, Sphere[{10+a,0,0}, 2.27563]}];
Mars = Graphics3D[{Red, Sphere[{15.2+a,0,0}, 1.6794]}];
Jupiter = Graphics3D[{Orange, Sphere[{52+a,0,0}, 15.2984]}];
Saturn = Graphics3D[{Pink, Sphere[{95.4+a, 0,0}, 13.0536]}];
Uranus = Graphics3D[{Blue, Sphere[{192.18+a,0,0}, 6.1118]}];
Neptune = Graphics3D[{Magenta,Sphere[{300.6+a,0,0}, 5.9532]}];
Pluto = Graphics3D[{White, Sphere[{395+a,0,0}, 1.2274]}];

MercuryOrbit = ParametricPlot3D[{(3.8+a)Cos[t1],0,(3.8+a) Sin[t1]},{t1,0,2Pi}];
VenusOrbit = ParametricPlot3D[{(7.2+a)Cos[t1],0,(7.2+a) Sin[t1]},{t1,0,2Pi}];
EarthOrbit = ParametricPlot3D[{(10+a)Cos[t1],0,(10+a) Sin[t1]},{t1,0,2Pi}];
MarsOrbit = ParametricPlot3D[{(15.2+a)Cos[t1],0,(15.2+a) Sin[t1]},{t1,0,2Pi}];
JupiterOrbit = ParametricPlot3D[{(52+a)Cos[t1],0,(52+a) Sin[t1]},{t1,0,2Pi}];
SaturnOrbit = ParametricPlot3D[{(95.4+a)Cos[t1],0,(95.4+a) Sin[t1]},{t1,0,2Pi}];
UranusOrbit = ParametricPlot3D[{(192.18+a)Cos[t1],0,(192.18+a) Sin[t1]},{t1,0,2Pi}];
NeptuneOrbit = ParametricPlot3D[{(300.6+a)Cos[t1],0,(300.6+a) Sin[t1]},{t1,0,2Pi}];
PlutoOrbit = ParametricPlot3D[{(395+a)Cos[t1],0,(395+a) Sin[t1]},{t1,0,2Pi}];
Stars = Prolog->Inset[Graphics[{{White,Point[Table[RandomReal[{-1,1}],{75},{2}]]}},Background->Black,ImageSize->400]];

SolarSystem = Manipulate[
Show[
Graphics3D[{Green, Sphere[{(10+a) Cos[Time],0,(10+a) Sin[Time]},2.27563]}], 
Graphics3D[{Brown, Sphere[{(3.8+a)Cos[(1/.24)Time],0,(3.8+a)Sin[(1/.24)Time]},1.488]}],
Graphics3D[{Purple, Sphere[{(7.2+a)Cos[(1/.62)Time],0,(7.2+a)Sin[(1/.62)Time]},2.21036]}],
Graphics3D[{Red, Sphere[{(15.2+a)Cos[(1/1.88)Time],0,(15.2+a)Sin[(1/1.88)Time]},1.6794]}],
Graphics3D[{Orange, Sphere[{(52+a)Cos[(1/11.86)Time],0,(52+a)Sin[(1/11.86)Time]},15.2984]}],
Graphics3D[{Pink, Sphere[{(95.4+a)Cos[(1/29.46)Time],0,(95.4+a)Sin[(1/29.46)Time]},13.0536]}],
Graphics3D[{Blue, Sphere[{(192.18+a)Cos[(1/84.01)Time],0,(192.18+a)Sin[(1/84.01)Time]},6.1118]}],
Graphics3D[{Magenta, Sphere[{(300.6+a)Cos[(1/164.8)Time],0,(300.6+a)Sin[(1/164.8)Time]},5.9532]}],
Graphics3D[{White, Sphere[{(395+a)Cos[(1/247.7)Time],0,(395+a)Sin[(1/247.7)Time]},1.2274]}],
Sun, MercuryOrbit, EarthOrbit, VenusOrbit, MarsOrbit, JupiterOrbit, SaturnOrbit, UranusOrbit, NeptuneOrbit, PlutoOrbit,
Stars, Background->Black, Boxed->False],
{Time,Pi/12,138Pi}];

InnerPlanets = Manipulate[
Show[
Graphics3D[{Green,Sphere[{(10+a) Cos[Time],0,(10+a) Sin[Time]},2.27563]}], 
Graphics3D[{Brown, Sphere[{(3.8+a)Cos[(1/.24)Time],0,(3.8+a)Sin[(1/.24)Time]},1.488]}],
Graphics3D[{Purple, Sphere[{(7.2+a)Cos[(1/.62)Time],0,(7.2+a)Sin[(1/.62)Time]},2.21036]}],
Graphics3D[{Red, Sphere[{(15.2+a)Cos[(1/1.88)Time],0,(15.2+a)Sin[(1/1.88)Time]},1.6794]}],
Sun, MercuryOrbit, EarthOrbit, VenusOrbit, MarsOrbit,Stars, Background->Black, Boxed->False],
{Time,Pi/12,2Pi}];

OuterPlanets = Manipulate[
Show[
Graphics3D[{Orange, Sphere[{(52+a)Cos[(1/11.86)Time],0,(52+a)Sin[(1/11.86)Time]},15.2984]}],
Graphics3D[{Pink, Sphere[{(95.4+a)Cos[(1/29.46)Time],0,(95.4+a)Sin[(1/29.46)Time]},13.0536]}],
Graphics3D[{Blue, Sphere[{(192.18+a)Cos[(1/84.01)Time],0,(192.18+a)Sin[(1/84.01)Time]},6.1118]}],
Graphics3D[{Magenta, Sphere[{(300.6+a)Cos[(1/164.8)Time],0,(300.6+a)Sin[(1/164.8)Time]},5.9532]}],
Graphics3D[{White, Sphere[{(395+a)Cos[(1/247.7)Time],0,(395+a)Sin[(1/247.7)Time]},1.2274]}],
JupiterOrbit, SaturnOrbit, UranusOrbit, NeptuneOrbit, PlutoOrbit,Sun,Stars, Background->Black, Boxed->False],
{Time,Pi/12,140Pi}];

solarsystem=TabView[{Solar System ->SolarSystem,Inner Planets-> InnerPlanets,Outer Planets->OuterPlanets}];

One-Step Equation Solver (Albert Chung and Haruka Imura)

OneStepEquationSolver:=Manipulate[
Column[{
Button["Reset",Solver=0,ImageSize->200],
Style[Row[{"We have the equation"}],30],
Style[Row[{"x + ",Style[a,Red]," = ",Style[b,Blue]}],50,Bold],
Style[Row[{"By subtracting ",Style[a,Red,Bold]," from both sides. . ."}],20],
Row[{Style["x + ",50,Bold],Row[Table[Graphics[{Red,Disk[]},ImageSize->20],{a-Solver}]],Style[" = ",50,Bold],
Row[Table[Graphics[{Blue,Disk[]},ImageSize->20],{b-Solver}]],
Row[Table[Graphics[{Blue,Circle[]},ImageSize->20],{Solver-b}]]}],
Style[Row[{"x + ",Style[a-Solver,Red]," = ",Style[b-Solver,Blue]}],50, Bold],
Style[Row[{"We arrive with the answer"}],20],
Style[Row[{"x = ",Style[b-a,Green]}],30,Bold],
Show[Plot[x+a-b,{x,-15,15}],Graphics[{Purple,Thick,Circle[{b-a,0},1]}],
AspectRatio->Automatic],
Style[Row[{"The ",Style["answer",Green,Bold]," to this equation represents ",Style["the x-intercept",Purple,Bold]," of the graph."}],20,Bold]}],
{{Solver,0},0,a,1},
{{a,2},0,10,1},{{b,4},0,10,1}];
(* Note: After looking at this a little closer, I think the students need to make some changes to the graph or explain its connection better. *)

House (Saho Arai)

House=Graphics[{
{Lighter[Blue,0.6],Rectangle[{-8,-7},{8,8}]},
{Blue,Polygon[{{-8,8},{0,13},{8,8}}]},
{Red,Rectangle[{5,-7},{2,-2}]},
{Pink,Disk[{2.6,-4.6},{0.3,0.3}]},
{Purple,Rectangle[{2.5,5},{5.5,2}]},
{Purple,Rectangle[{-2.5,5},{-5.5,2}]},
{Green, Polygon[{{6,9.3},{3,11.2},{3,14},{6,14},{6,10}}]},
{Orange,Text[Style["House",15,Bold,FontFamily->"Verdana"],{-11,11}]},
{Lighter[Purple,0.6],Line[{{5.5,3.5},{2.5,3.5}}]},
{Lighter[Purple,0.6],Line[{{4,5},{4,2}}]},
{Lighter[Purple,0.6],Line[{{-5.5,3.5},{-2.5,3.5}}]},
{Lighter[Purple,0.6],Line[{{-4,5},{-4,2}}]},
{Thick,Darker[Green,0.6],Line[{{20,-7},{19,-6},{18,-7},{17,-6},{16,-7},{15,-6},{14,-7},{13,-6},{12,-7},{11,-6},{10,-7},{9,-6},{8,-7}}]},
{Thick,Darker[Green,0.6],Line[{{-8,-7},{-9,-6},{-10,-7},{-11,-6},{-12,-7},{-13,-6},{-14,-7},{-15,-6},{-16,-7},{-17,-6},{-18,-7},{-19,-6},{-20,-7}}]},
{Thick,Darker[Green,0.6],Line[{{8,-7},{-8,-7}}]},
{Yellow,Disk[{16,16},{3,3}]},
{Yellow,Arrow[{{12,16},{8,15}}]},
{Yellow, Arrow[{{14,13},{10,9}}]},
{Yellow,Arrow[{{17,12},{18,7}}]},
{Yellow,Arrow[{{13,19},{8,21}}]},
{Lighter[Purple,0.6],Point[{{2.5,2},{5.5,2},{5.5,5},{2.5,5},{-2.5,2},{-5.5,2},{-5.5,5},{-2.5,5}}]}
},
Axes->True,PlotRange->20];

Truck (Eric Schade)

truck=Manipulate[Graphics[{
{Brown,Polygon[{{5,5},{5,10},{12,10},{12,7},{15,7},{15,5}}]},{Thickness[.03],Yellow,Arrow[{{12,10},{15,7}}]},
{Gray,Disk[{7,n},2]},
{Thick,Gray,Circle[{12,n},1]},
{PointSize[.08],Black,Point[{{12,n},{10,7}}]},{Opacity[.5],Orange,Rectangle[{12,5},{9,9}]},
{Red,Text[Style["THRASHER",20],{9,9.5}]},
{Thickness[.05],Green,Line[{{12,5},{12,n}}]},
{Thickness[.05],Green,Line[{{7,5},{7,n}}]},
{Lighter[Brown],Disk[{12.9,7.8},.9]},
{PointSize[r],Black,Point[{{12.58,8},{13.2,8}}]},
{Thick,Red,Circle[{12.9,7.8},.5,{200Degree,330Degree}]},
{clr,PointSize[.05],Opacity[.4],Point[{{12.58,8},{13.2,8}}]}
},
Axes->False
],{{clr,Red},ColorSlider},{n,-2,5},{r,.01,.05},AutorunSequencing->All];

Plane (John Guess)

PartyPlane=Manipulate[Graphics[{
{clr,Rectangle[{0.1,6},{12,0}]},
{Black,Rectangle[{9.8,3},{10,1.2+weele/1.5}]},
{Black,Disk[{5,weele},.5]},
{Black ,Disk[{9.9,1.2+weele/1.5},.5]},
{lr,Disk[{9.9,1.2+weele/1.5},.2]},
{lr ,Disk[{5,weele},.2]},{Black,Polygon[{{0,1},{4,4},{10,4},{12,6},{12,3}}]},
{clr2,Arrow[{{4,4},{4,3},{2.5-n,3}}]},
{clr2,Point[{{0.2,1.15}}]},
{lr,Disk[{11.9,5.8},.09]},
{clr2,Text[Style["the party plane",12],{6,3.5}]},
{Black,Polygon[{{6,2},{4,2.5},{6,1.7},{5,weele}}]},
{White,Line[{{4,2},{5,3},{10,3}}]},
{Axes->True}
}],
{{clr,Green},ColorSlider},{{lr,Blue},ColorSlider},{{clr2,Red},ColorSlider},{weele,.7,3},{n,0,2}];