Contents Page


Tell us what you want to know about ExamView and we will strive to answer your questions in upcoming issues. Email your questions to:

Newsletter Archive:
January 2002
April 2002

September 2002

January 2003

April 2003
September 2003
January 2004
April 2004


To purchase ExamView for your department or school, visit


by Tim Fahlberg,,

Using ExamView to Create Questions with Dynamic Graphs
ExamView’s algorithmic capabilities provide an easy way to create an almost unlimited supply of math questions. In this article, you will discover how easy it is to enhance those questions or build new ones that include dynamic graphs.

The first two examples are short answer questions that feature dynamic Cartesian (x-y) graphs while the third is a bimodal question with a dynamic box-and-whisker plot.

Getting Started
If you are not familiar with the ExamView algorithmic capabilities, I encourage you to review the ExamView My Way article in the April 2003 newsletter. This article provides a primer for understanding dynamic questions. If you want to learn how to create dynamic math questions, check out the Dynamic Corner article in the September 2003 newsletter. (See the newsletter archives to access all of the previous articles.)

Before you begin, download the following question bank (Dynamic Corner-Part IV.bnk) Windows or (Dynamic Corner-Part IV) Macintosh. The bank includes the sample questions. (Remember that you will need ExamView 4.0 or a more recent version.)

To help you better understand how to create dynamic questions, use the Question Bank Editor to open the question bank and review the algorithms that make up each question.

Example 1: Parallel Line Segments
In this first example, a Cartesian graph shows a line segment. The problem asks the student to sketch a parallel segment on the grid and prove that the segments are parallel. Each time you recalculate the question, the values and the graphs are automatically updated.

Parallel Line Segments (Question #1)

Parallel Line Segments… Variables

Parallel Line Segments… Algorithm Definitions

A Closer Look at the Algorithm Definitions
Below is an explanation of the algorithms used in this question. The names you use for the algorithm definitions (or variables) are not critical as long as you do not use function names. As for the functions (e.g., list, range, choose, etc.), you can get a detailed description by reviewing the online help information in the program.

To view the algorithms, open the question bank and choose to edit the question. Then choose the Algorithm Definitions option from the Edit menu. Double-click any variable to view the entire description.

  • x1, y1, x2, y2 are variables used to generate random points. These points are used in the dynamic graph. The definition for y1 is ((-1)^rand(2))*range(3,5). The first part of the variable definition (-1)^rand(2) generates either a +1 or a -1 so that when it is multiplied by range(3,5) it yields integers in this set {-5, -4, -3, 3, 4, 5}.
  • slope1 is a variable that uses the string function sfracs to generate a string representing the slope as a fraction in lowest terms. It is defined as the difference of y over the difference of x. Note: String functions cannot be used in other calculations. This kind of function is used for display purposes only.
  • shift is a variable used to determine the distance that the parallel segment will be drawn away from the original segment in the sample answer.
  • x3, y3, x4, y4 are variables used to generate the dynamic graph in the answer. The points (x3,y3) and (x4,y4) are endpoints of the new segment. The variables x3 and x4 are defined to have the same values as x1 and x2 respectively. A shift value (shift) is added to both y1 and y2 to create points (x3,y3) and (x4,y4) that are the same distance from (x1,y1) and (x2,y2). This creates a parallel line segment either above AB (if shift> 0) or below AB (if shift < 0).
  • conditions – abs(y3<8) and abs(y4<8) assure that the y values remain between -8 and 8 so that the segments will show on the graph.

Making a Dynamic Graph
In this question, the Segment function is used as part of a Cartesian graph. To view the Edit Segment window shown below, double-click the graph and then double-click the segment function definition.

In the figure shown below, you can see that the variables x1, y1, x2, and y2 are used to define the endpoints for the segment. ExamView uses the current value of the variables to draw the segment. (Variables defined as strings will not graph properly.)

If you want to create your own graph, choose Graph from the Insert menu and select a Cartesian, Polar, or Number Line graph. Add new functions to create the graph. You can also change attributes such as point style, label style, and label position for the segment.

Check out the solution to this problem. Double-click the graph to see that there are two segments defined. Variables are used to draw the parallel segment (MN) and to show the proof.

Example 2: Dynamic Lines
In this question, you can see a plot that models how much money two students save over time. The question includes variables that change the students’ names, how much they have already saved, and their weekly savings rate.

Dynamic Lines (Question #2)

Dynamic Lines… Algorithm Definitions

A Closer Look at the Algorithm Definitions

  • Name1, Name2, WhichName1, WhichName2 are variables used to generate two random student names from a list of names. These variables simply add some variety to the problem.
  • Week1, Week2 are variables used to generate weekly savings rate for the two students. The savings rate for the first student will be an amount from $25 to $40 (at $5 increments). The savings rate for the second student will be $5 to $20 more per week than the first student’s rate.
  • Diff is a variable used to represent the difference between the weekly savings.
  • Num1, Num2 are variables used to represent the initial amount of money each student has saved. The amount for the second student ranges from $150 to $300. The savings amount for the first student is based on the amount saved by the second student plus an additional amount (difference between the weekly savings rate multiplied by a random number from 5 to 10).
  • Correct is a variable used to calculate when the two students will have saved the same amount of money towards their summer trip.
  • Correct2 is a variable that identifies how much money both students will have saved when they reach the same total savings.
  • condition guarantees that the answer (total amount both have saved when their savings are equal) is either an exact dollar amount or a dollar amount + $0.50. It prevents “ugly” answers like $1.3333….

These variables are used as part of the problem and to draw the lines representing the savings. Double-click the graph to see the functions included on the graph. Double-click each function to see how the variables are used. There are two f(x) functions to plot the savings over time. Another function plots a point at which the savings are equal. Finally, two functions display the student names on the graph.

Example 3: Box-and-Whisker Plot (Question #3)
The last question demonstrates how to create a different type of dynamic graph. In this example, variables are used to create a dynamic box-and-whisker plot that displays the number of students absent from school over several months.

Check out the algorithms and how they are used to make this graph dynamic.

Hopefully this article has provided some insight into how you can use ExamView to create questions that include dynamic graphs. With just a little extra effort you can enhance your math problems.

Reminder: If you create some cool math problems, it’s easy to share those questions with other educators from around the world. Click here to access the Question Bank Exchange on the FSCreations Support Forum. To date, educators from the United States to Macedonia to Australia have contributed questions.

Tim Fahlberg (

Copyright 2004 FSCreations, Inc.
All Rights Reserved.