MathGroup Archive 1995

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Suggestions needed for Mathematica course

  • To: mathgroup at
  • Subject: [mg379] Re: Suggestions needed for Mathematica course
  • From: David Harrison <harrison at>
  • Date: Thu, 29 Dec 1994 07:07:00 -0500

I have been teaching a third and fourth year Physics course called
"Computational Physics" for two years now.  In addition, I have been
deeply involved in projects in which we use Mathematica as the
foundation for required problem sets in our more traditional courses
(Classical Mechanics, E&M, Nonlinear Dynamics, etc.) for the past
three years or so.  I could go on at some length about our experiences,
but will try to defer that for another time and place (we have
recently discussed some of our work in Computers in Physics 8,
416 (July/August 1994).

A bit of background about our "Computational Physics" course: it
is a half year course involving a one-hour lecture and three-hour
laboratory every week.  It is structured as a laboratory, and the
students experiment with algorithms, displays etc.  In all cases
the experiments are tied to real Physics problems and use real
data.  The students are third and fourth year Physics specialists.

It is very easy to ask too much of the students.  I use a general
rule that if it takes me X time to solve a problem it will take a
student 10*X to solve the same problem.

We have all assigned problems in our traditional courses that are
much harder to solve than we thought; thus we learn to do the
solutions *before* releasing the problem to our students.  In
a course such as this such a step is VITAL: many of my disasters
have been because I neglected this rule.

Getting the students 'up to speed' with Mathematica begins with a three
hour session of exercises.  Nancy Blachman's excellent tutorial (available
from mathsource) provided some of this introduction, but mostly it is
home-made; this is because our use of Mathematica requires a different
set of topics and emphases then her general tutorial.  Of course, after
the exercise the students are not "experts" yet.  By the end of the
course they're pretty close though.

Interacting with the students one-on-one in the 'laboratory' is where
some of the best learning occurs; I often think of this as a master-
apprentice relationship.  There is also a strong positive interaction
between the students, although one must guard against one student
doing most of the work.

Having a projection system for the one-hour lecture has been extremely
useful.  Often walking through a task in class clarifies things for
the students.

Finally, we are a UNIX/X-terminal shop.  In 1993 the course was based
on packages: some of these we wrote and some the students wrote.  We
required the students to submit a regular lab book of discussion,
conclusions, etc.  In 1994 a Notebook front-end became available and
we used it this year: thus the students used their Notebook for both
their code and graphs and discussion, making the lab book superfluous.

Despite the bugs in this first release of the X-Notebook, using this
technology made an order-of-magnitude improvement in the learning of
the students.  However, there are some cautions:

  +  If you give the students an expression or series of expressions
     to evaluate, they tend to point-click-execute the cells but
     not really look at the output.  Nagging incessantly can soon
     put a stop to this once you realise that it is happening.

  +  If the project involves, say, a lot of color graphics the students
     can easily exhaust system resources if they keep all of them in
     the Notebook.  For PC/Mac environments this means running out of
     memory or filling up the disc when one tries to save the Notebook.
     In our UNIX/X-terminal environment we have quotas that lead
     to the same problems, plus exhausting the memory of the X-terminal
     which causes the program to crash in a particularly ugly way (which
     is the fault of X, not WRI).  We advise the students to remove
     graphics but keep the command that generated them so I can
     reconstruct them on my screen when I mark the experiment.  We
     also include CleanSlateExcept[] commands in our Notebooks for
     cleaning up their environment (CleanSlate.m is available from

  +  Although the students don't submit any paper for evaluation, I
     have been unable to think of a good way to mark them electronically.
     Thus, I print their Notebooks, and write my comments on the
     hardcopy while I'm running their Notebook on my terminal.  If
     somebody has thought of a better way I would love to find out.

Finally, after the students have submitted their experiment, I make
a solutions Notebook available.  As mentioned above, this Notebook
was written at the same time that the experiment Notebook was written.

Well, this has ended up pretty long-winded.  I hope it helps.

David Harrison                             | "Music is a hidden practice
Dept. of Physics, Univ. of Toronto         |  of the soul, that does not
Inet: harrison at |  know it is doing mathematics."
Tel: 416-978-2977  Fax: 416-978-5848       |             -- Leibniz

  • Prev by Date: Blackman tutorial/supplement
  • Next by Date: Re: Mutiple delete in lists
  • Previous by thread: Re: Re: Suggestions needed for Mathematica course
  • Next by thread: Blackman tutorial/supplement