If you use Google Suite with a school email address, your school IT department need to **whitelist** Teachometer first.
This will allow their staff to install it. Send this link to your school's IT department: https://support.google.com/a/answer/6089179

Alternately, you could install Teachometer from an **individual** Google account without any problems.

To delete a lesson, delete the marksheet that corresponds to that lesson. The marksheet stores all of the information - student names, question content, settings etc.- so nothing else is needed.

Name of function and parameters | What it does | Example |

if(condition,returnIfTrue,returnIfFalse) | returns a different value depending on the condition | if("3>0","positive","negative") => "positive" |

exponent(n) | return the exponent part of the number expressed as standard form | exponent(2500) => 3 (since 2500 can be written 2.5e3) |

mantissa(n) | return the mantissa part of the number expressed as standard form | exponent(2500) => 2.5 (since 2500 can be written 2.5e3) |

includes(array,element) | Returns true if the array contains the element | includes(["a","b"],"c") => False |

maxlength(str,length) | Trim the length of an input string | maxlength("hello",3) => "hel" |

padleftzeroes(str,length) | Adds zeroes to the left side of a string to reach desired length | padleftzeroes("hello",7) => "00hello" |

padrightzeroes(str,length) | Adds zeroes to the right side of a string to reach desired length | padrightzeroes("hello",7) => "hello00" |

getdigits(n,index) | Returns the digit of number n at the given index | getdigit(95784,2) => 5 |

dayname(year,month,date) | Returns the day at the date given | dayname(2020,15,3) => "Sunday" |

dayofyear(year,month,date) | Returns the number of days into the year at the given date | dayofyear(2020,2,1) => 32 |

abs(n) | Returns the absolute value of a number | abs(-5) => 5 |

mean(n1,n2,n3...) | Returns the mean of the given numbers | mean(1,10,4) => 5 |

median(n1,n2,n3...) | Returns the mean of the given numbers | median(1,10,4) => 4 |

lowerquartile(n1,n2,n3...) | Returns the 25th percentile of the given numbers | lowerquartile(1,3,2,4) => 1.5 |

upperquartile(n1,n2,n3...) | Returns the 75th percentile of the given numbers | upperquartile(1,3,2,4) => 3.5 |

mode(n1,n2,n3...) | Returns the mode of the given numbers | mode(1,2,3,4,4) => 4 |

max(n1,n2,n3...) | Returns the maximum of the given numbers | max(1,6,5,3) => 6 |

min(n1,n2,n3...) | Returns the minimum of the given numbers | min(1,6,5,3) => 1 |

hcf(n1,n2,n3...) | Returns the highest common factor of the given numbers | hcf(10,45,15) => 5 |

coprime(n) | Returns a randomly chosen number that is less than and also coprime to n | coprime(8) => 3 (could also be 1,5,7) |

roundtodp(n,p) | Returns the number rounded to p decimal places | roundtodp(3.567,2) => 3.57 |

roundtosf(n,p) | Returns the number rounded to p significant figures | roundtosf(3.567,2) => 3.6 |

factorial(n) | Returns n factorial | factorial(3) => 6 |

tostandardform(n) | Returns the number in standard form | tostandardform(2500) => "2.5 x 10^{3}" |

includesign(n) | Returns the number with sign included whether positive or negative | includesign(5) => "+5" |

includeoppsign(n) | Returns the number with the opposite sign included whether positive or negative | includesign(5) => "-5" |

sind(a) | Returns the sine function of the angle in degrees | sind(270) => -1 |

cosd(a) | Returns the cosine function of the angle in degrees | cosd(270) => 0 |

tand(a) | Returns the tan function of the angle in degrees | tand(270) => 0 |

asind(n) | Returns the inverse sine function of the number within the range -90 to 90 degrees | asind(-1) => -90 |

acosd(n) | Returns the inverse cosine function of the number within the range 0 to 180 degrees | acosd(-1) => 180 |

atand(n) - one parameter specified | Returns the inverse tan function of the number within the range -90 to 90 degrees | atand(-1) => -45 |

atand(x,y) - two parameters specified | Returns the bearing to the point (x,y) within the range 0 to 360 degrees | atand(-1,1) => 315 |

choose(i,n1,n2,n3...) | Returns the ith value from the numbers n1,n2,n3 etc. | choose(2,"a","b","c") => "b" |

countif(target,n1,n2,n3...) | Returns the number of values with n1,n2,n3 that match the target | countif("b","a","c","b","b") => 2 |

large(i,n1,n2,n3...) | Returns the ith largest value within n1,n2 etc. | large(2,10,30,20,40) => 30 |

normalcdf(n) | Returns the normal distribution's cumulative probability function from 0 to 1 | normalcdf(-1) => 0.158 |

binomial(x,N,p) | Returns the binomial probability function with x successes from a total N attempts with probability of success p | binomial(3,10,0.1) => 0.05739563 |

binomialcdf(x,N,p) | Returns the binomial probability function of x or fewer successes from a total N attempts with probability of success p | binomialcdf(3,10,0.1) => 0.9872048 |

sgn(n) | Returns -1 if n is less than zero otherwise +1 | sgn(9) => 1 |

lcm(n1,n2,n3..) | Returns the lowest common denominator of the numbers n1,n2,n3 etc. | lcm(3,5,6) => 30 |

compareobjects | Deep comparison of arrays and other objects | compareobjects(["a"],["a"]) => true |

code(functionName) | parses text from the associated textbox and declares a function written in javascript with the given name and makes this function available for calls within the same question | code("addOne") => a function with name "addOne" is parsed from the associated textbox and can then be used to evaluate further scripts |

variable(variableName) | parses text from the associated textbox, evaluates it and declares a variable with the given name | variable("A") => a variable with name "A" is declared and the value taken from the associated textbox for evaluation in further scripts |