
Title: Function Machines
Performer(s):
Wallace Feurzeig
BBN Systems and Technologies
150 Cambridge Park Drive
Cambridge, MA 02140
|
Cluster: CAPER
Contact Information:
Phone: 617-873-3448
Fax: 617-873-2455
email: feurzeig@labsn.bbn.com
|
1. Instructional Focus:
Content areas/topics:
Mathematics: Number sense and operations for algebra and algorithms; mathematical modeling and inquiry; conceptual foundations for arithmetic, geometry, algebra; newer topics drawn from discrete math, graph theory, stochastic systems (systems and processes involving random behavior); hypothesis testing; creation and interpretation of graphs.
Introductory Computer Science: Iteration, recursion, simulation, visual programming.
Language Arts: Use of Function Machines to generate sentences and other language structures.
Process skills: Modeling; collaborative, project-based learning; constructivist approaches to learning; inquiry; computer languages as problem solving tools; telecommunications (remote mentors, multi-user domains [MUDs]).
2. Target Population: Students in grades 2-10. Teachers - math, grades 2-8; language arts, grades 4-8; computer science, grades 4-10.
3. Summary Description: Function Machines is a visual programming language that enables students to study a broad range of topics. This project will employ the power of the Function Machines language to enable students to recognize patterns and processes in mathematics. It accomplishes that by helping students visually comprehend all of their computations as part of a network. Unlike a calculator environment, where the key strokes disappear after they are executed, Function Machines leaves a visual "trail" of the calculations. The "trail" helps reveal the interrelationships of clusters of computations. The project will extend and evaluate the use of Function Machines across a range of mathematical topics. It will also include topics in language arts, science, and computer programming. The extended version of Function Machines will also work well in virtual learning environments which, among other things, allow students in different places in the world to become part of a virtual classroom and to participate in interactive discussions in real time with their classmates. This kind of environment is called a MOO (Multi-user Object Oriented), which is related to MUDs (Multi-user Domains).
4. Training and Staff Development:
- Teacher prerequisite skills/knowledge needed: Sufficient familiarity with computers to
use email.
- Student prerequisite skills needed: General familiarity with computers.
- Training needed/provided: Use of Multi-User Domains (MUDs) as a training vehicle for teachers and students; use of inquiry and modeling as approaches to teaching; use of the Function Machines language. Training for teachers and students in the Function Machines language will be provided.
- Technical support needed/provided: Synchronous telecommunications to support teleworkshops which employ MUDs.
5. Technologies/Resources Needed: Macs and PC/Windows (486 processors);
Internet access.
6. Intended Outcome(s):
Students: Students will become fluent in programming in the Function Machines language; engage in mathematical investigations; think algebraically throughout the problem representation and development process when solving algebra word problems; understand and explain the mechanisms for passing data and transferring control between functions through the use of the programming language (Function Machines); formulate mathematical models of situations like those that are implicit in standard algebra word problems; acquire and explain the concept of mathematical functions; use Function Machine programming as a tool for modeling stochastic processes and supporting the instructional paradigm of model-based inquiry.
Teachers: Teachers will use programming in Function Machines to engage students in mathematical investigations; use programming to foster the development in students of mathematical ways of thinking; employ instructional activities focusing on the use of Function Machines in developing students' mathematical and scientific inquiry skills.
7. Instructional Time Required: Not specified.
8. Role of the Pilot Teacher(s): Receive training in the use of the Function Machines programming language to develop student mathematical and scientific inquiry skills; pilot instructional modules in Alpha and Beta versions and furnish feedback to the performer; associate with colleagues working in the project through teleworkshops, other teleconferencing activities, and meetings; associate with experts in this field for the purpose of both obtaining assistance and collaborating in the development of the product.
9. Example(s) of Use of This Product (Scenario): Modeling projects with Function Machines can be used to provide a conceptual foundation for the teaching of mathematics in major parts of the arithmetic, geometry, algebra, logic, and programming courses. It can also be used in newer topics drawn from discrete math, combinatorics, graph theory, stochastic processes, chaos theory, operations research, and other mathematically rich areas. Function Machines visualizations of model structure and behavior show how complexity can be expressed in a conceptually clear and understandable fashion. The language supports the representation of parallel processes and provides a natural introduction to the study of parallel algorithms and control systems.
Many students find work with computer controlled robots, display devices, and animated sprites especially compelling. For example, students learn to use the language to control a robot device, the display turtle. They learn a repertory of commands for directing the turtle -- for example, to move forward or back, turn to the right or left, position a pen to start or stop drawing its path as it moves, turn its lamp on or off, sound its horn, and test whether or not its touch sensors are in contact with an external object. The turtle is often introduced as a drawing device. However, its use is not limited to the development of pictures and patterns. Projects based on the use of these wonderful devices can introduce, in a concrete and
comprehensible way, beautiful, and, at times deep, mathematics.
As an example, consider the turtle path reversal problem. This problem introduces students in an engaging way, to the algorithm for inverting a chain of mathematical functions. This is a powerful algorithm -- it is the basis for matrix inversion and the solution of linear systems. It has important applications in thermodynamics and system design. It ought to be given a memorable name, such as "the theorem of return." The task is easily stated and grasped. Students are first asked to direct the turtle out of the room and around the corner somewhere so that it is no longer visible. They are then asked to bring the turtle back, i.e. to issue the commands that will return it "home". i.e., to its starting place in the room.
Students are typically taken aback by this because they can no longer see the turtle. How can one control what one cannot see? (The task thus provides a concrete metaphor for scientific inference, by introducing the idea that the mind's eye can transcend the limitations of the senses.) Students have a complete list of the commands that took the turtle from home to its current invisible resting place but even bright students often lack the initial insight of how to use this information. However, once students are asked how they might bring the turtle back to where it was "the time before last," they often get a flash of understanding. If the last command was to move the turtle forward some number of units, they can undo that by moving it backwards the same amount; if it was to turn right some number of degrees, they can undo this by turning the turtle left that same amount. They see that the complete plan for returning the turtle home is to undo the sequence of actions that the turtle took in proceeding to its final location, and that this is accomplished by performing the opposite actions in the reverse order.
After they implement the sequence of commands that return the turtle home, students are given the task of generalizing their solution. They are asked to write a Function Machines program to reverse any path defined by a sequence of turtle commands. Then, generalizing this, they are asked to describe a plan for a program that reverses turtle paths generated by arbitrary programs, comprised not only of turtle commands but also of programs that may themselves contain turtle commands. Recursive generalization tasks like this occur naturally in Function Machines modeling work of all kinds. They foster the development of powerful thinking skills in students while developing their experience and understanding of mathematically rich content.