Managing Mathematica Assignments 
  
Patrice Conrath
Bethel College
St. Paul, MN
conrath@bethel.edu

Abstract

The extra hassle and time involved with grading Mathematica assignments can deter some professors from incorporating Mathematica assignments in their classrooms.  I will discuss the design,management,and grading of assignments and projects which will help to simplify the process and make the use of notebooks more practical.  Time will be spent sharing participants' time saving ideas as well.

Logistics

Preparing Students

Introduce the operating system(s) and e-mail system

Before students begin to use Mathematica, make sure you have introduced them to the system(s) they will use in labs and/or classrooms.  During a Mathematica session, students will often blame Mathematica for problems that are usually the result of their own ignorance about the operating system or how Mathematica works. If possible offer supervised lab times when students can concentrate on learning the fundamentals of using different computing environments and learning the e-mail system at your school.

Give basic survival skills for Mathematica (kernel, Clear, etc.)

Novice Mathematica users often find incredible new ways to make mistakes.  Arm your students with ways to get themselves out of the holes they create!  Teaching students to understand how the kernel works (understanding how it loads during the first calculation,  how to disconnect it, or abort a calculation, etc.), and how to Clear constants and functions can save the student many minutes (that seem like hours) of frustration.  Teach these skills at the beginning of the course.

Use Tutorials and Exercises

Have students use a good tutorial to learn basic Mathematica skills.  I highly recommend:  The Beginner's Guide to Mathematica vs. 3 by Jerry Glynn and Theodore Gray.  This is the only tutorial I have found for version 3.  I have just completed some exercises which will be included with the new update of the CD version of this text (available through Mathware (http://mathware.com/ )).  

Practicing problems seems to be a key factor in student's success with Mathematica, so make sure that students not only read the tutorial but are also accountable for completing corresponding exercises.  Students will not usually take the initiative to practice the commands on their own.  The exercises included with the CD version of The Beginner's Guide to Mathematica vs. 3, can be edited by the instructor to suit individual needs of the course.

Designing Assignments

Determine the desired level of difficulty

Many factors in the design of your notebook will be determined by whether your students are novice or advanced Mathematica users.

Notebook Style:  prefab notebook vs. outline given 
It is always good to give some structure as this saves time when grading, however, advanced students will only need an outline format, while beginning students will require more detailed instructions, and "fill in the blank"-type notebooks.

Mathematica Code required:  editing code, mimicking or using simple commands vs. no prompts given and/or writing own code
The beginning student should be shown example lines of code, however intermediate students should be given a task without reference to the required Mathematica functions.  Advanced students can write code to complete a task or edit more complicated code to show understanding of its application to a new situation.  

Final Product:  simple fill-in-the blank assignment vs. well written student report
The format of the final report will vary as well.  Beginning students will turn in notebooks that will be nearly identical to your key.  Advanced students should be given more freedom to show their creativity and understanding of appropriate uses of Mathematica. It is often useful to have advanced students complete a "clone-type" exercise notebook first, and then write a more polished report later (after they have received comments back from the first notebook).  The type of assignment will also determine the type of grading involved (see "Grading/Assigning Grade Weight to Notebooks" below).

Determine the size and structure

Structure:  Give a good outline for the entire project or assignment (Mathematica works naturally here with its nice formatting and visual cues).  Try to keep the focus on the problem at hand instead of the wonders of Mathematica.

Size:  Shorter assignments will be completed in a single notebook.  However, if the project is large, break the assignment into several notebooks - it feels better to complete a notebook instead of only a long section.  

Due Dates:  Break longer projects into pieces and space out the due dates.

Managing Assignments

Introducing Notebooks

Outlines:  When notebooks are assigned, it is useful to make an overhead that shows the overall structure of the notebook (collapse all cells down to show the major sections).  This will familiarize the student with the structure and the major topics which will be covered in that particular notebook. 
 
When assigning a larger notebook, it may be useful for the student to have a paper copy of this outline, so that they can keep the structure in mind, and can organize the ideas more readily in their minds.  The outline will also provide a good note taking mechanism, and/or a place to note which sections have been completed.

Survival Tips:  Giving a few survival tips with each assignment can help students to focus on the project at hand instead of the computer skills required to get there.  Remind students that using cut and paste techniques will save them time as they work through the notebooks.  Also, review how the kernel behaves, and how to evaluate a notebook, and disconnect a kernel if problems arise. 

Pairs vs. Individuals:  Mathematica assignments and projects should be completed in general by 1 - 2 people per assignment.  Working in pairs gives opportunities for peer learning and reduces the workload for graders.

E-Mail Tips

Mailing Notebooks:  When e-mailing notebooks, have students use an attachment and mail the whole notebook.  If space is an issue, students can copy only their answers into another notebook, and send the reduced notebook to you or the grader.  

Subject Heading:  It is helpful to have students provide a meaningful subject heading in their message.  The following format may be useful: 		

	Subject:  "student name(s)," followed by notebook title or homework assignment number.  

If a grader grades the notebooks and forwards them on to you, although the graders name will appear in the "From" section, the student name will still appear in the subject portion when forwarded.

Notebooks Names:  It may also be useful to have students name their notebook with their initials preceding the regular title.  Then, if the notebooks are pulled out of e-mail, and into another directory, each student's notebook can be easily identified without opening each one.

Grading

Logistics

Making Keys:  When keys are created, make the answers in the keys a different color (red) so that graders know which pieces should be supplied by the student.  It may also be helpful to request that students give their answers in a certain color so that they may be easily found.  

Before giving a key to a grader, first evaluate the notebook (so all graphics are rendered) and if desired, print out the "Key" notebook.   Handwrite point values for each section, or type point values directly in the notebook with a different color and or font size or cell type.

Grading Electronically:  Grading the notebooks electronically allows you to play with students' code and edit it if necessary.  If you edit code, make your additions clear by using a different color or bold font.  (*Comment out any unnecessary code*).

To speed up the grading process, keep another notebook to the side with commonly used comments to copy and paste into student notebooks.  Grade in a different font using subtitle mode so that comments are easily found.  Send this edited version back to the students and hold students accountable for reading the comments.  For larger projects, you may ask students to redo pieces of the project and re-submit it to you.  

Assigning Grade Weight to Notebooks:  The weight given to exercise notebooks versus polished paper notebooks will be different.  Simple exercise notebooks may be given a small weight in the grading system, while polished papers have a higher weight.  To motivate students to learn the concepts in an exercise notebook that has little weight, promise students that the concepts and ideas will show up on a major test.  In-class Mathematica exams can also quickly show which students have been faithfully completing assignment notebooks.

Cheating

Use Mathematica Commands:  It is usually obvious when students copy Mathematica work, but several Mathematica commands can also be used to help to personalize the notebooks.  The Date command can be evaluated at the top of each notebook to show when students complete the notebook.  You can also have students include the machine and session specific commands with each assignment to help to curtail cheating ($MachineType,$SessionID). Reviewing document specific information available on your system, such as "owner" and "date completed" will also be useful (and a little more stealthy!).

Alter Notebooks slightly:  Changing exercises by slightly altering functions or constants (either when a new semester begins, or for different student groups) can also reveal a duplicate notebook.

Your Tips

Do you have any tips that have helped you to simplify the assignment process?  Please write them below to share with others.