Most of the CCP modules require that the user have one of the following helper applications installed on his or her computer:

Mathcad, Version 6.0 or higher


Maple V, Release 5 or higher


Mathematica, Version 4.0 or higher


Matlab, Version 5.1 or higher

These buttons appear on the Contents page of each module and link to a corresponding CAS worksheet designed for use with that module. In most cases, the user may allow the downloaded file to launch the CAS, but saving the file first is an option. Matlab is a little different  since multiple ".m" files are needed, they are delivered in a variety of zipped archive file formats, and the user can choose an appropriate format.
Most CCP modules are designed to take advantage of both the Web and the preferred CAS. All discussions and assignments take place in the web page, and students make calculations and record their observations in the CAS worksheet. Most users find that the materials are easiest to use when both the web page and the worksheet are visible side by side, as shown here (121K gif file), with a module web page on the left and a Maple worksheet on the right. (Maximize the browser window to see the fullscreen display. Close the window to return here.)
A few of the modules do not use a CAS because all of the necessary interaction can take place in the web pages. An example is our Introduction to the OneDimensional Heat Equation.
Each of our subject areas contains tutorial modules for the relevant computer algebra systems. The basic parts of these tutorials are the same across subject areas and very similar across systems  they just get the student started with operations that will have to be used in any CAS, such as simple algebra, function graphing, writing mathematical text, and file management. Then each tutorial also has a few subjectspecific sections on matters such as differentiation in calculus and matrix operations in linear algebra. The tutorials do not aim at expertise but rather at getting started. As additional CAS commands are needed, they are introduced in the context of modules in which they will be used in a meaningful way. To see a sample tutorial, visit the Maple Tutorial for Differential Equations.
We have a design principle for what to put in a CAS worksheet, as opposed to what to leave out. If it's something we don't want students to spend time thinking about, we put it in. If the whole point is to think about it, then we leave it out. For example, if the task is to graph simultaneously a set of data points and an approximating curve  after figuring out what curve should approximate the data  we will provide
 the complete data structure,
 a complete set of graphing commands that refer to a named function, and
 an incomplete instruction to define a function with the proper name,
and we will leave out
 the formula for the function.
But all of the provided code refers to tasks that students had to learn to do for themselves in earlier modules (including possibly the tutorial), such as entering data and defining and graphing functions.
Another design principle is to provide students a lot of help at the beginning of each module, but less and less as the exercise progresses. In later sections of the module  and especially the Summary section  there may be nothing but a text line to mark the section and some empty command lines. Students quickly learn to copy, paste, and edit code (from earlier in the worksheet or from some other exercise) to avoid having to do everything from scratch. That is, they learn without much prompting some of the skills we use all the time.
Over time, students become quite proficient with the commands they use a lot, and they learn where to look for names and syntax of commands they may not have used or have used only occasionally. This addresses our secondary goal of having students become confident that a CAS is a tool they can use in new situations when they need to. (It also provides an occasional shock for a physics or engineering professor in some subsequent course.) Our primary goal, first, last, and always, is learning mathematics.