Legacy Documentation

Mathematica® Teacher's Edition (2002)

This is documentation for an obsolete product.
Current products and services
 Documentation /  Mathematica Teacher's Edition /  The Teacher's Book /  Front Matter /  About This Book /

Suggestions about Learning Mathematica

As with any other computer system, there are a few points that you need to get straight before you can even start using Mathematica TE. For example, you absolutely must know how to type your input to Mathematica TE. To find out these kinds of basic points, you should at least read Chapter 1, Running Mathematica TE, which follows the Tour.
Once you know the basics, you can begin to get a feeling for Mathematica TE by typing in some examples from this book. Always be sure that you type in exactly what appears in the book--do not change any capitalization, bracketing, etc.
After you have tried a few examples from the book, you should start experimenting for yourself. Change the examples slightly, and see what happens. You should look at each piece of output carefully, and try to understand why it came out as it did.
After you have run through some simple examples, you should be ready to take the next step: learning to go through what is needed to solve a complete problem with Mathematica TE.
You will probably find it best to start by picking a specific problem to work on. Pick a problem that you understand well--preferably one whose solution you could easily reproduce by hand. Then go through each step in solving the problem, learning what you need to know about Mathematica TE to do it. Always be ready to experiment with simple cases, and understand the results you get with these, before going back to your original problem.
In going through the steps to solve your problem, you will learn about various specific features of Mathematica TE, typically from parts of Parts 1 and 2. After you have done a few problems with Mathematica TE, you should get a feeling for many of the basic features of the system.
When you have built up a reasonable knowledge of the features of Mathematica TE, you should go back and learn about the overall structure of the Mathematica TE system. You can do this by systematically reading Part 3 of this book. What you will discover is that many of the features that seemed unrelated actually fit together into a coherent overall structure. Knowing this structure will make it much easier for you to understand and remember the specific features you have already learned.
You should not try to learn the overall structure of Mathematica TE too early. Unless you have had broad experience with advanced computer languages or pure mathematics, you will probably find Part 3 difficult to understand at first. You will find the structure and principles it describes difficult to remember, and you will always be wondering why particular aspects of them might be useful. However, if you first get some practical experience with Mathematica TE, you will find the overall structure much easier to grasp. You should realize that the principles on which Mathematica TE is built are very general, and it is usually difficult to understand such general principles before you have seen specific examples.
One of the most important aspects of Mathematica TE is that it applies a fairly small number of principles as widely as possible. This means that even though you have used a particular feature only in a specific situation, the principle on which that feature is based can probably be applied in many other situations. One reason it is so important to understand the underlying principles of Mathematica TE is that by doing so you can leverage your knowledge of specific features into a more general context. As an example, you may first learn about transformation rules in the context of algebraic expressions. But the basic principle of transformation rules applies to any symbolic expression. Thus you can also use such rules to modify the structure of, say, an expression that represents a Mathematica TE graphics object.
Learning to use Mathematica TE well involves changing the way you solve problems. The balance of what aspects of problem solving are difficult changes when you move from pencil and paper to Mathematica TE. With pencil and paper, you can often get by with a fairly imprecise initial formulation of your problem. Then when you actually do calculations in solving the problem, you can usually fix up the formulation as you go along. However, the calculations you do have to be fairly simple, and you cannot afford to try out many different cases.
When you use Mathematica TE, on the other hand, the initial formulation of your problem has to be quite precise. However, once you have the formulation, you can easily do many different calculations with it. This means that you can effectively carry out many mathematical experiments on your problem. By looking at the results you get, you can then refine the original formulation of your problem.
There are typically many different ways to formulate a given problem in Mathematica TE. In almost all cases, however, the most direct and simple formulations will be best. The more you can formulate your problem in Mathematica TE from the beginning, the better. Often, in fact, you will find that formulating your problem directly in Mathematica TE is better than first trying to set up a traditional mathematical formulation, say an algebraic one. The main point is that Mathematica TE allows you to express not only traditional mathematical operations, but also algorithmic and structural ones. This greater range of possibilities gives you a better chance of being able to find a direct way to represent your original problem.
For most of the more sophisticated problems that you want to solve with Mathematica TE, you will have to create Mathematica TE programs. Mathematica TE supports several types of programming, and you have to choose which one to use in each case. It turns out that no single type of programming suits all cases well. As a result, it is very important that you learn several different types of programming.
If you already know a traditional programming language such as BASIC, C, Fortran or Pascal, you will probably find it easiest to learn procedural programming in Mathematica TE, using Do, For and so on. But while almost any Mathematica TE program can, in principle, be written in a procedural way, this is rarely the best approach. In a symbolic system like Mathematica TE, functional and rule-based programming typically yield programs that are more efficient, and easier to understand.
If you find yourself using procedural programming a lot, you should make an active effort to convert at least some of your programs to other types. At first, you may find functional and rule-based programs difficult to understand. But after a while, you will find that their global structure is usually much easier to grasp than procedural programs. And as your experience with Mathematica TE grows over a period of months or years, you will probably find that you write more and more of your programs in nonprocedural ways.
As you proceed in using and learning Mathematica TE, it is important to remember that Mathematica TE is a large system. Although after a while you should know all of its basic principles, you may never learn the details of all its features. As a result, even after you have had a great deal of experience with Mathematica TE, you will undoubtedly still find it useful to look through this book. When you do so, you are quite likely to notice features that you never noticed before, but that with your experience, you can now see how to use.