Distance to the Horizon(31 Mar 2017) Here's a little exploration of the distance from a plane flying at some altitude to the horizon. Inspired by an article found in Hemispheres magazine found on United Airlines flights in March of 2017. The article is included as an image in the file. There are two geomettry constructions that behave differently. In one (shown at the right) you can move plane to change its altitude in feet (along a tangent to the circle representing the earth) and observe the distance to the horizon in nautical miles. In the other you have control of the altitude of the plane using a slider (for greater control) and then observe the distance to the horizon. The interesting thing about the magazine article is the author's use of different units (feet, meters, and nautical miles  thus requiring some conversion formulas in the constructions) and the real heart of the discussion is the application of the Pythagorean Theorem. See if you can recreate the construction.

Polar Shade(10 Feb 2017) By request, I wrote a document that can 'shade' the interior of a polar curve (using a scatter plot). The slider m controls the density of the shading and the function in r1(theta) is editable. The program contains a lot of trig mathematics: converting from numberofsegments to radians, converting from polar to Cartesian coordinates, and storing into lists to create a 'disconnected' scatter plot. The program runs in a math box on a Notes app to dynamically refresh the 'shading' when the sliders change or when the function is edited. 
Unscramble(01.01.2017) This document contains a brain experiment. Give it a try and send your comments.

Morph(09/2016) Inspired by an email from Saltire Software, this document demonstrates how to 'morph' from one function to another using a slider. You can morph in Parametric, Function, or Polar mode. You can even morph between Function and Polar using Parametric! Feel free to edit the functions f1 and f2.

Lights Out!(08/2016) ...another Lua app. The classic switching game. Click a light to switch it and its four neighbors. The object is to get all the lights off. All games are solvable! Can you do it in 10 moves or less?

15(07/2016) My latest Lua brain exercise: The 15 puzzle. Works well on computer, handheld and iPad. On the handheld and computer press [tab] to scramble and use the arrow keys to move the tiles. On the iPad tap the 'Scramble' button and then tap the tile you wish to move. Object: get the numbers back in order from topleft to bottomright with the blank in the lower right. 
Simon(03/2016) A long time coming, I finally got around to developing this Lua app. No instructions; no menu; includes a 'high score' variable so be sure to save the document when done so it remembers the high score. 
String Art the TINspire way!(12/2015) Watching a class in Eagle Pass, Texas nspired me to create a TINspire document to generate 'string art'. The instructions are on page 1 of the file. The trick is to use a connected scatter plot with 'void' elements in the lists to create the line segments. With special patterns, the next logical step is to write a program to create the lists and, perhaps, sliders to control the data! 
Mixology(09/2014) The science of making cocktails! This document investigates mixture problems from a 'mature' point of view. If you have two alcoholic beverages of different proofs, such as wine and scotch, in what proportions should you mix them to get a desired strength cocktail of a desired size? (9/29): Happy coincidence... on a recent flight I found an article in the airline's magazine on just this topic! Scroll down on the page 'Tipplin' It Easy' for the short article! This document makes liberal use of CAS and interactive graphing to investigate this mixture problem. Something you won't find on TI's activities sites. 
The Frog PuzzleApril 2014 This little Lua project was a group effort (see the file for credits). Requires OSv3.6. The object of the 'game' is to get all the frogs on the left to hop to the right and all the frogs on the right to the left. The frogs can hop to an empty pad or hop over one frog. Click or tap on a frog to make it move. If a frog doesn't move it's because it can't. See the menus for setting options. The object of the 'puzzle' is to determine the number of moves required if the game contains n frogs. What's the pattern? There are two versions in the file. Version 1 plays with the same number of frogs on each side and version 2 allows for a different number of frogs on each side. The file plays well in the computer, handheld and iPad. 
Super Simple Timer!November 2013 So simple you can use it with your eyes closed! And that was the intent: to test your mental timing skills by closing your eyes, start the timer, count off a number of seconds and stop the timer. Check your mental count with the timer's result. How close were you? Only one 'action' controls the entire app and there's no menu, either. Press [enter] or mouse click or, on the iPad, just tap the app to start, stop, and reset the timer. Any combination of actions also works well. This file does play well in the Document Player and the iPad, too.

Hog!  A Lua ApplicationSeptember 2013 Based on the same input/output interface as Bagels (below), Hog is a 1player game played with simulated dice. On a turn you can toss as many dice as you like. The total of the dice is your 'points' for that turn which is added to your 'score'. The goal is to reach a score of 100 in as few turns as possible. What's the best strategy? The game keeps track of your scores and there's a page displaying a histogram of your scores. It also keeps track of your best score. The menu allows you to clear the best score and the list of scores. This file does not play well in theiPad due to the intensive keyboard input. 
Bagels  A LUA ApplicationSeptember 2013 Here's the worldfamous numberguessing game (a la Mastermind). It only took an evening of coding (Lua) to produce this and I am very happy with the result. I've written this program in every language I've ever had the pleasure to have known. But it does not play in the online Document Player and probably doesn't work well on the iPad either, due to the keypad entry. Instructions are on page 1 of the file. There are now three versions of the game in the file... The second one uses a scrolling textbox for the clues rather than the blue graphics that you see on the right. It will be easier to expand this version to allow for more than three digits in the game. Coming (soon?)!! Version III (in the same file) lets you play with 3, 4, or 5 digit numbers! Note the progression of the code in the three apps. 
Polynomial RegressionAugust, 2013 This document requires CAS. I've long wondered what the regression algorithm behind QuadReg, CubicReg, and QuarticReg is. It took me this long to look it up and I was pleasantly surprised to actually 'understand' it (to a point). The result is this pair of programs and a demonstration of their usage embedded in this document. The program polyreg(xlist, ylist, degree) performs a polynomial regression of the desired degree on the dataset (xlist,ylist). The polynomial expression is then stored in the variable regeq so that it can be used as the definition of a function to graph or analyze. The program makes heavy use of matrices and lists and needs CAS to build the function in terms of x. The source code is exposed in one of the pages of the document. As an added bonus, there's also a program called polyfit(xlist, ylist) which is nearly identical to polyreg( ) but only determines the (n1) degree polynomial for a dataset of n elements. Polyreg( ) does it when p=numpts1. and you can see how the polynomial regression 'grows' to eventually match the polynomial fit function. Both programs are used on the demo page which is illustrated on the right. There's no error handling, but when the algorithm fails to produce a result you'll see 'Singular Matrix' as it's output and the graph is not updated. This happens when the power you seek is too large (p>numpts1). 
"Reaction Time" game(05 Apr 2013) This file contains a 'reaction time' game for two players written in Lua. At the heart of the game it displays some random black dots. The player's task is to react when she first sees red dots. The number of red dots displayed before reacting (pressing enter, clicking or tapping on the iPad) represents the 'reaction time'. Each player gets a set of rounds to play. At the end of the game the players compare their onevar data on page 3 containing a spreadsheet with the data, a boxnwhisker plot and a computation of the mean scores of each player. Other analyses are then possible using the two lists created by the game. Menu options in the game include a 'reset' which clears the data and starts the game over and an option for setting the number of rounds per player. I purposely left out the core instruction about the blacktored dot change so that kids can figure it out on their own. This file works well 'anywhere': computer, handheld (CX due to color), iPad, and the online Document Player. Special thanks to Andy Kemp who created a reaction time game and thus Nspired me to take on the project and, not coincidentally, provided a lot of code to the effort and BIG THANKS to Steve Arnold's tutorials. Comments and suggestions welcome, especially for the noncolor handhelds (different shape?).

page 1.1 page 1.2
page 1.3 
Integral between curves(posted 1/1/2012) This demo uses a stat plot to shade the region between two curves to indicate the computed integral. If f1(x) is greater than f2(x) on (a,b) then you could consider this an indication of the 'area' between the two curves. You can change the functions, the viewing window and drag the points a and b (or edit the coordinates) to define the interval. The driving force is a program running in a Math Box to create the scatterplot for shading purposes (a collection of line segments). Thanks to Marc Garneau for the disconnected scatterplot trick. Version 2 includes color shading: when f1(x)>=f2(x) the shading is green and otherwise is purple. Neither version works well on the handhelds because the scatter plot is regenerated each time a or b changes so it is too slow. See version 3... Version 3 (05/23/2012) uses a Lua app to build the scatter plot. This versions performs a little better (but not great) on the handhelds. This file requires version 3.2. In this version the Lua app monitors a few variables on the graph page and updates the scatterplot when needed. You can even transform (translate or stretch) the functions! Version 4 (03/2013) containing very efficient code by Dennis Donovan that makes it pretty slick even on a handheld! 
version 1 version 2
version 3 
MandelbrotA Lua application that lets you explore the Mandelbrot set. Don't try this on the handheld. I'm sure it's too slow. Best used in handheld view in the computer software, but computer view gives better resolution. The Lua source code and other documentation is included in the tns file. This was written before the Script Editor was available. 

Superellipses and the Squircle(09/15/2011) I learnt a new word today: Squircle 
not a squircle 
A cone sliced by a plane(05/2011) A simple interactive file that uses the new 3D graphing capabilities of TINspire. You have control (sliders) for the angle of the plane (with the xaxis) and the zintercept of the plane. Take a look at the equation of the plane to see how to convert 'angle' into 'slope'. When a slider controls slope, small values lose detail and large values move slowly. When you drive the angle, everything works smoothly.


Greater control of your polar and parametric graphingLooking for a way to control the rate at which polar and parametric graphs appear? These two files let you expose the graphs using a slider. The polar slider even goes from a negative value to a positive value. The polar graph is defined as r1(theta) but the graph is produced by a parametric relation. (02/2011)These files do not play well on a handheld because of the effort it takes to produce the graph when you use the slider. I'll be working on another method. 

Sierpinski with Slider08/2010  An updated version of the Sierpinski Triangle program found further down this page. This version is interactive. Clicking the uparrow or downarrow on the slider on the Graph page increases and decreases the number of points plotted. Uses a program running on a Notes page.

In version 3.0 this feature is built into the Vernier DataQuest application. By request of the science folks, I have written a 'select' program for
the TINSpire. You graph a scatter plot of your data then place and move
two points on the screen to choose a range of data to extract. Run the
select program and it will create two lists, temp1 and temp2, which contain
only the desired data. 
Version 3.0 has this feature built in: see Graphs/Graph Type/Differential Equation This file is included with OS v1.6 (Dec, 2008) in the Examples folder. The CAS OS has the "CAS" version, but the files are identical. The document is used to produce slopefields for differential equations and is a little easier to use than the Slopefields document that you will find further down on this page. I have produced a demonstration video that explains the use of this document. Be sure your audio is turned on so you can hear the explanations. 
My TINspire CAS file used at the 'From Our Classroom to Yours' Conference, January 31, 2009 at the William Penn Charter School, Philadelphia, PA. 
Soggies: The Breakfast of Nerds! Here's a treatment of "The Cereal Box Problem". This classic probablility problem is based on the 'prizes in the box' issue: if there are N prizes in the collection, what is the Expected Number of boxes of cereal you need to buy in order to collect all of the prizes? The TINspire CAS document utilizes a program, soggies(a, b, t), that performs a simulated sampling of boxes (the number of prizes in the set ranges from a to b) until all the prizes have been collected and stores the number of prizes and the average number of boxes needed into lists that are used to create a scatter plot of the data. I also include a brief analytic explanation of E(N), the expected value for N prizes and a function that graphs the expected value function over the scatter plot. Despite the appearance of the image on the right, this is not a linear function! I am very happy to have had help from Lee Kucera, Marc Garneau, especially George Reese's web pages, and Jesse "Jay" Wilkins' great article on the derivation of E(N). When I taught CS, I used this problem as a great graphics programming project, but did not know the general function until now (Dec, 2008). A big THANK YOU to the WWW! 
DERPT This activity is based on the 'Derivatives for Algebra 1' T^3 lesson which is a bit to busy with all those points moving around. 
This document explores programming in the 'TIBasic' language built into the TINspire. First introduced in 2008, the Program Editor allows you to write programs right in the handheld. The TNS file covers an overview, basic programming concepts, and some stuff beyond the bascis such as lists and graphics. Also, see the Tower of Hanoi program later on this page.

Slopefields
and Initial Conditions programs Version 3.0 has slopefields built into the OS. This document contains programs that generate a slopefield for a differential equation (by creating a stat plot) and then allows you to select (graphically/geometrically) an initialcondition point to create another stat plot of a particular solution. The Notes page also explains how to use the desolve( )command on a Calculator page to solve the differential equation and how to make that function's graph go through and be controlled by the initial contition point graphically. Very powerful interactive graphics here! The Slopefield program was originally written by Doug Roberts. The tweaks to slopefield( ), the IC( ) program, and the desolve( ) technique are my work. There are other ways of generating slopefileds. If you are interested in them, email me. Click the image on the right to see the Flash movie. 
Implicit
function grapher Note that there is also a very efficient method for graphing implicit relations using the zeros( ) function in the CAS unit, but the numeric unit does not have that function. 
AP Calculus demo file
Three sample problems that I demonstrated at the AP Calculus Consultants Conference in Dallas, 11/1618/2007.
 The number of daylight hours on June 21 as a function of latitude
 A limit question from the AP Calculus listserv 10/2007
 AP Calculus 2003AB6c
A graph that I discovered while playing around one day. Generates strange pictures as you move a point around on the graph page. How does it work? Read and learn! 
Mesopotamian Tablet  Isosceles Trapezoid Problem
I found this problem at the NCTM Regional Conference in Richmond, VA. Credit is found in the file. The problem is to find a transversal that divides a particular isosceles trapezoid into two equal areas. There's also an interesting extension that's not discussed in the file. Can you figure out what I'm thinking?
Sierpinski
Demo This demonstration generates the Sierpinski Gasket using the 'chaos game' method via a program, sierpinskichaos(n), where n is the number of points to plot. Developed with relevance to the 11/23/2007 episode of Numb3rs. There's not much documentation in the file yet, so here's what to do: On the Calculator page (1.1) run sierpinskichaos(4000). You can change the 4000 to any whole number less than 4095: it is the number of dots to generate. Then look at page 1.2: the graph. Note: you cannot use a value larger than 4094 because that is the size limit of a list. How it works: the program generates two lists, L1 and L2, that contain the coordinates of the points to plot. So the graph screen has a stat plot set up to graph L2 vs. L1. Simple, eh? Well, it's the same technique that we used in the Slopefield file above. 
Distance to a Parabola
This zip file contains TWO versions of the activity: a student copy and a teacher copy. The problems investigate the length of a segment drawn from a point to the parabola y=x^{2}. Several problems are included in both files. The investigation of the residuals plot is also addressed and the CAS derivation of the mathematical model is included in the teacher file.
Largest Triangle  Paper Folding Steve has additional TINspire resources at http://compasstech.com.au/TNSINTRO/ 
Here's another problem related to paper folding: if you fold a corner of the paper to the opposite side, determine the shortest fold length. This problem can be tackled analytically in several different ways. How many different ways can you arrive at the soution? Can you see why the height of the paper is not an issue? In the file on the right (page 2), you can drag point Drag to change the length of the fold (L) and the distance from the lower left corner of the paper to the point Drag (w). The document contains pages of notes, this construction, a spreadsheet for data capture, a graph for the scatter plot, and CAS. Note that a regression algorithm is not appropriate for this problem. Finally, can you generalize the result for any width of the paper? 
Alice
in Wonderland Yes, the novel by Lewis Carroll. Just to inform those English teachers out there who wonder why their students are using TINspire to take an exam in their class. Each chapter is on a separate Notes page and the file is only 60.4kb. I also have "The Rime of the Ancient Mariner" by Samuel Taylor Coleridge. 
TINspire allows for graphing of parametric, Cartesian and polar graphs
on the same axes. What happens when we trace a point in both
Cartesian and polar coordinate systems? In this graph/constuction,
as you drag point D on the graph of y=sin(3t), the point on the polar
rose, r(ø) = sin(3ø), also moves so that you can see or
explain the relationship between the two coordinate systems. The coordinates
of D and the converted radiandegree angle measure is on the screen, but
not 'r'. The clever mathematical conversions are hidden, but easily exposed.
This, and the entire construction process
are explained and demonstrated in this document. 
Well... if you've never heard of the Tower
of Hanoi then you can look it up online. This program demonstrates
the power of recursive programming. When you run the program you will
notice a delay in the display of the output of the program until the program
has completed. I guess that's a feature, not a bug. Posted 22JAN2008.
It takes 2^N1 moves to move a tower of
N disks. I've tried it in the Computer Software with 10 disks resulting
in 1023 moves. How many disks does it take to get a 'Recursion too deep'
error? 
TINspire DOES have a sequence graphing mode! See Graph Type in the Graphs application.
While the TINspire does not contain a 'sequence' graphing mode, it does have the ability to generate sequences (yep, even recursive sequences) and series (sequence of partial sums) using the Lists and Spreadsheet app and then you can graph the resulting scatter plots. This document explains the seqn function and how to create a sequence of partial sums. It also includes an interesting problem: the limit of the sum of the reciprocals of the Fibonacci numbers.
A study of the predatorprey mathematical model using the Spreadsheet and Scatter Plot tools. The document allows the user to drag point Init in this picture to change the initial populations of Foxes and Rabbits (but you have to recalculate the spreadsheet manually) and allows you to edit the growth factors on the SS page. The next version of this document will have sliders on the graph page to control those growth factors. See version 2 below... 

Rabbits and Foxes 2 (posted 2FEB08) has all the variables controlled by sliders in the graph screen. It also has a modified function for the Rabbits which incorporates a logistic growth rather than an exponential one. This model is very sensitive to the variables BR, DF, and AA. I've concluded through examing some Java applets online that there are just not enough data points available in the TINspire (2500) to see the end behavior of the system. This version only graphs 500 data points. You can produce more data by copying and pasting the last line of the data set in the spreadsheet (in row 500) down to row 2500. 
This file uses a spreadsheet to calculate the monthly payment on an amortized loan, displays the amortization table (in the spreadsheet) and then displays a graph of the principal payments and the interest payments. Useful to illustrate the TVM principal and the advantage of shorter term loans. 
Lissajous curves and Harmonograms What are they, you ask? Well peek inside
this file and see. The image to the right is a simple Lissajous curve,
the result of a 2axis pendulum under resistancefree movement. 
"The Zeckendorf Decomposition" Isn't that a cool title? I learned about this while watching a DVD lecture
from "The Great Courses" called "The Joy of Thinking"
on Fibonacci numbers. And, speaking of "The Great Courses"  there's a course called "How the Earth Works" by Prof. Michael E. Wysession of Wash. U, St. Louis, a former student of mine! 
The "y=3x and
point (1,1)" Problem A vertex of a triangle is at the origin and one side is on the xaxis. Another side lies along the line y = 3x. The third side passes through the point (1,1). What is the slope of the third side if the area of the triangle is to be a minimum? There's another restriction, but you'll figure it out. This is a neat optimization problem that lends itself well to Data Capture and a CAS solution. Note that the builtin regressions do not apply to this problem. Lots of great algebraic manipulation going on here. Gene Olmstead offers two other optimization problems: What line makes the minimum perimeter of the triangle and what line makes the shortest third side, the side through (1,1). Gene says that all three of these have geometric proofs. The file does not contain a complete solution. If you need one, email me. 
last updated
© Copyright 2008 John Hanna. All Rights Reserved.