Blog moved to blog.autarkaw.com

The blog here at autarkaw.org is now at https://blog.autarkaw.com. All the old posts are available too.

A javascript code for Romberg integration

As I am writing backend JavaScript for simulations in teaching Numerical Methods, I have also started developing some functions for some numerical techniques. Here is a function for Romberg integration.

function auto_integrator_trap_romb_hnm(func,a,b,nmax,tol_ae,tol_rae)
// INPUTS
// func=integrand
// a= lower limit of integration
// b= upper limit of integration
// nmax = number of partitions, n=2^nmax
// tol_ae= maximum absolute approximate error acceptable (should be >=0)
// tol_rae=maximum absolute relative approximate error acceptable (should be >=0)
// OUTPUTS
// integ_value= estimated value of integral

{
//Checking for input errors
	if (typeof a !== 'number') 
		{
		  throw new TypeError('<a> must be a number');
		}
    if (typeof b !== 'number') 
		{
		  throw new TypeError('<b> must be a number');
		}
    if ((!Number.isInteger(nmax)) || (nmax<1))
		{
		  throw new TypeError('<nmax> must be an integer greater than or equal to one.');
		}
	if ((typeof tol_ae !== 'number') || (tol_ae<0)) 
		{
		  throw new TypeError('<tole_ae> must be a number greater than or equal to zero');
		}
	if ((typeof tol_rae !== 'number') || (tol_rae<=0)) 
		{
		  throw new TypeError('<tole_ae> must be a number greater than or equal to zero');
		}
    
	var h=b-a
	// initialize matrix where the values of integral are stored
	
	var Romb = []; // rows
	for (var i = 0; i < nmax+1; i++) 
	{
		Romb.push([]);
		for (var j = 0; j < nmax+1; j++) 
		{
			Romb[i].push(math.bignumber(0)); 
		}
	}
	
	//calculating the value with 1-segment trapezoidal rule
	Romb[0][0]=0.5*h*(func(a)+func(b))
	var integ_val=Romb[0][0]
	
	for (var i=1; i<=nmax; i++)
	// updating the value with double the number of segments
	// by only using the values where they need to be calculated
	// See https://autarkaw.org/2009/02/28/an-efficient-formula-for-an-automatic-integrator-based-on-trapezoidal-rule/
	{
		h=0.5*h
		var integ=0
		for (var j=1; j<=2**i-1; j+=2)
		{
			var integ=integ+func(a+j*h)
		}
	
		Romb[i][0]=0.5*Romb[i-1][0]+integ*h
		// Using Romberg method to calculate next extrapolatable value
		// See https://young.physics.ucsc.edu/115/romberg.pdf
		for (k=1; k<=i; k++)
		{   
			var addterm=Romb[i][k-1]-Romb[i-1][k-1]
			addterm=addterm/(4**k-1.0)
			Romb[i][k]=Romb[i][k-1]+addterm

			//Calculating absolute approximate error
			var Ea=math.abs(Romb[i][k]-Romb[i][k-1])
			
			//Calculating absolute relative approximate error
			var epsa=math.abs(Ea/Romb[i][k])*100.0
			
			//Assigning most recent value to the return variable
			integ_val=Romb[i][k]
			
			// returning the value if either tolerance is met
			if ((epsa<tol_rae) || (Ea<tol_ae))
			{
				return(integ_val)
			}
		}
	}
	// returning the last calculated value of integral whether tolerance is met or not
	return(integ_val)
}

Here we are testing it for a typical integrand of f(x)=1/x. Take it for a spin and see how well it works. Make it even better.

<!DOCTYPE html>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<html>
<head>
	<title>A test for the automatic integrator based on Romberg integration and trapezoidal rule</title>
	https://cdnjs.cloudflare.com/ajax/libs/mathjs/5.1.2/math.min.js
	http://trap_romberg_2021.js
</head>
<body>
<script>
// This program is written to test the romberg integration scheme that is used
// as an automatic integrator
// INPUTS
// a= lower limit of integration
// b= upper limit of integraton
// nmax= number of partitions, segment is then 2^nmax 
// tol_ae= tolerance on absolute approximate error 
// tol_rae=tolerance on percentage absolute relative approximate error 
var a=0.001
var b=10
var nmax=20
var tol_ea=0.0
var tol_rae=0.0000000005

var abc=auto_integrator_trap_romb_hnm(func,a,b,nmax,tol_ea,tol_rae)
console.log("romberg "+abc)

var exact=math.log(b)-math.log(a)
console.log("exact "+exact)
function func(x)
{
   //val=math.exp(-x)
   //var pi=4*math.atan(1.0)
   //var val=2/math.sqrt(pi)*math.exp(-x*x)
   var val=1/x
   return(val)
}
</script>
</body>
</html>

____________________________

This post is brought to you by

Removing YAML from an RMD file through an R script

So you want to write a book from many RMD files using bookdown.  Here is an R script that strips the YAML lines of an Rmd file because bookdown does not accept files with its own YAML. A new file is created that has no YAML.  The program is written just for one Rmd file, and I will be writing an extension of it to do this for a whole directory including subdirectories.  I will soon write a script that will move the YAML absent RMD files and associated sub-directories to a new directory of its own.

# A program to remove YAML from an RMD file. 
# It can be modified to do this for all
# files in a directory and/or its subdirectories 
# Stay tuned for the update.

#Set the working directory
setwd("C:/Users/yoda/Rmd")

# filename of the rmd file whose YAML you want to take out
fileName <- "Chapter01.03RoundoffErrors/0103RoundOffErrorsYaml.rmd"

# Open the file to read
Input_File <- file(fileName,open="r")
linn <-readLines(Input_File)

# icapture is a vector which will check the two lines 
# that have --- in them.
icapture <- vector(,10)

# Just printing the lines in the rmd file, not needed.
#for (i in 1:length(linn)){
# print(linn[i])
#}

#The name of the file which will store YAML free RMD file.
YAML_Remove_File <- file("Chapter01.03RoundoffErrors/0103RoundOffErrorsYamlRemove.rmd",open="w")

j <- 0
#Capturing the two line numbers where --- exists
for (i in 1:length(linn)){
if(strtrim(linn[i],3) == "---"){
j <- j+1
icapture[j] <- i
}

# Write to the output file only if it has already captured two --- 
if ((j==2) & (i!=icapture[2])){
writeLines(linn[i],con2)
}
}

#close the input and output files
close(Input_File)
close(YAML_Remove_File)

____________________________

This post is brought to you by

Useful hints for a newbie on Rmarkdown

An R Markdown newbie walks on eggshells so as to not look naïve.  But the community is so nice to them, and since the help is all in the open, it reaches many more.  So here are a few items I learned beyond the usual R Markdown and the ubiquitous example about plotting something about cars.

Not Autonumbering

Don’t want to autonumber. If you write (1) First, it will automatically start numbering it. Convenient, but I do not like it sometimes. So how does one stop items from autonumbering. Just put a period sign after (1), that is, (1).  Here is an example.  This will keep the numbering the same as what is inputted.

(1).first
(2).second
(2).second
(3).numbering went away
Not wanting to center a block equation

Do you not want a block equation (an equation on its own separate line as opposed to being part of the text which is called an inline equation) to not be in the center, but wanted it tabbed instead.  It is easy to center equations by writing them within two double dollars symbols, that is, $$   $$.  But I do not like centering.  I like my block equations tabbed.

The equation
a_{11} x_1+a_{12} x_2+\cdots+a_{1n}x_n=b_1
gets centered by entering as

$$a_{11} x_1+a_{12} x_2+\cdots+a_{1n}x_n=b_1$$

The following, however, put tabs in the equation. Each &emsp puts 4 spaces.  Note also the two dollar symbols, that is, $    $, bounding the equation

&emsp;&emsp;$a_{11} x_1+a_{12} x_2+\cdots+a_{1n}x_n=b_1$
Defining often used equations

If you are using certain equation parts, again and again, you can define them.  See  here we are defining \overline{X} and \sum_{i=1}^{n}

```{=tex}
\def\Xbar{\overline{X}}
\def\sumn{\sum_{i=1}^{n}}
```
Aligning equations to a character

Many times, you may have equations that are aligned by a character, say an equal to sign.  But if the equations get centered, the equal to sign may not get centered.  This is simply done by adding a & before the aligned character in all lines.  For example, if you want to show the following,

you would enter it as the following.  Note where the & is.

$\begin{align} 
\ S &= \int_{3}^{9}{x^2 dx}\\ 
&= \left[\frac{x^3}{3}\right]_3^9\\ 
&= \frac{9^3}{3}-\frac{9^3}{3}\\ 
&= 234 \end{align}$

____________________________

References: An Example R Markdown http://statpower.net/Content/311/R%20Stuff/SampleMarkdown.html

This post is brought to you by

Converting a Word docx file to a draft R Markdown file

Many of have been using MS Word as a word processor for decades now.  What is then an R Markdown document?  An R Markdown document is written in markdown (fancy way of saying that it is all in plain text) and embedded in it can be chunks of R code.  Once written, you can render the file into many formats including HTML, MS Word and PDF.  So, why would someone like me choose to convert a MS Word file to a R Markdown file.  Isn’t MS Word enough to meet my needs?  I have two good reasons to convert my MS word files of my open-resource Numerical Methods course to R Markdown files.

  1. On conversion from the MS Equation editor 3.0 to the currently available MS equation editor for .docx files, the equations from my old .doc documents  were getting displayed in a compact inline form.  Using the display option of an equation would have supposedly helped, but some equations refused to get properly justified, tabbing was becoming a guessing game, and using a created Word style was not helping.  Sometimes, equations would not show with letters italicized, and italicizing a single equation would change the whole document to italics font.  Ctrl+Z would help in un-italicizing the document but that was not foolproof either as it would sometimes mess up the tabs.
  2. The second reason was that I was embedding PDF files in a frame in an online adaptive platform lesson and even with a 12-point size in the original document, the font of the PDF files would show up too small (see Figure 1).  Yes, one can use a bigger font size in the Word file but this may not be suitable for use in, say, a printed textbook.  Maintaining different versions with different font sizes is not a recommended practice in today’s world.  A user could alternatively use the magnification option of the PDF file menu, but that creates horizontal scrolls as well in the frame.  Also, a user could download the PDF file to be opened in an acrobat reader but that is an  inconvenience imposed on them.  One could also simply embed an .htm version of the word file but such file content was getting rendered all over the place as my documents included equations, both in inline and display modes, sketches made with Word, tables imported from excel, and plots obtained from a MATLAB output, etc.


Figure 1: Embedded PDF file shows up with a small font

So the answer was simply to take Rmarkdown for a spin.  Since our documents are not simply text, it is not a cut-and-paste job with some light editing.  We turned to pandoc for this.  What pandoc is can be summarised by their slogan – “If you need to convert files from one markup format into another, pandoc is your swiss-army knife”.  Pandoc is a free software and is released under the GPL.  The full manual for pandoc is also available.

Here are the steps for how to do the conversion on a Windows 10 machine.  One has to do the conversion though at the command prompt level as I did not see an online converter that does the conversion beyond text and styles, that is, they do not convert equations, images, etc.

      1. Download pandoc on your PC from https://pandoc.org/installing.html
      2. Install pandoc as an administrator.
      3. Check if Pandoc is installed.  Go to the search box in your taskbar and enter “cmd” without the quotes.  Run as administrator.  You will get the cmd prompt.  At the prompt enter “pandoc –version” without the quotes.
      4. Go to the command prompt by entering “cmd” without the quotes in the search box in your taskbar.
      5. Go to the directory where the .docx file is stored.  You can do this by use cd and cd.. commands.   See here for a short guide.
      6. Once in the directory, do the following.  Let’s suppose the name of the file is “Chapter01NumericalMethods.docx”.   Type the following at the command prompt.
          • pandoc --extract-media ./Chapter01NumericalMethodsMedia "Chapter01NumericalMethods.docx" -t markdown -o "Chapter01NumericalMethodsOut.md"
          • The above format extracts the media files as well and puts them in a media directory ./Chapter01NumericalMethodsMedia.  Some files may be of the .wmf format.  These can be opened in MS Paint and saved in an acceptable format such as .png.
          • I always use quotes for file names to avoid errors one gets with spaces in filenames, etc.
          • It is good practice to use a different name for the output markdown file as one may later be converting the markdown files to different formats including pdf, HTML, word, etc.  Note the output markdown file is with an .md suffix as pandoc does not have the output .rmd option.
      7. Rename the .md file as .rmd file
      8. Open the .rmd file in Rstudio to edit.

The above is a recipe for just one file.  I do gather if one has many .docx files, one could write a script to do this in a batch mode.

We will discuss some tricks to light edit the .rmd file in the next blog.  Stay tuned on the journey of this Rmarkdown newbie.  If you know a better way to do this, please let me know – autarkaw at yahoo.com.

____________________________

This post is brought to you by

Canvas quiz times for accommodating students with disabilities

Before the pandemic, university students would go to a student-accessibility-services office to take their scheduled examinations and get their needs accommodated.  These accommodations include additional time, a separate room to read aloud, and quiet environments. During the pandemic, accommodations for online examinations are generally monitored by the instructor, provided they only involve giving extra time.

I have made a mistake or two while hand calculating the assigned due time or the additional time that needs to be input in the learning management system such as CANVAS. To minimize such mistakes, I made an excel file, and it has worked well so far. In this blog, I share the excel file with you.   http://www.eng.usf.edu/~kaw/SAS/starting_end_time_for_students_with_accomodations.xlsx

Use the spreadsheet as you see fit. I have protected the cells in the excel file so that they do not get changed inadvertently – you can always unprotect (go to Review->Unprotect in the excel menu) the excel sheet and make modifications to suit your needs.

The inputs are

  1. starting time of the test or when you want the students to have access to the test
  2. time in minutes you want students to be working on the test
  3. time in minutes given to students for uploading files, if any (needed for submitting handwritten free responses, for instance) and
  4. Time over and above the length of the test to create a window in which the test is available.

The instructions for entering the above inputs are as follows.

  1. Enter the starting times in Row 10 (Columns H thru N): e.g., 2:00 PM. Mind the space between 2:00 and PM.
  2. Put the time in minutes for the test in cell H11
  3. Put the time in minutes for uploading of a file, if any. in cell H12. Enter zero if no uploading of the file is needed.
  4. Put the extra time in minutes in cell H13 for creating a window for the test.

Let’s take an example. I want to give a test that is 40-minutes long that requires students to handwrite free-responses to posed questions. They will be given additional 10 minutes to make a PDF file of the free-responses and upload the file. I want the test to start at 11:40 AM for all students but make it due at 12:45 PM, and hence give a window of 65 minutes within which to complete the test. So the extra time given in minutes to create the window is 15 minutes (65-40-10=15). Based on the example, I would enter 11:40 AM in Row 10 (Columns H thru N), 40 in cell H11, 10 in cell H12, and 15 in cell H13.

The outputs that are needed for the CANVAS LMS are shown in green color. Do not forget to go to publish the quiz, and then go to “Moderate Quiz” to add the extra time for the accommodated students.

Two of the links below are just references to show how to add extra time and add the names of students who get extra time.

Source: https://community.canvaslms.com/t5/Instructor-Guide/How-do-I-assign-a-quiz-to-an-individual-student/ta-p/714

Source: https://support.canvas.fsu.edu/kb/article/977-how-to-allow-extra-time-for-students-on-a-canvas-assessment/

____________________________

This post is brought to you by

A prompt for students to write a discussion post on the most difficult topic in a chapter.

Here is a prompt for students to write a short discussion post on what they found difficult in a particular chapter.

In 50-100 words or more, describe in complete sentences the most difficult concept or exercise for Chapters 01.XX for you or for a classmate. Include categorically why one would struggle with it. This assignment is extra credit for 5 points on the “Online Assignments”.

Grading Criteria

Submissions will be graded on a simple rubric for thoughtfulness, thoroughness, and completeness. Students are expected to answer all prompts with care and in good faith.

A thoughtful, thorough, and complete answer will get you 5 points
An attempt missing mostly one of the above requirements will fetch you 2.5 points
An attempt missing mostly two of the above requirements, or is irrelevant or is generic will be marked 0 points.

An example of a reasonable answer from your differential calculus course could be – “I found the fundamental theorem of calculus to be a different concept because one used dummy variables in the integrals and the upper limit of the integral was a variable. I am used to definite integrals with numbers as the limits of integration.  But when I looked at both parts of the fundamental theorem and worked through a generic example, I was able to get it”

How do I do that in MATLAB for USF students

Gaussian quadrature and weights listed as scrapeable data

This file consists of Gauss quadrature points and weights from n=1 to n=30. The blank spaces separate out the value of n, quadrature points, and weights. The points and weights are for the integration limits of [-1,1]. To convert to any finite integration limits [a,b], multiply the weights by (b-a)/2 and use (b-a)/2*QuadPoint+(b+a)/2 for the quadrature points. The data is also given in a scrapeable textfile at https://mathforcollege.com/nm/blog/QuadPointsWeightsUpTo30.txt

 1

0

2.0

 2

-0.57735026918962576450914878050196
0.57735026918962576450914878050196

1.0
1.0

 3

-0.77459666924148337703585307995648
0
0.77459666924148337703585307995648

0.55555555555555555555555555555556
0.88888888888888888888888888888889
0.55555555555555555555555555555556

 4

-0.86113631159405257522394648889281
-0.33998104358485626480266575910324
0.33998104358485626480266575910324
0.86113631159405257522394648889281

0.347854845137453857373063949222
0.652145154862546142626936050778
0.652145154862546142626936050778
0.347854845137453857373063949222

 5

-0.90617984593866399279762687829939
-0.53846931010568309103631442070021
0
0.53846931010568309103631442070021
0.90617984593866399279762687829939

0.23692688505618908751426404071992
0.47862867049936646804129151483564
0.56888888888888888888888888888889
0.47862867049936646804129151483564
0.23692688505618908751426404071992

 6

-0.93246951420315202781230155449399
-0.66120938646626451366139959501991
-0.23861918608319690863050172168071
0.23861918608319690863050172168071
0.66120938646626451366139959501991
0.93246951420315202781230155449399

0.17132449237917034504029614217273
0.36076157304813860756983351383772
0.46791393457269104738987034398955
0.46791393457269104738987034398955
0.36076157304813860756983351383772
0.17132449237917034504029614217273

 7

-0.94910791234275852452618968404785
-0.74153118559939443986386477328079
-0.40584515137739716690660641207696
0
0.40584515137739716690660641207696
0.74153118559939443986386477328079
0.94910791234275852452618968404785

0.12948496616886969327061143267908
0.27970539148927666790146777142378
0.38183005050511894495036977548898
0.41795918367346938775510204081633
0.38183005050511894495036977548898
0.27970539148927666790146777142378
0.12948496616886969327061143267908

 8

-0.96028985649753623168356086856947
-0.79666647741362673959155393647583
-0.52553240991632898581773904918925
-0.18343464249564980493947614236018
0.18343464249564980493947614236018
0.52553240991632898581773904918925
0.79666647741362673959155393647583
0.96028985649753623168356086856947

0.10122853629037625915253135430996
0.22238103445337447054435599442624
0.3137066458778872873379622019866
0.3626837833783619829651504492772
0.3626837833783619829651504492772
0.3137066458778872873379622019866
0.22238103445337447054435599442624
0.10122853629037625915253135430996

 9

-0.96816023950762608983557620290367
-0.83603110732663579429942978806973
-0.61337143270059039730870203934147
-0.32425342340380892903853801464334
0
0.32425342340380892903853801464334
0.61337143270059039730870203934147
0.83603110732663579429942978806973
0.96816023950762608983557620290367

0.081274388361574411971892158110524
0.18064816069485740405847203124291
0.26061069640293546231874286941863
0.31234707704000284006863040658444
0.33023935500125976316452506928697
0.31234707704000284006863040658444
0.26061069640293546231874286941863
0.18064816069485740405847203124291
0.081274388361574411971892158110524

10

-0.97390652851717172007796401208445
-0.86506336668898451073209668842349
-0.67940956829902440623432736511487
-0.43339539412924719079926594316578
-0.14887433898163121088482600112972
0.14887433898163121088482600112972
0.43339539412924719079926594316578
0.67940956829902440623432736511487
0.86506336668898451073209668842349
0.97390652851717172007796401208445

0.066671344308688137593568809893332
0.1494513491505805931457763396577
0.21908636251598204399553493422816
0.26926671930999635509122692156947
0.29552422471475287017389299465134
0.29552422471475287017389299465134
0.26926671930999635509122692156947
0.21908636251598204399553493422816
0.1494513491505805931457763396577
0.066671344308688137593568809893332

11

-0.97822865814605699280393800112286
-0.88706259976809529907515776930393
-0.73015200557404932409341625203115
-0.51909612920681181592572566945861
-0.26954315595234497233153198540086
0
0.26954315595234497233153198540086
0.51909612920681181592572566945861
0.73015200557404932409341625203115
0.88706259976809529907515776930393
0.97822865814605699280393800112286

0.055668567116173666482753720442549
0.12558036946490462463469429922394
0.18629021092773425142609764143166
0.23319376459199047991852370484318
0.26280454451024666218068886989051
0.27292508677790063071448352833634
0.26280454451024666218068886989051
0.23319376459199047991852370484318
0.18629021092773425142609764143166
0.12558036946490462463469429922394
0.055668567116173666482753720442549

12

-0.98156063424671925069054909014928
-0.9041172563704748566784658661191
-0.76990267419430468703689383321282
-0.58731795428661744729670241894053
-0.36783149899818019375269153664372
-0.12523340851146891547244136946385
0.12523340851146891547244136946385
0.36783149899818019375269153664372
0.58731795428661744729670241894053
0.76990267419430468703689383321282
0.9041172563704748566784658661191
0.98156063424671925069054909014928

0.047175336386511827194615961485017
0.106939325995318430960254718194
0.16007832854334622633465252954336
0.2031674267230659217490644558098
0.23349253653835480876084989892488
0.24914704581340278500056243604295
0.24914704581340278500056243604295
0.23349253653835480876084989892488
0.2031674267230659217490644558098
0.16007832854334622633465252954336
0.106939325995318430960254718194
0.047175336386511827194615961485017

13

-0.98418305471858814947282944880711
-0.91759839922297796520654783650072
-0.80157809073330991279420648958286
-0.64234933944034022064398460699552
-0.44849275103644685287791285212764
-0.23045831595513479406552812109799
0
0.23045831595513479406552812109799
0.44849275103644685287791285212764
0.64234933944034022064398460699552
0.80157809073330991279420648958286
0.91759839922297796520654783650072
0.98418305471858814947282944880711

0.040484004765315879520021592200986
0.092121499837728447914421775953797
0.13887351021978723846360177686887
0.1781459807619457382800466919961
0.20781604753688850231252321930605
0.22628318026289723841209018603978
0.23255155323087391019458951526884
0.22628318026289723841209018603978
0.20781604753688850231252321930605
0.1781459807619457382800466919961
0.13887351021978723846360177686887
0.092121499837728447914421775953797
0.040484004765315879520021592200986

14

-0.98628380869681233884159726670405
-0.92843488366357351733639113937787
-0.82720131506976499318979474265039
-0.68729290481168547014801980301933
-0.51524863635815409196529071855119
-0.31911236892788976043567182416848
-0.10805494870734366206624465021983
0.10805494870734366206624465021983
0.31911236892788976043567182416848
0.51524863635815409196529071855119
0.68729290481168547014801980301933
0.82720131506976499318979474265039
0.92843488366357351733639113937787
0.98628380869681233884159726670405

0.035119460331751863031832876138192
0.080158087159760209805633277062854
0.12151857068790318468941480907248
0.15720316715819353456960193862384
0.18553839747793781374171659012516
0.20519846372129560396592406566122
0.21526385346315779019587644331626
0.21526385346315779019587644331626
0.20519846372129560396592406566122
0.18553839747793781374171659012516
0.15720316715819353456960193862384
0.12151857068790318468941480907248
0.080158087159760209805633277062854
0.035119460331751863031832876138192

15

-0.98799251802048542848956571858661
-0.93727339240070590430775894771021
-0.84820658341042721620064832077422
-0.72441773136017004741618605461394
-0.57097217260853884753722673725391
-0.39415134707756336989720737098105
-0.2011940939974345223006283033946
0
0.2011940939974345223006283033946
0.39415134707756336989720737098105
0.57097217260853884753722673725391
0.72441773136017004741618605461394
0.84820658341042721620064832077422
0.93727339240070590430775894771021
0.98799251802048542848956571858661

0.030753241996117268354628393577204
0.070366047488108124709267416450667
0.10715922046717193501186954668587
0.13957067792615431444780479451103
0.16626920581699393355320086048121
0.18616100001556221102680056186642
0.19843148532711157645611832644384
0.20257824192556127288062019996752
0.19843148532711157645611832644384
0.18616100001556221102680056186642
0.16626920581699393355320086048121
0.13957067792615431444780479451103
0.10715922046717193501186954668587
0.070366047488108124709267416450667
0.030753241996117268354628393577204

16

-0.98940093499164993259615417345033
-0.94457502307323257607798841553461
-0.86563120238783174388046789771239
-0.75540440835500303389510119484744
-0.61787624440264374844667176404879
-0.45801677765722738634241944298358
-0.2816035507792589132304605014605
-0.095012509837637440185319335424958
0.095012509837637440185319335424958
0.2816035507792589132304605014605
0.45801677765722738634241944298358
0.61787624440264374844667176404879
0.75540440835500303389510119484744
0.86563120238783174388046789771239
0.94457502307323257607798841553461
0.98940093499164993259615417345033

0.027152459411754094851780572456018
0.062253523938647892862843836994378
0.095158511682492784809925107602246
0.12462897125553387205247628219202
0.14959598881657673208150173054748
0.16915651939500253818931207903036
0.18260341504492358886676366796922
0.18945061045506849628539672320828
0.18945061045506849628539672320828
0.18260341504492358886676366796922
0.16915651939500253818931207903036
0.14959598881657673208150173054748
0.12462897125553387205247628219202
0.095158511682492784809925107602246
0.062253523938647892862843836994378
0.027152459411754094851780572456018

17

-0.99057547531441733567543401994067
-0.9506755217687677612227169578958
-0.88023915372698590212295569448816
-0.78151400389680140692523005552048
-0.657671159216690765850302216643
-0.51269053708647696788624656862955
-0.35123176345387631529718551709535
-0.17848418149584785585067749365407
0
0.17848418149584785585067749365407
0.35123176345387631529718551709535
0.51269053708647696788624656862955
0.657671159216690765850302216643
0.78151400389680140692523005552048
0.88023915372698590212295569448816
0.9506755217687677612227169578958
0.99057547531441733567543401994067

0.024148302868547931960110026287565
0.055459529373987201129440165358245
0.085036148317179180883535370191062
0.11188384719340397109478838562636
0.13513636846852547328631998170235
0.15404576107681028808143159480196
0.16800410215645004450997066378832
0.1765627053669926463252709901132
0.17944647035620652545826564426189
0.1765627053669926463252709901132
0.16800410215645004450997066378832
0.15404576107681028808143159480196
0.13513636846852547328631998170235
0.11188384719340397109478838562636
0.085036148317179180883535370191062
0.055459529373987201129440165358245
0.024148302868547931960110026287565

18

-0.99156516842093094673001600470615
-0.95582394957139775518119589292978
-0.89260246649755573920606059112715
-0.80370495897252311568241745501459
-0.69168704306035320787489108128885
-0.55977083107394753460787154852533
-0.41175116146284264603593179383305
-0.25188622569150550958897285487791
-0.084775013041735301242261852935784
0.084775013041735301242261852935784
0.25188622569150550958897285487791
0.41175116146284264603593179383305
0.55977083107394753460787154852533
0.69168704306035320787489108128885
0.80370495897252311568241745501459
0.89260246649755573920606059112715
0.95582394957139775518119589292978
0.99156516842093094673001600470615

0.021616013526483310313342710266452
0.049714548894969796453334946202639
0.076425730254889056529129677616637
0.10094204410628716556281398492483
0.1225552067114784601845191268002
0.14064291467065065120473130375195
0.15468467512626524492541800383637
0.16427648374583272298605377646593
0.16914238296314359184065647013499
0.16914238296314359184065647013499
0.16427648374583272298605377646593
0.15468467512626524492541800383637
0.14064291467065065120473130375195
0.1225552067114784601845191268002
0.10094204410628716556281398492483
0.076425730254889056529129677616637
0.049714548894969796453334946202639
0.021616013526483310313342710266452

19

-0.99240684384358440318901767025326
-0.96020815213483003085277884068765
-0.90315590361481790164266092853231
-0.82271465653714282497892248671271
-0.72096617733522937861709586082378
-0.60054530466168102346963816494624
-0.4645707413759609457172671481041
-0.31656409996362983199011732884984
-0.16035864564022537586809611574074
0
0.16035864564022537586809611574074
0.31656409996362983199011732884984
0.4645707413759609457172671481041
0.60054530466168102346963816494624
0.72096617733522937861709586082378
0.82271465653714282497892248671271
0.90315590361481790164266092853231
0.96020815213483003085277884068765
0.99240684384358440318901767025326

0.019461788229726477036312041464438
0.044814226765699600332838157401994
0.069044542737641226580708258006013
0.09149002162244999946446209412384
0.11156664554733399471602390168177
0.12875396253933622767551578485688
0.1426067021736066117757461094419
0.15276604206585966677885540089766
0.15896884339395434764995643946505
0.16105444984878369597916362532092
0.15896884339395434764995643946505
0.15276604206585966677885540089766
0.1426067021736066117757461094419
0.12875396253933622767551578485688
0.11156664554733399471602390168177
0.09149002162244999946446209412384
0.069044542737641226580708258006013
0.044814226765699600332838157401994
0.019461788229726477036312041464438

20

-0.99312859918509492478612238847132
-0.96397192727791379126766613119728
-0.9122344282513259058677524412033
-0.83911697182221882339452906170152
-0.74633190646015079261430507035564
-0.63605368072651502545283669622629
-0.51086700195082709800436405095525
-0.37370608871541956067254817702493
-0.22778585114164507808049619536857
-0.076526521133497333754640409398838
0.076526521133497333754640409398838
0.22778585114164507808049619536857
0.37370608871541956067254817702493
0.51086700195082709800436405095525
0.63605368072651502545283669622629
0.74633190646015079261430507035564
0.83911697182221882339452906170152
0.9122344282513259058677524412033
0.96397192727791379126766613119728
0.99312859918509492478612238847132

0.017614007139152118311861962351853
0.040601429800386941331039952274932
0.062672048334109063569506535187042
0.083276741576704748724758143222046
0.10193011981724043503675013548035
0.11819453196151841731237737771138
0.13168863844917662689849449974816
0.14209610931838205132929832506716
0.14917298647260374678782873700197
0.1527533871307258506980843319551
0.1527533871307258506980843319551
0.14917298647260374678782873700197
0.14209610931838205132929832506716
0.13168863844917662689849449974816
0.11819453196151841731237737771138
0.10193011981724043503675013548035
0.083276741576704748724758143222046
0.062672048334109063569506535187042
0.040601429800386941331039952274932
0.017614007139152118311861962351853

21

-0.99375217062038950026024203593794
-0.9672268385663062943166222149077
-0.92009933415040082879018713371496
-0.85336336458331728364725063858757
-0.76843996347567790861587785130622
-0.66713880419741231930596666999034
-0.55161883588721980705901879672431
-0.42434212020743878357366888854379
-0.2880213168024010966007925160646
-0.14556185416089509093703098233869
0
0.14556185416089509093703098233869
0.2880213168024010966007925160646
0.42434212020743878357366888854379
0.55161883588721980705901879672431
0.66713880419741231930596666999034
0.76843996347567790861587785130623
0.85336336458331728364725063858756
0.92009933415040082879018713371497
0.96722683856630629431662221490769
0.99375217062038950026024203593794

0.016017228257774333324224616858403
0.036953789770852493799950668299422
0.057134425426857208283635826472357
0.076100113628379302017051653300256
0.093444423456033861553289741113883
0.10879729916714837766347457807013
0.12183141605372853419536717712572
0.13226893863333746178105257449678
0.13988739479107315472213342386758
0.14452440398997005906382716655375
0.14608113364969042719198514768337
0.14452440398997005906382716655375
0.13988739479107315472213342386758
0.13226893863333746178105257449678
0.12183141605372853419536717712574
0.1087972991671483776634745780701
0.09344442345603386155328974111395
0.076100113628379302017051653300153
0.057134425426857208283635826472488
0.036953789770852493799950668299287
0.016017228257774333324224616858503

22

-0.9942945854823992920730314211613
-0.97006049783542872712395098676527
-0.92695677218717400052069293925905
-0.86581257772030013653642563701938
-0.78781680597920816200427795540835
-0.69448726318668278005068983576226
-0.58764040350691159295887692763865
-0.46935583798675702640633071096641
-0.34193582089208422515814742042738
-0.20786042668822128547884653391955
-0.069739273319722221213841796118628
0.069739273319722221213841796118628
0.20786042668822128547884653391955
0.34193582089208422515814742042738
0.46935583798675702640633071096641
0.58764040350691159295887692763865
0.69448726318668278005068983576226
0.78781680597920816200427795540835
0.86581257772030013653642563701938
0.92695677218717400052069293925905
0.97006049783542872712395098676527
0.9942945854823992920730314211613

0.014627995298272200684991098047185
0.033774901584814154793302246865913
0.052293335152683285940312051273211
0.069796468424520488094961418930218
0.085941606217067727414443681372703
0.10041414444288096493207883783054
0.11293229608053921839340060742178
0.12325237681051242428556098615481
0.13117350478706237073296499253031
0.13654149834601517135257383123152
0.13925187285563199337541024834181
0.13925187285563199337541024834181
0.13654149834601517135257383123152
0.13117350478706237073296499253031
0.12325237681051242428556098615481
0.11293229608053921839340060742178
0.10041414444288096493207883783054
0.085941606217067727414443681372703
0.069796468424520488094961418930218
0.052293335152683285940312051273211
0.033774901584814154793302246865913
0.014627995298272200684991098047185

23

-0.99476933499755212352392571544557
-0.97254247121811523195602407682078
-0.93297108682601610234919698903842
-0.87675235827044166737815688593415
-0.80488840161883989215111840699678
-0.71866136313195019446162448374862
-0.6196098757636461563850973116496
-0.50950147784600754968979304786685
-0.39030103803029083142148887288061
-0.26413568097034493053386953828331
-0.13325682429846611093174268224177
0
0.13325682429846611093174268224177
0.26413568097034493053386953828331
0.39030103803029083142148887288061
0.50950147784600754968979304786685
0.6196098757636461563850973116496
0.71866136313195019446162448374862
0.80488840161883989215111840699678
0.87675235827044166737815688593415
0.93297108682601610234919698903842
0.97254247121811523195602407682078
0.99476933499755212352392571544557

0.013411859487141772081309493458615
0.030988005856979444310694219641885
0.048037671731084668571641071632034
0.064232421408525852127169615158911
0.079281411776718954922892524742043
0.092915766060035147477018617369765
0.10489209146454141007408618501474
0.11499664022241136494164351293396
0.12304908430672953046757840067201
0.12890572218808214997859533939979
0.13246203940469661737164246470332
0.13365457218610617535145711054584
0.13246203940469661737164246470332
0.12890572218808214997859533939979
0.12304908430672953046757840067201
0.11499664022241136494164351293396
0.10489209146454141007408618501474
0.092915766060035147477018617369765
0.079281411776718954922892524742043
0.064232421408525852127169615158911
0.048037671731084668571641071632034
0.030988005856979444310694219641885
0.013411859487141772081309493458615

24

-0.99518721999702136017999740970074
-0.97472855597130949819839199300817
-0.93827455200273275852364900170872
-0.8864155270044010342131543419822
-0.82000198597390292195394987266975
-0.74012419157855436424382810309998
-0.64809365193697556925249578691075
-0.54542147138883953565837561721837
-0.43379350762604513848708423191335
-0.31504267969616337438679329131981
-0.19111886747361630915863982075707
-0.064056892862605626085043082624745
0.064056892862605626085043082624745
0.19111886747361630915863982075707
0.31504267969616337438679329131981
0.43379350762604513848708423191335
0.54542147138883953565837561721837
0.64809365193697556925249578691075
0.74012419157855436424382810309998
0.82000198597390292195394987266975
0.8864155270044010342131543419822
0.93827455200273275852364900170872
0.97472855597130949819839199300817
0.99518721999702136017999740970074

0.012341229799987199546805667070037
0.028531388628933663181307815951878
0.044277438817419806168602748211338
0.059298584915436780746367758500109
0.073346481411080305734033615253117
0.086190161531953275917185202983743
0.097618652104113888269880664464247
0.10744427011596563478257734244661
0.11550566805372560135334448390678
0.12167047292780339120446315347626
0.12583745634682829612137538251118
0.1279381953467521569740561652247
0.1279381953467521569740561652247
0.12583745634682829612137538251118
0.12167047292780339120446315347626
0.11550566805372560135334448390678
0.10744427011596563478257734244661
0.097618652104113888269880664464247
0.086190161531953275917185202983743
0.073346481411080305734033615253117
0.059298584915436780746367758500109
0.044277438817419806168602748211338
0.028531388628933663181307815951878
0.012341229799987199546805667070037

25

-0.9955569697904980979087849468939
-0.97666392145951751149831538647959
-0.94297457122897433941401116965847
-0.8949919978782753688510420067828
-0.83344262876083400142102110869357
-0.75925926303735763057728286520436
-0.67356636847346836448512063324762
-0.57766293024122296772368984161265
-0.47300273144571496052218211500919
-0.36117230580938783773582173012764
-0.24386688372098843204519036279745
-0.12286469261071039638735981880804
0
0.12286469261071039638735981880804
0.24386688372098843204519036279745
0.36117230580938783773582173012764
0.47300273144571496052218211500919
0.57766293024122296772368984161265
0.67356636847346836448512063324762
0.75925926303735763057728286520436
0.83344262876083400142102110869357
0.8949919978782753688510420067828
0.94297457122897433941401116965847
0.97666392145951751149831538647959
0.9955569697904980979087849468939

0.011393798501026287947902964113235
0.026354986615032137261901815295299
0.040939156701306312655623487711646
0.054904695975835191925936891540473
0.068038333812356917207187185656708
0.080140700335001018013234959669111
0.091028261982963649811497220702892
0.10053594906705064420220689039269
0.10851962447426365311609395705012
0.11485825914571164833932554586956
0.1194557635357847722281781265129
0.12224244299031004168895951894585
0.12317605372671545120390287307905
0.12224244299031004168895951894585
0.1194557635357847722281781265129
0.11485825914571164833932554586956
0.10851962447426365311609395705012
0.10053594906705064420220689039269
0.091028261982963649811497220702892
0.080140700335001018013234959669111
0.068038333812356917207187185656708
0.054904695975835191925936891540473
0.040939156701306312655623487711646
0.026354986615032137261901815295299
0.011393798501026287947902964113235

26

-0.99588570114561692900321695932291
-0.97838544595647099110058035431193
-0.94715906666171425013591528351804
-0.90263786198430707421766559923121
-0.84544594278849801879750706146784
-0.77638594882067885619296724724228
-0.69642726041995726486381391372942
-0.60669229301761806323197874691689
-0.50844071482450571769570306472557
-0.40305175512348630648107737709888
-0.29200483948595689514283538207783
-0.17685882035689018396905774841834
-0.059230093429313207093718575198403
0.059230093429313207093718575198403
0.17685882035689018396905774841834
0.29200483948595689514283538207783
0.40305175512348630648107737709888
0.50844071482450571769570306472557
0.60669229301761806323197874691689
0.69642726041995726486381391372942
0.77638594882067885619296724724228
0.84544594278849801879750706146784
0.90263786198430707421766559923121
0.94715906666171425013591528351804
0.97838544595647099110058035431193
0.99588570114561692900321695932291

0.010551372617343007155651187685252
0.024417851092631908789615827519788
0.03796238329436276395030314124885
0.050975825297147811998319900724073
0.063274046329574835539453689907045
0.074684149765659745887075796102848
0.085045894313485239210447765079982
0.094213800355914148463664883067303
0.10205916109442542323841407025343
0.108471840528576590656579426728
0.1133618165463196665494407184426
0.11666044348529658204466250754036
0.11832141527926227651637108570047
0.11832141527926227651637108570047
0.11666044348529658204466250754036
0.1133618165463196665494407184426
0.108471840528576590656579426728
0.10205916109442542323841407025343
0.094213800355914148463664883067303
0.085045894313485239210447765079982
0.074684149765659745887075796102848
0.063274046329574835539453689907045
0.050975825297147811998319900724073
0.03796238329436276395030314124885
0.024417851092631908789615827519788
0.010551372617343007155651187685252

27

-0.99617926288898856693888720838123
-0.97992347596150122285587335566105
-0.95090055781470500685190803064388
-0.90948232067749110430064501820969
-0.85620790801829449030273722270684
-0.79177163907050822714439734410727
-0.71701347373942369929481621164234
-0.63290797194649514092773463763449
-0.54055156457945689490030094155998
-0.44114825175002688058597415568928
-0.33599390363850889973031903420728
-0.22645936543953685885723910736023
-0.11397258560952996693289498386998
0
0.11397258560952996693289498386998
0.22645936543953685885723910736023
0.33599390363850889973031903420728
0.44114825175002688058597415568928
0.54055156457945689490030094155998
0.63290797194649514092773463763449
0.71701347373942369929481621164234
0.79177163907050822714439734410727
0.85620790801829449030273722270684
0.90948232067749110430064501820969
0.95090055781470500685190803064388
0.97992347596150122285587335566105
0.99617926288898856693888720838123

0.0097989960512943602611500550912591
0.022686231596180623196034206446761
0.035297053757419711022578289304712
0.047449412520615062704096710114185
0.058983536859833599110300833719532
0.069748823766245592984322888356667
0.079604867773057771263074959009842
0.088423158543756950194322802853749
0.096088727370028507565652646558106
0.10250163781774579867124771153266
0.10757828578853318721216298442666
0.11125248835684519267216309604285
0.1134763461089651486203699480921
0.11422086737895698904504573690184
0.1134763461089651486203699480921
0.11125248835684519267216309604285
0.10757828578853318721216298442666
0.10250163781774579867124771153266
0.096088727370028507565652646558106
0.088423158543756950194322802853749
0.079604867773057771263074959009842
0.069748823766245592984322888356667
0.058983536859833599110300833719532
0.047449412520615062704096710114185
0.035297053757419711022578289304712
0.022686231596180623196034206446761
0.0097989960512943602611500550912591

28

-0.99644249757395444995043639048331
-0.98130316537087275369455994580783
-0.95425928062893819725410183970522
-0.91563302639213207386968942332993
-0.86589252257439504894225456737969
-0.80564137091717917144788595542528
-0.73561087801363177202814451029253
-0.65665109403886496121989817650674
-0.56972047181140171930800328335643
-0.47587422495511826103441184766743
-0.37625151608907871022135720955609
-0.27206162763517807767682635612577
-0.16456928213338077128147177789117
-0.05507928988403427042651652734188
0.05507928988403427042651652734188
0.16456928213338077128147177789117
0.27206162763517807767682635612577
0.37625151608907871022135720955609
0.47587422495511826103441184766743
0.56972047181140171930800328335643
0.65665109403886496121989817650674
0.73561087801363177202814451029253
0.80564137091717917144788595542528
0.86589252257439504894225456737969
0.91563302639213207386968942332993
0.95425928062893819725410183970522
0.98130316537087275369455994580783
0.99644249757395444995043639048331

0.0091242825930945177388161539229517
0.021132112592771259751500380993265
0.032901427782304379977630819170532
0.044272934759004227839587877653207
0.055107345675716745431482918226946
0.065272923966999595793397566775505
0.074646214234568779023931887173022
0.083113417228901218390396498244332
0.090571744393032840942186031336784
0.096930657997929915850489006095441
0.10211296757806076981421663850571
0.10605576592284641791041643699681
0.10871119225829413525357151930367
0.11004701301647519628237626560182
0.11004701301647519628237626560182
0.10871119225829413525357151930367
0.10605576592284641791041643699681
0.10211296757806076981421663850571
0.096930657997929915850489006095441
0.090571744393032840942186031336784
0.083113417228901218390396498244332
0.074646214234568779023931887173022
0.065272923966999595793397566775505
0.055107345675716745431482918226946
0.044272934759004227839587877653207
0.032901427782304379977630819170532
0.021132112592771259751500380993265
0.0091242825930945177388161539229517

29

-0.99667944226059658616319153254935
-0.98254550526141317487092601578638
-0.95728559577808772579820803698082
-0.92118023295305878509375343608311
-0.87463780492010279041779342125658
-0.81818548761525244498957221457878
-0.75246285173447713391261007721214
-0.67821453760268651515618500539199
-0.59628179713822782037958621118899
-0.50759295512422764210262791962752
-0.41315288817400866389070658603162
-0.31403163786763993494819592319105
-0.21135228616600107450637572890294
-0.10627823013267923017098239243038
0
0.10627823013267923017098239243038
0.21135228616600107450637572890294
0.31403163786763993494819592319105
0.41315288817400866389070658603162
0.50759295512422764210262791962752
0.59628179713822782037958621118899
0.67821453760268651515618500539199
0.75246285173447713391261007721214
0.81818548761525244498957221457878
0.87463780492010279041779342125658
0.92118023295305878509375343608311
0.95728559577808772579820803698082
0.98254550526141317487092601578638
0.99667944226059658616319153254935

0.0085169038787464096542638133022498
0.019732085056122705983859801640396
0.030740492202093622644408525374617
0.041402062518682836104830010114077
0.051594826902497923912594381179543
0.061203090657079138542109848023907
0.070117933255051278569581486948879
0.07823832713576378382814488865968
0.085472257366172527545344849297208
0.091737757139258763347966411077111
0.096963834094408606301900074882689
0.1010912737599149661218205469075
0.10407331007772937391332847128512
0.10587615509732094140659132785219
0.10647938171831424424651112690968
0.10587615509732094140659132785219
0.10407331007772937391332847128512
0.1010912737599149661218205469075
0.096963834094408606301900074882689
0.091737757139258763347966411077111
0.085472257366172527545344849297208
0.07823832713576378382814488865968
0.070117933255051278569581486948879
0.061203090657079138542109848023907
0.051594826902497923912594381179543
0.041402062518682836104830010114077
0.030740492202093622644408525374617
0.019732085056122705983859801640396
0.0085169038787464096542638133022498

30

-0.9968934840746495402716300509187
-0.98366812327974720997003258160566
-0.9600218649683075122168710255818
-0.92620004742927432587932427708047
-0.88256053579205268154311646253023
-0.8295657623827683974428981197325
-0.7677774321048261949179773409745
-0.69785049479331579693229238802664
-0.62052618298924286114047755643119
-0.53662414814201989926416979331107
-0.44703376953808917678060990032285
-0.35270472553087811347103720708937
-0.25463692616788984643980512981781
-0.15386991360858354696379467274326
-0.051471842555317695833025213166723
0.051471842555317695833025213166723
0.15386991360858354696379467274326
0.25463692616788984643980512981781
0.35270472553087811347103720708937
0.44703376953808917678060990032285
0.53662414814201989926416979331107
0.62052618298924286114047755643119
0.69785049479331579693229238802664
0.7677774321048261949179773409745
0.8295657623827683974428981197325
0.88256053579205268154311646253023
0.92620004742927432587932427708047
0.9600218649683075122168710255818
0.98366812327974720997003258160566
0.9968934840746495402716300509187

0.0079681924961666056154658834746736
0.018466468311090959142302131912047
0.028784707883323369349719179611292
0.038799192569627049596801936446348
0.048402672830594052902938140422808
0.057493156217619066481721689402056
0.065974229882180495128128515115962
0.073755974737705206268243850022191
0.08075589522942021535469493846053
0.086899787201082979802387530715126
0.092122522237786128717632707087619
0.09636873717464425963946862635181
0.099593420586795267062780282103569
0.10176238974840550459642895216855
0.10285265289355884034128563670542
0.10285265289355884034128563670542
0.10176238974840550459642895216855
0.099593420586795267062780282103569
0.09636873717464425963946862635181
0.092122522237786128717632707087619
0.086899787201082979802387530715126
0.08075589522942021535469493846053
0.073755974737705206268243850022191
0.065974229882180495128128515115962
0.057493156217619066481721689402056
0.048402672830594052902938140422808
0.038799192569627049596801936446348
0.028784707883323369349719179611292
0.018466468311090959142302131912047
0.0079681924961666056154658834746736

______________________

This post is brought to you by

Holistic Numerical Methods Open Course Ware:

Numerical Methods for the STEM undergraduate at http://nm.MathForCollege.com;

Introduction to Matrix Algebra for the STEM undergraduate at http://ma.MathForCollege.com

the textbooks on

Numerical Methods with Applications

Introduction to Programming Concepts Using MATLAB

the Massive Open Online Course (MOOCs) available at

Numerical Methods 

Introduction to Matrix Algebra

Multiple Choice Analyzer

How many instructors revise their multiple-choice tests based on their students’ responses? If one wishes to make a better multiple-choice test, a statistical analysis of these responses could be helpful.

We have developed a freely available web-based program to analyze a multiple-choice test, and it requires no programming experience – just your student response data and the answer key in two excel spreadsheets.

The program outputs a pdf file that goes beyond the usual scoring but includes many other metrics, which would help the instructor to revise the test for improving its reliability.

The outputs include difficulty index, discrimination index, Cronbach alpha, item response theory, and distractor analysis. It also outputs if a question should be kept or removed based on four different criteria. The source code is open-access, and we invite others to improve it.

The description is given here at https://www.garrickadenbuie.com/project/mc-test-analysis/

The program can be accessed at https://apps.garrickadenbuie.com/mctestanalysis/

How to make the input excel files is at http://www.eng.usf.edu/~kaw/MCTestAnalysis/MCTestAnalysis_input.pdf

An example of a hypothetical output report is here at https://www.garrickadenbuie.com/project/2017-07-06-mc-test-analysis_files/MCTestAnalysis_Example-Report.pdf

The source code for developers is at https://github.com/gadenbuie/mctestanalysis

_________________

This post is brought to you by