Teaching, Learning, and Practicing
Computer Programming

Function Fluency

I believe that one reason students have difficulty with mathematics is a lack of fluency with the language of functions. Students see the word "function" often enough in math classes but they aren't ask to use it in meaningful ways. Function Fluency is a set of online exercises being developed correct this deficiency.


Influenced in the 1960's by the APL programming language, I have always liked an interactive environment for trying new things—in particular an interactive environment that lets me save variables and what not for use again the next time I sit down to work.

Python provides an almost perfect interactive environment, just not the ability to save my work. For that I have created a workspace module that you may wish to play with.

I have used a version of this workspace twice in a summer institute for middle school teachers. Many of those attending were able to work through this lab with additional help from me. You may wish to try it as it provides a rather gentle introduction to Python.

A few others share my belief that Python is an excellent tool for developing mathematical maturity in high school students. Here is one of the first textbooks written in support of that belief.


Almost 14 years ago, the IEEE Computer Society published my book, Tcl/Tk for Programmers. The current version of Tcl is little changed from the one I covered in that book and the book is still in print (although it has changed publishers to John Wiley and Sons). For your perusal, about a fifth of the material has always been online.

After nine years in the same form, one might call Tcl/Tk for Programmers a classic. I won't because it has not sold very many copies in any one year. The thing is it just keeps on selling at the same rate.


I have created a package of classes for GUI application programming with image and text file I/O. I tried for something useful for teaching but flexible and robust enough for my own programming needs.