cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
Choose Language Hide Translation Bar
nac
nac
Level III

bell curve for exam grade calculation

dear all,

 

I made an exam and ı want to calculate exam grades by using bell curve approach. I heard this approach but ı do not know how can I apply it. 

How can ı calculate their exam grades?  which one is A,B,C etc... Each line represent one student exam result at the attached jmp file. 

Please help me. I need very urgent help.

 

Thank you.

Best Regards,

 

1 REPLY 1
ih
Super User (Alumni) ih
Super User (Alumni)

Re: bell curve for exam grade calculation

Using splits in the example on wikipedia, you could calculate the rank and then the grade:

 

New Table( "bell curve for exam grade calculation",
	Add Rows( 16 ),
	New Script(
		"Distribution",
		Distribution(
			Continuous Distribution(
				Column( :Result ),
				Custom Quantiles( 0.95, [0.8, 0.5, 0.2, 0.1, 0] )
			),
			Nominal Distribution( Column( :Grade ) ),
			SendToReport(
				Dispatch( {"Result"}, "Quantiles", OutlineBox, {Close( 1 )} ),
				Dispatch( {"Result"}, "Summary Statistics", OutlineBox, {Close( 1 )} ),
				Dispatch(
					{"Result", "Custom Quantiles"},
					"Smoothed Empirical Likelihood Quantiles",
					OutlineBox,
					{Close( 1 )}
				)
			)
		)
	),
	New Column( "Result",
		Numeric, "Continuous", Format( "Best", 12 ),
		Set Values(
			[100, 101, 98, 82, 87, 100, 92, 67, 108, 97, 88, 80, 52, 73, 50, 57]
		)
	),
	New Column( "Rank",
		Numeric, "Continuous", Format( "Best", 12 ),
		Formula( Col Rank( :Result, <<Tie( "minimum" ) ) )
	),
	New Column( "Rank PCT",
		Numeric, "Continuous", Format( "Percent", 12, 0 ),
		Formula( :Rank / N Rows() )
	),
	New Column( "Grade",
		Character, "Nominal",
		Formula(
			If(
				:Rank PCT >= 0.8, "A",
				:Rank PCT >= 0.5, "B",
				:Rank PCT >= 0.2, "C",
				:Rank PCT >= 0.1, "D",
				"F"
			)
		)
	)
)

 

 

You could also just use Col Quantile() to find the cutoff points for each grade, or get them directly from the distribution platform using custom quantiles.  See the saved script in the table above.