Unresolved CANVAS LMS bug in algorithmic quizzes

I have been using CANVAS Learning management system for algorithmic quizzes for the last two years at University of South Florida and recently in a MOOC for a course in Numerical Methods.

Due to a bug introduced via an update in the CANVAS software, integers now are followed by a decimal point and a zero.  For example, what should be written as 5, now gets written as 5.0.  Some may believe that this is a minor hassle, but see what happened to statements within the quizzes.

  • 3 bits becomes 3.0 bits
  • 5 terms becomes 5.0 terms
  • N=5 becomes N=5.0
  • Represent integer 2 becomes Represent integer 2.0
  • Solve 37 simultaneous linear equations becomes Solve 37.0 simultaneous linear equations
  • Number of zeros after 2 steps becomes Number of zeros after 2.0 steps
  • A binary number is 1.001 becomes A binary number is 1.0.0.0.0.1.0

We already have students who come to a course with many misconceptions; it is discouraging that a bug in a learning management system will create more misconceptions, and it has hence resulted in I not using the quizzes at all.

So far, CANVAS has acknowledged the bug but what has driven me up the wall is that they have made no promise of solving it, let alone a timeline of resolving the bug.  Our university officials have not been able to make much headway either.  What do you think?

UPDATE (Sunday June 20, 2016):  From our university personnel: “It’s been escalated all the way up the chain. From what I can tell it has been put on the top 10 bug list and it has been assigned an engineer.  I should have more information tomorrow morning.”

UPDATE (Sunday June 27, 2016):  From CANVAS: “We’ve deployed a fix for this issue in our Beta environment. If all goes well, it will make it to the live Production environment on July 16, 2016. This ticket will remain in an “On-Hold” status until then.”

___________

This post is brought to you by

A MOOC on Numerical Methods Released

Join us for a MOOC on Numerical Methods

After the rigorous and comprehensive development and assessment of the NSF funded innovative open courseware on Numerical Methods since 2002, we are offering a FREE Massive Open Online Course (MOOC) in Numerical Methods – Part 1 of 2 at https://canvas.instructure.com/enroll/KYGTJR

The MOOC is Part 1 of a two-part course in Numerical Methods.  The course covers the mathematical procedures of differentiation, nonlinear equations and simultaneous linear equations.  We had the MOOC on Udemy but we are migrating it to CANVAS in two stages. CANVAS has a broader appeal for free MOOCs, it has a user friendly interface, looks familiar for many students using CANVAS, and has the capability of online quizzes that are algorithmic.

Start your journey today whether you are learning numerical methods for the first time or just need a refresher.  Unlike other MOOCs, you have a lifetime access to the course and you can pace yourself. Ask questions within the course and we will keep the conversation going!

canvasnumerical

About: Numerical methods are techniques to approximate mathematical procedures (an example of a mathematical procedure is an integral).  Approximations are needed because we either cannot solve the procedure analytically (an example is the standard normal cumulative  distribution function) or because the analytical method is intractable (an example is solving a set of a thousand simultaneous linear equations for a thousand unknowns).

Materials Included: Textbook Chapters, Video Lectures, Quizzes, Solutions to Quizzes

How Long to Complete: About 20 hours of lectures need to be watched and estimated  time to read the textbook and do quizzes is 40 hours.  It is a typical 7-week semester length course.

Course Structure: For each section, you have video lectures, which are followed by a textbook chapter, a quiz and its complete solution, and automatically graded online quizzes.

___________________________________________

This post is brought to you by

Rejecting roots of nonlinear equation for a physical problem?

How do we reject roots of a nonlinear equation for a physical problem?

To make the fulcrum of a bascule bridge, a long hollow steel shaft called the trunnion is shrink fit into a steel hub. The resulting steel trunnion-hub assembly is then shrink fit into the girder of the bridge. This is done by first immersing the trunnion in a cold medium such as dry-ice/alcohol mixture.  After the trunnion reaches the steady state temperature of the cold medium, the trunnion outer diameter contracts.  The trunnion is taken out of the medium and slid though the hole of the hub.   When the trunnion heats up, it expands and creates an interference fit with the hub.

bascule

In 1995, on one of the bridges in USA, this assembly procedure did not work as designed.  Before the trunnion could be inserted fully into the hub, the trunnion got stuck.  So a new trunnion and hub had to be ordered at a cost of $50,000.  Coupled with construction delays, the total loss was more than hundred thousand dollars.

Why did the trunnion get stuck?  This was because the trunnion had not contracted enough to slide through the hole.

Now the same designer is working on making the fulcrum for another bascule bridge.  Can you help him so that he does not make the same mistake?

For this new bridge, he needs to fit a hollow trunnion of outside diameter  in a hub of inner diameter .  His plan is to put the trunnion in dry ice/alcohol mixture (temperature of the fluid – dry ice/alcohol mixture is -108 degrees F) to contract the trunnion so that it can be slided through the hole of the hub.  To slide the trunnion without sticking, he has also specified a diametrical clearance of at least 0.01 inches  between the trunnion and the hub.   What temperature does he need to cool the trunnion to so that he gets the desired contraction?

For the solution of this problem click here

This post is brought to you by

End of semester grading VBA module

In spite of learning management systems making assigning letter grades simpler, these systems still leave much to be desired when asked to incorporate extra credit or curving of an assessment grade.  To overcome this drawback, I download the grades to a excel spreadsheet and calculate the overall score of each student.  Based on the overall score, one needs to then assign a letter grade for the transcripts.  To assign 13 different plus/minus grading letters manually can be a good candidate for making a mistake in a large size class.  So I use a VBA code (how to access VBA editor) to assign letter grades.

INPUTS AND OUTPUTS
c1 = overall percentage score
fungrade = letter grade

CITATION
Autar Kaw, End of semester grading VBA module, last retrieved at https://autarkaw.wordpress.com/2015/12/21/end-of-semester-grading-vba-module/, December 21, 2015.

FUNCTION 
Function fungrade (c1 As Integer) As String
Dim gra As String
Select Case c1
Case Is >= 98
gra = “A+”
Case Is >= 90
gra = “A”
Case Is >= 86
gra = “A-”
Case Is >= 83
gra = “B+”
Case Is >= 80
gra = “B”
Case Is >= 76
gra = “B-”
Case Is >= 73
gra = “C+”
Case Is >= 70
gra = “C”
Case Is >= 66
gra = “C-”
Case Is >= 63
gra = “D+”
Case Is >= 60
gra = “D”
Case Is >= 56
gra = “D-”
Case Is >= 0
gra = “F”
End Select
fungrade = gra
End Function

PS. You can modify the above given VBA code as needed.  If you want a less hard-coded version, you can modify by having two more inputs – 1) a vector of lowest limit of score for a particular letter grade, and 2) a corresponding vector of the same length of letter grades.

This post is brought to you by

A quadrature formula example

To relate how quadrature formulas are derived, see a simple example of how to do so.

To relate how quadrature formulas are derived, see a simple example of how to do so

See the pdf file for solution.

______________________

This post is brought to you by

Example to show that a polynomial of order n or less that passes through (n+1) data points is unique.

Problem: Through three data pairs (0,0), (3,9) and (4,12), an interpolating polynomial of order 2 or less is found to be y=3x. Prove that there is no other polynomial of order 2 or less that passes through these three points.

See the pdf file for solution.

______________________

This post is brought to you by

Why multiply possible form of part of particular solution form by a power of the independent variable when solving an ordinary differential equation

When solving a fixed-constant linear ordinary differential equation where the part of the homogeneous solution is same form as part of a possible particular solution, why do we get the next independent solution in the form of x^n* possible form of part of particular solution?  Show this through an example.

See the pdf file

______________________

This post is brought to you by

Largest number that can be stored in a floating word of 7 bits

QUESTION: What is the largest base-10 positive number that can be stored using 7 bits, where the 1st bit is used for the sign of the number; the 2nd bit for sign of the exponent; 3 bits for mantissa, and the rest of the bits for the exponent?

ANSWER: Remember the base is 2.
1st bit will need to be zero as the number is positive.

2nd bit will need to be zero as that will make the exponent positive as 2^positive. number will give higher number than 2^negative number.

The mantissa bits will need to be 111 as you are looking for largest number and that will give the number to be 1.111 (the 1 before radix point is automatic) in base of 2 or 1*2^0+1*2^(-1)+1*2^(-2)+1*2^(-3)=1.875 in base of 10.

Now the exponent: it uses 2 bits. This will need to be 11 in base 2 and that is 3 in base 10. So the exponent part is 2^(+3)=8.

Largest number is +1.875*8=15

Now think what will give you the smallest positive number.

_______________________________________________

This post is brought to you by

A Floating Point Question Revisited

QUESTION: A machine stores floating point numbers in 7-bit word. The first bit is stored for the sign of the number, the next three for the biased exponent and the next three for the magnitude of the mantissa. You are asked to represent 33.35 in the above word. The error you will get in this case would be
(A) underflow
(B) overflow
(C) NaN
(D) No error will be registered

The solution to problem is given here.

However a student asked me a follow up question, and here is the answer.

QUESTION: I was doing the multiple choice question and I am having trouble understanding it. I looked at the solution but I am having trouble still. I began by turning 33.35 into binary and i get 100001.01011. I just am having trouble putting it into the format. The max exponent value is 4 in this case but in the solutions it says you need 5. Maybe I do not understand what underflow and over flow is exactly.

ANSWER: The solution is given as you have pointed out.

The binary number in fixed format needs to be converted to floating point format. That would be 100001.01011=1.0000101011*2^5 as you move the radix point by 5 places to the left.  We move that 5 places as it gives us only one non-zero digit now to the left of the radix point.  This is no different from the procedure you use for converting a decimal format to scientific format for base-10 numbers.

Now all floating point formats have an upper limit of number it can represent.  Since the biased exponent has 3 bits, the biased exponent that can be represented is from 0 to 7, which means the unbiased exponent that can be represented is from -3 to 4 (biasing by +3, and unbiasing by -3).  But since we need to represent an unbiased exponent of 5, it cannot be done.  The maximum unbiased exponent that can be represented is 4.  So the number is larger than the one that can be represented.  If you put 32 ounces of water in a 24-ounce cup, we say that the water overflowed.  In this case, the number will overflow as it is more than it can handle.

You can see this in a different way as follows (looking at a solution a different way; that always helps the brain and your long-term memory).

The maximum number you can represent in binary for the given 7-bit word is 0111111 and that translates to (1.111)2*2^(111)2 which in base 10 is equivalent to (1.875)*2^(7-3)=30 (the 3 is used for unbiasing the exponent).  Hence, 33.35 would overflow, just like when you put  32 ounces of water in a 24-ounce cup.

_____________________________________________________

This post is brought to you by

Patriots football deflation given as a lesson learned and as an exercise in Numerical Methods

Deflate Gate is a great lesson in not jumping to conclusions.  Physicist Neil deGrasse Tyson did not change gauge pressure to absolute pressure; Bill Nye, a mechanical engineer, who calls himself the science guy, did not give convincing arguments; others did not change temperature to absolute temperature; other variables like water vapor pressure, and temperature of compressed air (compressed air is hot) to inflate balls, and time interval between when balls were inflated to when balls were taken to field were not accounted for.

Deflated Football
Deflated Football (Courtesy: http://bostinno.streetwise.co/2015/01/23/nfl-deflate-gate-statement-full-text-of-nfls-statement-on-deflategate-investigation/)

Two exercises were given to students: http://nm.MathForCollege.com/experiments/deflategate.pdf

___________________

This post is brought to you by