# Tips on giving a lecture course using Mathematica

I've had a look at this question on giving presentations with Mathematica which is very useful on the technical side of setting up slideshows. However, my question is more about the integration of Mathematica with good teaching style.

I shall shortly be giving an undergraduate lecture course on Mathematical Methods to engineers and others from non pure maths disciplines (it'll be from integration onwards) and am planning on using Mathematica as a teaching tool.

One has to be careful with not letting technology take the place of good teaching but I would like to be able to use Mathematica effectively for showing the structure of a problem and the parametric dependencies of functions etc. - the perfect place for plenty of Manipulate usage. I hope to give at least 90% of my lectures in Mathematica and the rest on a blackboard - this is a wild estimate but it's what I'm aiming for.

I would be grateful if anyone has undertaken such an exercise to give me possible pitfalls and pointers as to the best methods they've found to make Mathematica bring the maths to life, rather than confuse the students with a mass of fast-paced buttons, dynamic displays and notation.

P.S I saw also this question on lecture courses with Mathematica, however again, these are examples and not descriptions of what went well and what didn't.

I do this pretty regularly, and my strategy is to talk at the blackboard, show static slides, try to get the students talking/asking questions, and then finish things off with a Manipulate or two. One thing I have found particularly effective is to ask students to download a .cdf version and to use it as a springboard for a homework question. It's usually something simple: move this slider, see what happens. Now find the best value of this other slider to make something happen, or maybe do some kind of calculation (based on the theory) and then verify that the Manipulate agrees. I think this is effective for several reasons. It is kind of fun. It acts like a mini-review of the lecture. And the pictures are rotatable and manipulatable, unlike the static images in books. Also, once this happens a couple of times and they know it's going to be in the homework, they pay extra close attention in class. This is a good thing!

Rod Lm asked if I would give an example of the cdfs. The setting is a class of students in art history/conservation studying technical analysis of masterworks (famous paintings). My part has to do with modern ways of analyzing images of the paintings. We talk about how a digital image consists of a collection of numbers stored in a computer, and the image itself is a way of "plotting" those numbers. In this cdf the students can play around with some various methods of representing numbers. In this next cdf, they can try applying some simple function to the numbers to see how it is possible to change contrast/brightness, and other perceptual attributes. The images are x-rays of small pieces of canvas (from well known paintings) that they are interested in studying. In the homework portion, we ask them to do things like choose the function that improves the contrast, or find the function that brings out most clearly the staple in L07-3283 (a swatch from a painting by Vermeer).

• Do you mind to share one of your class-notebooks with us?
– Rod
Commented Jun 7, 2013 at 19:04
• Two links are now in the second paragraph. Commented Jun 8, 2013 at 12:26

I've just completed the second run of a course I designed aimed at a roughly similar group of students. As background, my course, titled "Dynamics Systems Analysis & Modeling", is intended to be a bridge between calculus / very basic differential equations at the front end and control theory for engineers at the tail end. The goal of the course is to stimulate engineering thinking through analysis & modeling; the primary focus is on mathematical and engineering content of dynamic(al) systems with a secondary goal of introducing students to computer analysis (as a glimpse into the world of programming).

I lecture from a blackboard most of the time and up to a third of the time I work problems step-by-step using Mathematica in front of the class. This prepares them for tackling similar problems and projects on their own.

What worked well

• Don't miss the excellent discussion and collection of resources as answers to the question, "Where can I find examples of good Mathematica programming practice?"

• The students were on average more intrinsically motivated to explore a given subject.

• I've found Mathematica to be a good tool to force a deeper understanding of engineering content and details in a way that passive, playing with knobs and sliders does not, and in a way that is in some respects quicker than paper.
• If incorporated in a certain way, Mathematica can enhance knowledge rather than being an advanced calculator. Before I did the course the first time, I was concerned about the course devolving into a cookbook-style calculator approach; I am pleased to have discovered that one can effectively avoid such a pitfall.
• Encouraging the students to produce their own answers and solutions to homework problems which they first worked on paper. Of course there is the risk that the students just type a problem in Mathematica and quickly declare the work done. However, posing the questions and designing homework and projects carefully in advance, I am now confident I can continue and actually force a student to be confronted with salient points and conquer the limits of his or her own knowledge.
• More quickly bridging the gap between theory and application. Once a student grasps a basic linear system of first-order differential equations, it's a great motivation to quickly show how they can model aircraft dynamics if they're equipped with the appropriate system matrix.
• The Mathematica documentation is excellent for getting students up to speed quickly so that students can stay more focused on the mathematical/engineering content.
• Creating a mini-project in which each student works on a similar problem but each student has completely different input variables (which sometimes resulted in different characteristics of a system) ...
• ... and then writing a program with which I semi-automatically grade all (250+) student projects and provide them with their own graded notebook including some feedback per question.
• Working on similar problems/projects but with different variables allows them to work together and learn from each other, which I encourage, while forcing them to do their own work to some extent. This balance works quite nicely.

What could be better

• Check out this discussion on the most common pitfalls awaiting new users.

• Be prepared for the unexpected in Mathematica. When I started I was completely new to Mathematica and so sometimes bumped into the limitations of my own Mathematica knowledge. I'm not a complete novice anymore, and yet I'm tripped up every now and again during a live lecture. I don't view this as a bad thing because the students can then follow my problem solving process live, seeing a (hopefully) structured thought-process in progress.

• Preparing for the unexpected is doubly true for students. Often students reached an impasse that could not be circumnavigated without more Mathematica experience. For example, they could solve a particular differential equation but got a different answer than the one in the book or one they expected. Mathematica's answer was correct but looked totally different, and only with knowledge of other functions (e.g. TrigToExp, Im, ...) could they transform their answer into the expected one.

• Issues with syntax often dogged the students who need more time to get used to seeing matrices as lists which were delineated by curly braces.

• The difference between the form in which an expression is shown on the screen and the FullForm which exists under the hood. For example, students would often want to copy a previous result and paste it elsewhere, being unaware that they were copying and pasting the MatrixForm.
• Mathematica seems to exhibit slightly different behavior on different computing platforms and seemingly sometimes on different processors for the same OS (32 vs. 64 bit).
• A very full answer, many thanks. Commented Jun 8, 2013 at 12:17

I find technology such as Mathematica lends itself nicely to alternative methods of instructional delivery such as Process Oriented Guided Inquiry Learning and the Flipped Classroom. I use both of these methods in entry-level and upper-level undergraduate classes with reasonable success. To that end, I would strongly suggest that you consider the role of traditional lecturing in a technology-driven instructional environment. Depending on your comfort level with technology (and I assume folks visiting SE have some degree of comfort) then my first suggestion is

Move all lecture-based delivery to on-line

Lectures typically are efficient means for instructors to deliver facts and information. It is often fast-paced, making it difficult for some students to record and retain the information, and tests everyone's attention spans. By moving lectures on to a pre-recorded youtube video, the material is available for students when they want to learn and provides them an opportunity to review the information whenever it is necessary.

Moving the lecture out of the classroom allows for more time for (a) student-teacher interactions and (b) active learning on the part of the students. I find that Mathematica tools built on the Manipulate platform facilitate both of these actions. In addition to moving lectures out of the classroom and on-line, I have found value in

Developing on-line activities

At the risk of being flamed for using this answer to advertise my work, an example of an activity I expect students to do on their own is here. I have found that the PREDICT/DESCRIBE/EXPLAIN method of activity design is most beneficial to students as it provides a easy to follow workflow. Keeping this model in mind when I generate activities has helped me (I think) avoid overuse of technology and all the flashy bells-and-whistles that detract from student learning. The time I would have spent lecturing in class I can now use to answer questions that students have about the activity they performed or video they viewed prior to attending class (and also conduct a quiz to assess how effective these out-of-class activities were).

Finally, I build on the out-of-class activity with

Using activities to engage in higher-order learning

Very often, and this is particularly true in lower-level introductory courses, we spend a lot of time at the lower level's of Bloom's Taxonomy. I use technology to help students experience more of the Applying and Analyzing aspects of learning during the classroom experience. Ultimately, I base my use of classroom time on the idea that I am not needed at the Understanding and Remembering levels of learning. Students can read the book, google the answer and work that out on their own.

The biggest challenges I find with this method is that (1) it takes a lot more time for me to integrate technology in the classroom than it does to write a lecture. This is particularly true for material with which I feel very comfortable. (2) You need to dedicate some time to student buy-in. If the students see the activities as just another flaming hoop that they have to jump through, then there will be limited value in the activities. I find myself behaving more like a motivational speaker during the first few weeks of a class than an instructor. (3) I think it is critical that you think about how to incorporate assessment into your activities. You need to know that they are helpful to the students.

Hope that helps.

• interesting that they moved synthesis (creation) to the top level of Bloom's instead of evaluation. In my personal experience, that isn't surprising, but I hadn't noticed the change. Commented Jun 7, 2013 at 20:54

I will tell you my personal thoughts. I don't like when my teacher uses a projector. He goes through slides, it's like you said, just fast. Two times per semester we have tutorials when he writes on the blackboard and it's far more interesting because he goes through every step and that's very important for me. When I exercise at home, I can recall every step that I saw how he did on blackboard.

But, note that he sometimes uses notebooks to show some interesting things (like Laplace Transformations) and that's a very good time when not using the blackboard.

This is my experience as a student and I hope you will get some clues from this.

• I looked at the other answers and found them interesting, but I upvoted this because it deserves serious consideration. What level of classes are you taking? Undergraduate, graduate, ...?
– Jens
Commented Jun 8, 2013 at 1:30
• Undergraduate - electrical engineering Commented Jun 8, 2013 at 9:28
• I completely agree that a projector is easy to use badly. I much preferred blackboard talks when I was at university. I'm hoping that the interactivity of Mathematica will undo the fact that intrinsically it's a faster pace. Commented Jun 8, 2013 at 12:19
• As an astronomy student I totally agree. Electrodynamics is good example, it is easy to abuse presentatios or slides for this topic, but important thing is students to follow calculations. Slides should be only a little assistance. And I have hadd such course. It was great.
– Kuba
Commented Jun 16, 2013 at 10:37
• I did such a lecturing in a situation where the Mathematica licenses for students were not an option. In this case I have the impression that the for lecturing in the area where mathematics is strongly involved (like physics, quantum chemistry and alike) talk+chalk session part is the most important for the students: it has a function of demystifying science. Otherwise students often miss some logical steps in derivations and live further with the impression of some magic spell allowing the lector to get from point A to B. I only used Mathematica for illustrative purposes. Commented Jun 17, 2013 at 9:16

Short answer: don't lecture; have students work hands-on, initially from notebooks you prepare.

Long answer: Over nearly twenty years I taught mathematics courses ranging from freshman calculus and sophomore linear algebra through sophomore-junior discrete structures to junior-senior complex analysis in which students had to learn Mathematica from scratch and apply it for homework problems and, in some courses, even for exams. Aside from a half-hour motivational demonstration the first day of lecture showing what the software was capable of doing and how easy the interface was to use, all the students' formally structured learning was hands-on in scheduled computer lab sessions.

In lab, students worked in pairs directly upon notebooks I (or colleagues) prepared that included instructions, examples, things for them to try as is or to modify, and problems for them to solve. I and/or a TA circulated around the room answering questions; for a couple of smaller classes, I used software that allowed me to monitor students' stations from an instructor's station and to intervene through the software, even pushing out notebooks and collecting students' work at the end of the session.

For the first session, students always had a printed "getting started" page just telling them about logging on, starting Mathematica, an opening a particular notebook. From them on, all the instruction was directly in the notebooks themselves.

In the freshman calculus, weekly labs continued throughout the semester. In the higher-level courses, there were only at most 3 hands-on sessions during the first two weeks, and then students were on their own -- but encouraged to work in small teams for homework (but not exams).

By contrast, the couple of times I tried giving extensive lecture instruction on Mathematica, I might as well not have bothered, given how little students learned that way. Ditto for live, projected presentation in the lab immediately before students began working. (But students did pay close attention when, from time to time, I spent a few minutes at lecture on some Mathematica issue that students asked about it, or when I saw it in their submitted work.)

For samples of how things proceeded in the higher-level courses, you may wish to examine some of the notebooks used. By now they are a bit old! See especially Intro1.nb, Intro2.nb, and Intro3.nb at:

• Thank you very much Murray. I'm not sure that I will be able to implement this approach this time around as I will be fitting in with several other lecturers who will be running the course in parallel (4x200 students) and the students will not have access to Mathematica themselves. I plan at least on making CDFs that they can view, but I won't be able to make it as interactive as I would like, or as you suggest. Hopefully I will be able to persuade others that this is the way to go in the future though. Thanks again for the insight and the link. Commented Jun 16, 2013 at 17:30