Items tagged with testing testing Tagged Items Feed

We’re trying out something new with our webinars and are hosting our first ever live streaming webinar. Broadcast in real time, and featuring Jonny Zivku, our Maple T.A. Product Manager, this will be your chance to see the face behind the voice, as well as learn more about how academic institutions around the world are using Maple T.A. We hope you can join us.

Here are the full details:

Transforming Testing and Assessment with Maple T.A.

In this webinar, you will learn how Maplesoft's testing and assessment system, Maple T.A., is being used to improve learning, save money, reduce drop-out rates, and increase student satisfaction at academic institutions around the world.

The following Maple T.A. case studies will be presented:

  • The University of Waterloo saved $100,000/year on their grading budget
  • At the Amsterdam University of Applied Science, student pass rates went up approximately 20% within one year
  • The University of Canterbury continued to offer their full academic program after an earthquake damaged classrooms
  • At the University of Guelph, drop-out rates were reduced by more than 10%
  • ...And more!

All attendees of this webinar will be sent a complimentary copy of the Maplesoft magazine Transforming Testing and Assessment.

To join us for the live streaming webinar, please click here to register.

A new release of the Maple T.A. MAA Placement Test Suite  is now available.

The latest release takes advantage of the streamlined interface, accessibility from tablets, and other new features of Maple T.A. 10. It also includes new testing content to determine if your students understand the concepts needed for success in their algebra and precalculus courses; new parallel versions of the calculus concepts readiness test; and improved searching and browsing of testing content.

To learn more, visit What’s New in Maple T.A. MAA Placement Test Suite 10.



I have a fairly old laptop, a Toshiba S10 Tecra, windows 7 64 bit and 4 Gb RAM.  It has an NVidia Quadro NVS 150m video card inside and according to NVidia CUDA capable of a compute level to 1.1 which is ok for float[4] but not float[8].  Inititiating the computecabability in maple does indeed bring a score level of 1.1.

Doing any LinearAlgebra matrix calculations with CUDA enabled is maybe 5x's slower than with it disabled.  I run into BLAS errors and screen blankouts at matrix values of 2000.  The video driver is the latest from Toshiba (2010) but not NVidia (2014) I suppose there would be an increased performace with newer drivers but if I'm going to run into the same issue of slower calculations with CUDA enabled there's no point in even testing the newer drivers on an otherwise fine running machine. 

Since it is a low end video card is CUDA even worthwhile, will I even notice a speed up with updated drivers?

I think we all know the routine. We walk to a large classroom, we sit down for a test, we receive a large stack of questions stapled together and then we fill in tiny bubbles on a separate sheet that is automatically graded by a scanning machine. We’ve all been there. I was thinking recently about how far the humble multiple choice question has come over the last few years with the advent of systems like Maple T.A., and so I did a little research.

Multiple choice questions were first widely-distributed during World War I to test the intelligence of recruits in the United States of America. The army desired a more efficient way of testing as using written and oral evaluations was very time consuming. Dr. Robert Yerkes, the psychologist who convinced the army to try a multiple choice test, wanted to convince people that psychiatry could be a scientific study and not just philosophical. A few years later, SATs began including multiple choice questions. Since then, educational institutions have adopted multiple choice questions as a permanent tool for many different types of assessments.

One of the biggest advances in the use of multiple choice questions was the birth of automatic grading through the use of machine-readable papers. These grew in popularity during the mid-70s as teachers and instructors saved time by not having to grade answer sheets manually.

Until recently, there has not been much advancement in this area.  It’s true, Maple T.A. can do so much more than just multiple choice questions, so this style of question is less important in large-scale testing than it used to be. But multiple choice questions still have their place in an automated testing system, where uses include leveraging older content, easily detecting patterns of misunderstanding, requiring students to choose from different images, and minimizing student interaction with the system. Luckily, Maple T.A. takes even the humble multiple choice questions to the next level. Now you might be thinking, how is that even possible given the basic structure of multiple choice questions? What could possibly be done to enhance them?

Well, for starters, in Maple T.A., you can permute the answers. This means you have the option to change the order of the choices for each student. This is also possible with machine-readable papers, but this does require multiple solution sets for a teacher or instructor to keep track of. With Maple T.A., everything is done for you. For example, if you have a multiple choice question in Maple T.A. with 5 answer choices, there are 120 different possible answer orders that students can be presented with. You don’t have to keep track of extra solution sets or note which test version each student is receiving. Maple T.A. takes care of it all.

Maple T.A. allows you to create Algorithmic questions - multiple choice questions in which you can vary different values in your question. And you aren’t limited to selecting values from a specific range, either. For example, you can select a random integer from a pre-defined list, a random number that satisfies a mathematical condition, such as ‘divisible by 3’ or ‘prime’, or even a random polynomial or matrix with specific characteristics. It allows an instructor to create a single question template, but have tens, hundreds, or even thousands of possible question outcomes based on the randomly selected values for the algorithmic variables. The algorithmic variables not only apply to the question being asked by a student, but also the choices they see in a multiple choice question.

You can even create a question where every student gets the same fixed list of choices, but the question varies to ensure that the correct response changes.  That’s going to confuse some students who are doing a little more “collaboration” than is appropriate!

Some of the other advantages of using Maple T.A. for multiple choice are also common to all Maple T.A. question types. For example, you can provide instant, customized feedback to your students. If a student gets a multiple choice question correct, you can provide feedback showing the solution (who is to say the student didn’t guess and get this question correct?) If a student gets a multiple choice question incorrect, you can provide targeted feedback that depends on which response they chose. This allows you to customize exactly what a student sees in regards to feedback without having to write it out by hand each time.

And of course, like in other Maple T.A. questions, multiple choice questions can include mathematical expressions, plots, images, audio clips, videos, and more – in the questions and in the responses.      

Finally, let’s not forget, in an online testing environment, there is no panic when you realized you accidently skipped line 2 while filling out your card, no risk of paper cuts, and no worrying about what kind of pencil to use!


We regularly host live webinars on a variety of topics for our customers, and we wanted to make this information available to the MaplePrimes community as well. We will be posting information about new webinars we think will be of interest approximately once per month.

Partnering with the MAA to Revolutionize Placement Testing

In this webinar, we will demonstrate how the Maple T.A. MAA Placement Test Suite can be used to ease the problem of placement testing and how it can benefit your campus in general.

Other topics include:

• How placement testing contributes to student success

• How the MAA placement tests are created, and rigorously validated

• How valid and reliable the MAA placement tests are for entry level mathematics courses

• How you can use the Maple T.A. Placement Test Suite for easy administration, flexible delivery, and fast results

To join us for the live presentation, please click here to register.

An isometry of the Euclidean plane is a distance-preserving transformation of the plane.  There are four types: translations,  rotations,  reflections,  and  glide reflections. See

Procedure  AreIsometric  checks two plane sets  Set1  and  Set2  and  if there is an isometry of the plane mapping the first set to the second one, then the procedure returns true and false otherwise. Global variable  T  saves the type of isometry and all its parameters. For example, it returns  the rotation center and rotation angle, etc.

Each of the sets  Set1  and  Set2   is the set (or list) consisting of the following objects in any combinations:

1) The points that are defined as a list of coordinates  [х, y] .

2) Segments, which are defined as a set (or list)  of two points  {[x1, y1], [x2, y2]}  or  [[x1, y1], [x2, y2]]  .

3) Curves, which should  be defined as a list of points   [[x1, y1], [x2, y2], ..., [xn, yn]].

Of course, if  n = 2, then the curve is identical to the segment.


Code of the procedure:

AreIsometric:=proc(Set1::{set,list}, Set2::{set,list}) 

local n1, n2, n3, n4,s1, S, s, l1, l2, S11, f, x0, y0, phi, Sol, x, y, M1, M2, A1, A2, A3, A4, B1, B2, B3, B4, line1, line2, line3, line4, u, v, Sign, g, M, Line1, Line2, Line3, A, B, C, h, AB, CD, Eq, Eq1, T1, T2, i, S1, S2, T11; 

global T; 

uses combinat;     


S1:={};  S2:={};  T1:={}; T2:={}; 


for i in Set1 do 

if i[1]::realcons  then S1:={op(S1),i} else 

S1:={op(i), op(S1)};  T1:={op(T1), seq({i[k],i[k+1]}, k=1..nops(i)-1)} fi;  



for i in Set2 do 

if i[1]::realcons  then S2:={op(S2),i} else 

S2:={op(i), op(S2)};  T2:={op(T2), seq({i[k],i[k+1]}, k=1..nops(i)-1)} fi; 



n1:=nops(S1);  n2:=nops(S2);  n3:=nops(T1); n4:=nops(T2); 

if is(S1=S2) and is(T1=T2) then T:=identity;  return true fi; 

if n1<>n2 or n3<>n4 then return false fi; 

if n1=1 then T:=[translation, <S2[1,1]-S1[1,1], S2[1,2]-S1[1,2]>];  return true fi;


f:=(x,y,phi)->[(x-x0)*cos(phi)-(y-y0)*sin(phi)+x0, (x-x0)*sin(phi)+(y-y0)*cos(phi)+y0];  g:=(x,y)->[(B^2*x-A^2*x-2*A*B*y-2*A*C)/(A^2+B^2), (A^2*y-B^2*y-2*A*B*x-2*B*C)/(A^2+B^2)]; 

_Envsignum0 := 1;


s1:=[S1[1], S1[2]];  S:=select(s->is((s1[2,1]-s1[1,1])^2+(s1[2,2]-s1[1,2])^2=(s[2,1]-s[1,1])^2+(s[2,2]-s[1,2])^2),permute(S2, 2));    

for s in S do   


# Checking for translation    

l1:=s[1]-s1[1]; l2:=s[2]-s1[2]; 

if is(l1=l2) then S11:=map(x->x+l1, S1); 

if n3<>0 then T11:={seq(map(x->x+l1, T1[i]), i=1..nops(T1))}; fi; 

if n3=0 then  if is(S11=S2) then T:=[translation, convert(l1, Vector)]; return true fi;  else 

if is(S11=S2) and is(T11=T2) then T:=[translation, convert(l1, Vector)]; return true fi; fi; 



# Checking for rotation   

x0:='x0'; y0:='y0'; phi:='phi'; u:='u'; v:='v'; Sign:='Sign';    

if  is(s1[1]-s[1]<>s1[2]-s[2]) then  

M1:=[(s1[1,1]+s[1,1])/2, (s1[1,2]+s[1,2])/2]; M2:=[(s1[2,1]+s[2,1])/2, (s1[2,2]+s[2,2])/2]; A1:=s1[1,1]-s[1,1]; B1:=s1[1,2]-s[1,2]; A2:=s1[2,1]-s[2,1]; B2:=s1[2,2]-s[2,2];    line1:=A1*(x-M1[1])+B1*(y-M1[2])=0; line2:=A2*(x-M2[1])+B2*(y-M2[2])=0;  

if is(A1*B2-A2*B1<>0) then Sol:=solve({line1, line2}); x0:=simplify(rhs(Sol[1]));   y0:=simplify(rhs(Sol[2])); u:=[s1[1,1]-x0,s1[1,2]-y0]; v:=[s[1,1]-x0,s[1,2]-y0];    else   

if is(s[2]-s1[1]=s[1]-s1[2])  then   x0:=(s1[1,1]+s[1,1])/2;  y0:=(s1[1,2]+s[1,2])/2; 

if is([x0,y0]<>s1[1]) then  u:=[s1[1,1]-x0,s1[1,2]-y0]; v:=[s[1,1]-x0,s[1,2]-y0]; else 

u:=[s1[2,1]-x0,s1[2,2]-y0]; v:=[s[2,1]-x0,s[2,2]-y0]; fi;

else  A3:=s1[2,1]-s1[1,1];  B3:=s1[2,2]-s1[1,2]; A4:=s[2,1]-s[1,1];  B4:=s[2,2]-s[1,2];  line3:=B3*(x-s1[1,1])-A3*(y-s1[1,2])=0;  line4:=B4*(x-s[1,1])-A4*(y-s[1,2])=0;Sol:=solve({line3, line4}); x0:=simplify(rhs(Sol[1])); y0:=simplify(rhs(Sol[2]));   

if is(s1[1]=s[1]) then    u:=s1[2]-[x0,y0]; v:=s[2]-[x0,y0]; else   

u:=s1[1]-[x0,y0]; v:=s[1]-[x0,y0];  fi;  fi;  fi;   

Sign:=signum(u[1]*v[2]-u[2]*v[1]);   phi:=Sign*arccos(expand(rationalize(simplify((u[1]*v[1]+u[2]*v[2])/sqrt(u[1]^2+u[2]^2)/sqrt(v[1]^2+v[2]^2)))));      S11:=expand(rationalize(simplify(map(x->f(op(x), phi), S1))));   

if n3<>0 then T11:={seq(expand(rationalize(simplify(map(x->f(op(x), phi), T1[i])))), i=1..nops(T1))}; fi; 

if n3=0 then  if is(S11=expand(rationalize(simplify(S2))))  then T:=[rotation, [x0,y0], phi]; return true fi;  else 

if is(S11=expand(rationalize(simplify(S2)))) and  is(T11=expand(rationalize(simplify(T2)))) then  

T:=[rotation, [x0,y0], phi]; return true fi;  fi; 





# Checking for reflection or glide reflection   

for s in S do    

AB:=s1[2]-s1[1]; CD:=s[2]-s[1];  

if is(AB[1]*CD[2]-AB[2]*CD[1]=0) then  M:=(s1[2]+s[1])/2;

if  is(AB[1]*CD[1]+ AB[2]*CD[2]>0) then  A:=AB[2]; B:=-AB[1];    Line1:=A*(x-M[1])+B*(y-M[2])=0;  else 

A:=AB[1]; B:=AB[2];  Line2:=A*(x-M[1])+B*(y-M[2])=0; fi;  

else     u:=[AB[1]+CD[1], AB[2]+CD[2]];  A:=u[2]; B:=-u[1];     M:=[(s1[1,1]+s[1,1])/2, (s1[1,2]+s[1,2])/2]; Line3:=A*(x-M[1])+B*(y-M[2])=0;   fi;    C:=-A*M[1]-B*M[2];  h:= simplify(expand(rationalize(s[1]-g(op(s1[1])))));    S11:=expand(rationalize(simplify(map(x->g(op(x))+h, S1))));  

if n3<>0 then T11:={seq(expand(rationalize(simplify(map(x->g(op(x))+h, T1[i])))), i=1..nops(T1))}; fi;    

if n3=0 then   if is(S11=expand(rationalize(S2))) then 

Eq:=A*x+B*y+C=0; Eq1:=`if`(is(coeff(lhs(Eq), y)<>0), y=solve(Eq, y),  x=solve(Eq, x)); 

if h=[0,0] then  T:=[reflection, Eq1] else T:=[glide_reflection,Eq1,convert(h, Vector)] fi; return true fi; else  

if is(S11=expand(rationalize(S2))) and is(T11=expand(rationalize(T2))) then 

Eq:=A*x+B*y+C=0; Eq1:=`if`(is(coeff(lhs(Eq), y)<>0), y=solve(Eq, y),  x=solve(Eq, x)); 

if h=[0,0] then T:=[reflection, Eq1] else

T:=[glide_reflection,Eq1,convert(h, Vector)] fi; return true fi;  fi;   



T:='T';   false;  

end proc:


Three simple examples:

AreIsometric({[4, 0], [7, 4], [14, 0]}, {[4, 14], [9, 14], [10, 6]});  T;


AreIsometric({[2, 0], [2, 2], [5, 0]}, {[3, 3], [3, 6], [5, 3]});  T;


S1 := {[[5, 5], [5, 20], [10, 15], [15, 20], [15, 5]]}: 
S2 := {[[21, 11], [30, 23], [31, 16], [38, 17], [29, 5]]}: 
S3 := {[[50, 23], [41, 11], [51, 16], [49, 5], [58, 17]]}: 
AreIsometric(S1, S2); T; AreIsometric(S1, S3);

plots[display](plottools[curve](op(S1), thickness = 2, color = green), plottools[curve](op(S2), thickness = 2, color = green), plottools[curve](op(S3), thickness = 2, color = red), scaling = constrained, view = [-1 .. 60, -1 .. 25]);  # Green sets are isometric,  green and red sets aren't


Example with animation:

S1:={[0,0],[-1,2],[2,4],[4,2]}:  S2:={[8,3],[6,6],[8,8],[10,4]}:

AreIsometric(S1, S2);  T;  

with(plots): with(plottools): 

#  For clarity, instead of points polygons depicted with vertices at these points 


A:=seq(rotate(polygon([[0,0],[-1,2],[2,4],[4,2]], color=blue), (k*Pi)/(2*N), [3,7]), k=0..N):  B:=polygon([[8,3],[6,6],[8,8],[10,4]], color=green):  E:=line([3,7], [6,6], color=black, linestyle=2): 

C:=seq(rotate(line([3,7], [2,4], color=black, linestyle=2), (k*Pi)/(2*N), [3,7]), k=0..N):  L:=curve([[3,7],[2,4], [-1,2], [0,0],[4,2], [2,4]], color=black, linestyle=2):  T:=textplot([3, 7.2, "Center of rotation"]): 

Frames:=seq(display(A[k], B, E,T,L, C[k]), k=1..N+1):   

display(seq(Frames[k],k=1..N+1), insequence=true, scaling=constrained);



Finding unique solutions to the problem of Queens (m chess queens on an n×n chessboard not attacking one another). Used the procedures  Queens  and  QueenPic  . See

Queens(8, 8);  M := [ListTools[Categorize](AreIsometric, S)]:


seq(op(M[k])[1], k = 1 .. %);   # 12 unique solutions from total 92 solutions

QueensPic([%], 4);  #  Visualization of obtained solutions



Finding unique solutions to the problem "Polygons of matches"  (all polygons with specified perimeter and area). See

N := 12: S := 6: Polygons(N, S);

M := [ListTools[Categorize](AreIsometric, T)]:

n := nops(M);

seq([op(M[k][1])], k = 1 .. n);  #  7 unique solutions from total 35 solutions with perimeter 12 and area 6

Visual([%], 4);  #  Visualization of obtained solutions


Maple IDE team is launching a Tester Program that will allow us to incorporate more input in the product design and development process.

We are looking for regular testers for Maple IDE. Your testing complements our in-team testing of new software versions. By enlisting a diverse group of beta testers, we can see how the software performs when it's being used for normal, ordinary tasks. This lets us provide a more стабле Maple IDE with better user experience. As a member...

Russian content for Maple T.A.

Tests are learning, not just inspectors.


I'm currently proctoring for my univeristy math dept.  They ask me to put policy on testing website.  Please help me how to do that? thanks,

i have two quotes :


You confuse science with engineering, publication with patents. Intellectual property law does not recognize ownership of scientific truth. Your theory is true, or it isn't. You don't 'own' it. An apple does not need Isaac Newton's permission to fall to the ground. The primary protections for inventions are trade secret and patents. The primary protection for other intellectual property is copyright, and wise choices in how you use it and publish it.

Yesterday I attended a lecture by Fran Allen, as part of the "David R. Cheriton School of Computer Science, University of Waterloo, Distinguished Lecture Series".  Allen worked a IBM Research from 1957 to 2002, she was awarded the ACM's Turing Award in 2006.  Here is her biography from Wikipedia (let's hope it is accurate). 

Aside from some technical issues (why can't a room full of computer science professors and students successfully attach a laptop to a projector?) the talk was quite interesting.  There were two main sections, the first discussed Allen's career at IBM and the second was about the future of computer science.  Allen's work at IBM focused mostly on compilers and high performance computing.  She made a few interesting comments about the importance of high performance computing.  For example, one of the systems she worked on was designed and used to model the detonations of nuclear weapons.  The development of this system ended the need for the United Stated to perform actual test detonations.

Maplesoft has just released a collection of new engineering products, including MapleSim 3, the latest version of our physical modeling tool. It includes a new hydraulics library, more electrical machines and improved solvers which expand the scope of models it can handle. It also comes with a new project manager, more diagnostic tools, a 3-D visualization preview feature, and other improvements to the interface which reduce the development time. See What’s New in MapleSim 3 for details.

Good Afternoon,

Would anybody be kind to help me with the attached file. I have created procedures to calculate the Area, center of gravity , section modulus and moment of inertia of a cross section.

I'm testing the worksheet with an existing example from a text book, and the results are as follows

Area = 75*in2

Zxxtop = 119.219*in3

Zxxbott = 133.245*in3

Ixx = 629.212*in4

Zyyleft = 88.583*in3

Zyyright = 88.583*in3

Iyy = 442.917*in4

xbar = 4.722*in

ybar = 5.0*in

Is anyone testing in high volume environments with MapleTA. After about a year of continual problems with 3.0 (pretty awful piece of software) and now more with 4.0, I have a hard time believing folks are using the software in high stakes, high volume environments such as placement testing and I'm looking for feedback.

To evaluate some real integrals I use the 'assume' instruction to make sure all the quantities are real.  But Maple 12 can't seem to deduce the obvious inequalities from this - testing for them gives a FAIL result.  Here is a minimal example:

    assume(X,real, Y,real, w>0);

    is( (X+w)^2 + Y^2 >= 0);

1 2 3 4 Page 1 of 4