My TI-Nspire Collection

Updated 25 Feb 2022. Newest stuff (python programming) is at the top. This page is now a history lesson on the TI-Nspire. Some of the files near the bottom of the page date from 2007. Some are obsolete because the feature is now included in the operating system - things like polar graphing, slope fields, selecting a subset of collected data (available in the DataQuest app), etc. but they're still here to demonstrate some valuable mathematics or programming algorithms and to remind us from whence we came.


  posted 25 Feb 2022
  The word game!
  The doc is protected, so "save as..." a copy for yourself to play and remember to save your file when done  to preserve the stats.
Tirdle image


19 Mar 2021
The board game vs. the computer. Didier Deses wrote the AI algorithm and I did the GUI.
See the Notes app for instructions and details.

Requires the textbox module (available below right) in your Pylib folder. When you store it there be sure to 'Refresh Libraries'.

The file is write-protected to preserve the original state, so use Save-As to make a personal working copy.

python image processing   spirals   Mirrored Clock

My Nspython Collection

  • Bagels - plain text version of the number-guessing game
  • Bagels with textboxes - requires textbox module
  • Button_demo - requires buttons module
  • Canada's flags
  • Captain America's shield
  • Chess a get_mouse() demo
  • Clock in mirror
  • Clock with rainbow
  • Colortable demos - requires colortable module
  • Crayola original colors
  • Date_time demo - requires date_time module
  • Daylight World Map - Wikkerink/Hanna
  • Dice histogram 2 - demo of linking python with Nspire
  • Dino 2.2 - (Chrome game)
  • Draw with mouse-click demo
  • eval & .format demo
  • exit() demo
  • Factorial - no upper limit!!
  • Fermat's Spiral
  • First Movie with speed control
  • gif sim
  • ginput (graphical input on canvas)
  • Hannukah menora & music
  • Happy New Year with karaoke (needs hub for sound)
  • Hunt the Wumpus - text and textbox versions
  • Image negative - image processing demo
  • Image morphing 3- image processing demo
  • Implicit function graphing
  • Life IIp - various versions of Game of Life (Basic and Python)
  • Light meters - both Basic and Python (requires hub for brightness)
  • Liss - Lissajous curves
  • Merry Christmas with Jingle Bells (did I say 'hub'?)
  • Monty Hall Problem sim
  • Pac-Man (by Bert Wikkerink, revisions by me)
  • Planets' orbits - with 'Starman' - original by Michel Stella
  • Primes - two prime number generators + time test
  • Recaman sequence (with hub sound optional)
  • red-red? - prob sim. See doc.
  • Regular polygon demo
  • Satellite Image Processing demo
  • Scramble a word
  • scroll_demo requires scroll module
  • Simon with numbered LEDs  (on the screen)
  • Smart Water Irrigation dashboard demo (no sensors... or maybe brightness?)
  • Solitaire triangle (that jumping pegs game at Cracker Barrel)
  • Stopwatch with Cookies
  • T3IC logo animations
  • textbox_demo - requires textbox module
  • Time Demo - illustrates using localtime()
  • Tower of Hanoi - several versions
  • USA waving flag with music (hub optional)
  • Whack-a-Mole 1.2  arcade game

My Pylib Modules

Put these files in your Pylib folder and 'Refresh Libraries'.

Some of the programs on the left need one or more of these modules (as specified).

All these files have Notes pages with documentation. All but randfuncs have demos on the left.

  • buttons (contains two modules: button and buttonlist: clickable buttons on the canvas)
  • colortable (rainbow colors; also contains the program colorpicker())
  • date_time (date() and time() return strings in nice formats)
  • randfuncs (extra random functions like randIntNoRep, randSamp, ...)
  • scroll (horizontal scrolling crawl on the bottom of the canvas)
  • textbox (vertically scrolling textboxes on the canvas)



Simon2 for CX II

(2021-02) Now with audio. The first problem contains simon( ) which uses the TI-Innovator SOUND device. Problem 2 contains simon1( ) which works with an amplified speaker like a BoomTouch, JBL Flip2, or any portable, powered, amplified speaker connected to the OUT1 port of the TI-Innovator using a homemade Grove to aux plug cable. The tones are true to the original Simon device. Maintains a 'high score' so be sure to save the doc if you reach a new high score.

No TI-Innovator? (why not?!) Both programs work even if you do not have a TI-Innovator attached. Just don't expect to hear anything. All code is exposed.

Need an Innovator to speaker cable? Contact Karlheinz Haas


Snake for CX II

(10 Dec 2019) (updated 12/14/19) The classic video game written using the Draw features of the TI-Nspire CX II.

Use the arrow keys to lead the blue snake to the green food. Eating the food causes the snake to grow. Avoid the edges and don't let her eat herself! New 12/14/19: High Scorekeeping.


Tilings for CX II

(11.19.2019) A project suggested by some of Steve Phelps' Twitter postings. Here are some TI-Basic programs using the Draw tools that generate various tilings on the screen. Try a search for  "Truchet Tiles".

The argument for each program is the number of tiles horizontally. The tiles are square and are scaled to fill the screen.

Each program runs by itself (controlled by a Wait statement) except for the colorful qarcs2 program where you press [enter] to advance. All programs end by pressing the [esc] key.


Connect 4 for CX II

(24 Sep 2019) The classic game for two players. Use the arrow keys to move the piece left or right, press [enter] to drop it in. Game ends when there's a winner or a draw (board is full). I often lose to my 6 year old grandson :)

Connect 4

Implicit Relations II

(30 Aug 2019) This document only works on TI-Nspire CX II models. The program implicit() draws a picture of any implicit relation in x and y. Set your relation equal to zero and use that expression for f(x,y) in the program. Remember to press ctrl-B or ctrl-R when editing any program. The program scans the screen both horizontally and vertically to detect a change in sign of the expression. When a change occurs a point is plotted. Edit xmin, xmax, ymin, and ymax in the program to set the viewing window. Error trapping is not implemented (yet) so watch out for undefined values.

There are several example relations included in the program. Just comment out (press ctrl-T on the line) the ones below the one you want to graph or write your own relation at the bottom of the collection.

Implicit II

CX II Draw demos

(3.6.2019) NEW for the TI-Nspire CX II platform only:  this zip file contains 18 .tns files containing many programs that demonstrate some of the capabilities of the new Program Editor's Draw tools.

In conjunction with getKey( ), we can now develop interactive graphics from scratch!

Wavy Lines

Approximating irrationals with fractions

(2.13.2019) Inspired by a discussion on the TI-Nspire Google Group. This document contains two algorithms for converting decimals to fractions. The discussion started with trying to understand the difference between the TI-84 and the TI-Nspire ‘convert to fraction’ feature but members quickly addressed the opportunity to explain the process through programming.

    Landy Godbold suggested looking at ‘Farey sequences’ (included) and Csaba Tizedes offered an elegant algorithm that most HS students could grasp (included).   

    This document illustrates the value of ALGORITHMS and is not intended replace or even to compete with the built-in features of the TI-NSpire platform.



PI Darts

(3.14.2018) The random method for approximating PI. Use the slider to increase or decrease the number of darts tossed. A random point in the square [(0,0)x(1,1)] is chosen. A 'hit' is inside the quarter-circle. The ratio of 'hits' to total is used to approximate PI by multiplying the ratio by 4.

Controlled by a program running in a Notes app.




(2018-02) Here's a tool for exploring hypotrochoids. There are two problems in the document: the first uses ordinary parametric equations; the second uses scatterplots.

The scatterplot method for generating parametric curves gives you awesome control over the domain of the parametric functions: tmin, tmax, and tstep can be defined as variables and even controlled with sliders. Problem 2 has a slider for tmax which results in the effect of actually 'drawing' the curve dynamically.

About the parameters r, k, and l:

  • r is the radius of the outer circle
  • k is the relative size of the inner rolling circle (0..1 but could be >1)
  • l is the relative position of the pencil point within (or out of) the rolling circle (0..1 but could be >1)

This document is saved in 'computer view' but works in handhelds as well.

Scattterplot of parametrics!

Approximate PI Using Phi

(14 Mar 2018) Initially developed by Josh Mize.

An interactive demonstration of Archimedes' derivation of the area of a circle and the first accurate approximation for pi ( circa 225BC) starting with a regular pentagon and the Golden Ratio (phi) then doubling the number of sides in each step.

Must read! ...
This demo is based on the article in The Mathematics Teacher (March 2006) by Stacy Linn and David Neal.




(7 Feb 2018) This document contains four Julia Set Explorers: one written using TI-Basic (running in the Notes app) and the others in Lua. In this first one, grab the black point and move it around. In the second (Lua), click-n-drag to move the black point.





This identical Lua version in Problem 2 is much faster!








This Lua version is really cool (uses z=z^2+cs).
It's in Problem 3 of the doc.

Just click somewhere to select cs and make a new image. Tip: points near the edge of the Mandelbrot set make the most interesting Julia sets.


Julia4 has a movie! Just click to start or stop the tour.



(29 Jan 2018) Another Lua app developed by request. Originally a demo app written by Marc Garneau, GridPaint lets you color in the squares in a grid with the colors along the bottom of the screen. Click a color on the palette then 'paint' the squares. Behind the scenes, the app keeps track of the number of squares with each color and a spreadsheet on the following page reports that data.

The purpose of the project is to provide a platform for teaching younger children about fractions, decimals, and percents using the painting process. Various grid sizes are available including 5x5, 10x10, 16x10(shown), and higher resolutions (from the menu) and the app works equally well on all platforms: handheld, computer, and iPad.

On a handheld you can click-n-hold to lock down the mouse cursor and then paint away by using the touchpad. On the iPad just touch and drag.

To erase the painting press [esc] or use the menu (for iPad).


Sierpinski in Lua

(13 Dec 2017) Just a little exercise in coding while I was bored!

A simple program that generates the Sierpinski Triangle using the 'chaos game' method. Pressing [enter] adds 100 points to the image, pressing [esc] starts over.

Take a look at the code to see how to use a class in Lua.

piano17 (requires TI-Innovator)

(04 Oct 2017) Something a little different. Requires v4.5 or above!

This doc contains a program that works with the TI-Innovator to produce musical notes using either the computer keyboard or the handheld keypad. The tune is 'recorded' and can be played back. If you know about working with lists you can save your compositions into different lists for posterity, too.

The first page is an important title page (a Lua app that determines the device) and then comes a Notes page explaining the keyboards (PC or handheld) and, finally, a Calculator page where you run the program piano17() with no arguments.

Illustrates the power of the new getKey() and DispAt commands in TI-Basic first available in OS v4.5.

For better (louder) sound, try a 'BoomTouch' portable speaker with your TI-Innovator. This clever little device picks up the TI-Innovator's weak audio and amplifies it without wires or bluetooth! (Uses 'near field audio' amplification). More info at

Distance to the Horizon

(31 Mar 2017) Here's an 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 re-create 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 number-of-segments 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.


(01.01.2017) This document contains a brain experiment. Give it a try and send your comments.



(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?



(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 top-left to bottom-right with the blank in the lower right.


(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 TI-Nspire way!

(12/2015) Watching a class in Eagle Pass, TX nspired me to create a TI-Nspire document to generate 'string art'. The instructions are on page 1 of the file. The simple 'trick' is to use a connected scatter plot with 'void' elements in the lists to create the separate 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!

For more in-depth material on the curves defined by string art see these four activities on the T3 Australia site from the Victoria Year 11 'Specialist Mathematics' course thanks to Peter Fox (



(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!

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 Puzzle

April 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 Lua 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 on the iPad, too.



Hog! - A Lua Application

September 2013

Based on the same input/output interface as Bagels (below), Hog is a 1-player 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 Application

September 2013

Here's the world-famous number-guessing 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 Regression

August, 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 (n-1) degree polynomial for a dataset of n elements. Polyreg( ) does it when p=numpts-1. 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>numpts-1).

"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 one-var data on page 3 containing a spreadsheet with the data, a box-n-whisker 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 black-to-red 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 non-color 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


A 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:


not a squircle

A cone sliced by a plane

(05/2011) A simple interactive file that uses the new 3D graphing capabilities of TI-Nspire. You have control (sliders) for the angle of the plane (with the x-axis) and the z-intercept 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 graphing

Polar and Parametric Control

Looking 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 Slider

08/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.


A 'Select' Program

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 TI-NSpire. 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.
More detailed instructions are included in the file, including the procedure for making this a Library program so that you can use it in your own documents.
This file works on both the TI-NSpire and the TI-NSpire CAS.

Plot Differential Equations

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.

CAS Around the World

My TI-Nspire 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 TI-Nspire 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!

This document is a revision of my TI-84 program "DERPT" (short for 'derivative at a point') and is a demonstration of computing and plotting the slope of a curve at selected points in order to determine the pattern of the derivative function.
Use this activity when making the transition from calculating the slope of a curve at a point to determining the derivative function using the definition of the derivative as the limit of a slope expression. It is one of those 'aha' moments for some students.

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.

Programming in TI-Nspire

This document explores programming in the 'TI-Basic' language built into the TI-Nspire. 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 initial-condition 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.

click me!

Implicit function grapher
This document has an implicit function graphing program in it. The graph produced is actually a stat plot. Instructions are contained in the Notes page in the document. The example shown here is demonstrated on the Calculator page.

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/16-18/2007.

    1. The number of daylight hours on June 21 as a function of latitude
    2. A limit question from the AP Calculus listserv 10/2007
    3. AP Calculus 2003AB6c

Hanna's Banana

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=x2. 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

This paper-folding problem was originally presented by Arne Engebretsen. This document, originally built by Dr. Stephen Arnold of Kiama, NSW, Australia, contains a very slick geometry construction simulating the folding of the upper left corner of a piece of paper down to the bottom edge. I tweaked the shading a bit, changed the dimensions of the paper, and limited the movement of point H. The problem is to find the fold - determined by the location of point H - that makes the area of the triangle formed in the lower left corner a maximum.

Steve has additional TI-Nspire resources at


Paper Fold - Shortest Fold

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 TI-Nspire 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.

Function + Polar Trace

TI-Nspire 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 radian-degree angle measure is on the screen, but not 'r'. The clever mathematical conversions are hidden, but easily exposed.
      Do you know that you can graph polar functions in parametric mode? Just define r(ø) = <the polar function> on a Calc page then set up these parametric functions:

x(t) = r(t)*cos(t)
y(t) = r(t)*sin(t)

     This, and the entire construction process are explained and demonstrated in this document.
     This file does work in all versions of TI-Nspire. If you are using version 1.3 released Jan 2008 just replace the parametric (polar) graph with a 'real' Polar graph. The point P is not really 'on' the graph anyway.


The Tower of Hanoi Program

     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.
      Arguments to the program hanoi are:

hanoi(numberOfDisks, fromPeg, toPeg, auxPeg)

     It takes 2^N-1 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?
      I have another version that displays the move number, but it requires an external, global variable. If you can't get it to work by yourself I can send you a copy.

Sequences and Series

TI-Nspire DOES have a sequence graphing mode! See Graph Type in the Graphs application.

While the TI-Nspire 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.

Rabbits and Foxes

A study of the predator-prey 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 TI-Nspire (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.

Loans Calculator

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 2-axis pendulum under resistance-free movement.
     An important feature in this file is the use of Marc Garneau's method of graphing parametric relations using lists that do a better job than the parametric graphing mode. It gives you better control of the T-Step value as well as Tmin and Tmax if you like.

"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.
The conjecture is this: Every Natural number can be uniquely expressed as the sum of a set of (non-consecutive) Fibonacci numbers. I get the 'non-consecutive' part, but the rest is a mystery to me. Anyway...
Write a program that displays the Zeckendorf Representation of a Natural number (considering the limitations of the machine you are using). The image to the right is the output of my program which easily handles 'very large' numbers (the 1000th Fibonacci number is over 200 digits). If you'd like a copy, though, you'll have to email me. Try it yourself first.

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
... for lack of a better title...

A vertex of a triangle is at the origin and one side is on the x-axis. 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 built-in 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.