Clear[fadd,fsub,fmul,fdiv]
fadd[n_]:=Table[With[{nums=RandomInteger[{1,20},4]},
QuestionObject[StringTemplate["Calculate: ((`1`)/(`2`)) + ((`3`)/(`4`)) ="]@@nums,AssessmentFunction[(nums[[1]]/nums[[2]])+(nums[[3]]/nums[[4]])]]],n]
fsub[n_]:=Table[With[{nums=RandomInteger[{1,20},4]},
QuestionObject[StringTemplate["Calculate: ((`1`)/(`2`)) - ((`3`)/(`4`)) ="]@@nums,AssessmentFunction[(nums[[1]]/nums[[2]])-(nums[[3]]/nums[[4]])]]],n]
fmul[n_]:=Table[With[{nums=RandomInteger[{1,20},4]},
QuestionObject[StringTemplate["Calculate: ((`1`)/(`2`)) × ((`3`)/(`4`)) ="]@@nums,AssessmentFunction[(nums[[1]]/nums[[2]])(nums[[3]]/nums[[4]])]]],n]
fdiv[n_]:=Table[With[{nums=RandomInteger[{1,20},4]},
QuestionObject[StringTemplate["Calculate: ((`1`)/(`2`)) ÷ ((`3`)/(`4`)) ="]@@nums,AssessmentFunction[(nums[[1]]/nums[[2]])/(nums[[3]]/nums[[4]])]]],n]
reviewFractions[n_]:=Print@Grid[{fadd[n],fsub[n],fmul[n],fdiv[n]}]

Fraction Review

"INSTRUCTIONS:
Evaluate this cell to review fractions";
reviewFractions[3]

Mathematica Review

Basic Review

"Instructions:
Evaluate this cell to produce a basic Mathematica review.";
Print@Column@

Differentiation Review

Clear[x,deriv`chain]
deriv`cubic[n_]:=Table[With[{poly=Expand[FromDigits[RandomInteger[{1,20},4],x]]},
QuestionObject[StringForm["Find f'[x] when f=x|->``",poly],AssessmentFunction[D[poly,x]]]],n]
deriv`funcs[n_]:=With[{nums=RandomInteger[{1,20},n],funcs=RandomSample[{Exp,Log,Sin,Cos,x|->x^2,x|->x^3,x|->1/x},UpTo[n]]},
With[{fxs=nums*Comap[funcs,x]},
Table[QuestionObject[StringForm["Find f'[x] when f=x|->``",fx],AssessmentFunction[D[fx,x]]],{fx,fxs}]
]]
deriv`chain[n_]:=With[{nums=RandomInteger[{1,20},n],funcs=RandomSample[{Exp,Log,Sin,Cos,x|->x^2,x|->x^3,x|->1/x},n+1]},
With[{fpairs=Partition[funcs,2,1]},
Table[QuestionObject[StringForm["Find (f∘g)'[x] when f=x|->`` and g=x|->``",fg[[1]][x],fg[[2]][x]],
AssessmentFunction[D[Composition[First@fg,Last@fg][x],x]]],{fg,fpairs}]
]]
deriv`quiz[n_]:=Join[deriv`cubic[n],deriv`funcs[n],deriv`chain[n]]

"Instructions:
Evaluate this cell to produce a basic differentiation review.";
Print@Column@deriv`quiz[3]