Course Overview & Introduction
Outlines assessment structure (Assignments 5%, Practicals 10%, CATs 15%, Examination 70%) and core topics: Linear Programming, Confidence Intervals, PCA, Quality Control, and Life Tables using R
Canonical syllabus units, structured theorems, lecture notes, and past examination problems.
Outlines assessment structure (Assignments 5%, Practicals 10%, CATs 15%, Examination 70%) and core topics: Linear Programming, Confidence Intervals, PCA, Quality Control, and Life Tables using R
Constructing 2D arrays with `matrix()`, setting dimensions (`nrow`, `ncol`, `byrow`), assigning names via `rownames()` / `colnames()`, and subsetting rows and columns. Element-wise addition and multiplication (`*`), matrix cross-product (`%*%`), dimensions check (`dim()`), row/column sums (`rowSums`, `colSums`), and transposing with `t()`. Matrix inversion with `solve()`, computing determinants (`det()`), constructing diagonal and identity matrices via `diag()`, and finding eigenvalues/eigenvectors using `eigen()`. Calculating Kronecker / direct products of matrices of arbitrary compatible dimensions using `kronecker()`
Branching code logic using `if`, `else if`, `else`, and vectorized conditionals via `ifelse()`. Iterating over numeric sequences, indexing through matrix rows/columns, batch plotting with `par(mfrow)`, and nested `for` loops. Controlling iteration flow with `break` (terminating the loop) and `next` (skipping to the next iteration). Executing conditional while loops (`while`) and unconditional infinite loops (`repeat`) with conditional break checks
Writing custom functions with `function()`, handling arguments, return statements (`return()`), and packaging outputs as scalars, vectors, or `list` structures
Understanding matrix forms $Ax = b$ and $x = A^{-1}b$, consistency, intersection geometry (unique, infinite, no solution). Solving linear systems in two and three unknowns using `Solve()`, visualizing with `plotEqn()`, displaying equations with `showEqn()`, and reducing to Echelon forms with `echelon()`
Defining symbolic expressions with `expression()` and computing first/second derivatives using `D()`. Finding anti-derivatives using `antiD()` (`mosaicCalc`) and calculating definite integrals over finite or infinite intervals using `integrate()`
Searching intervals for roots using `uniroot()`, finding all roots with `uniroot.all()`, polynomial roots using `polyroot()`, and solving nonlinear systems using `multiroot()` (`rootSolve`). First and second derivative tests ($dy/dx = 0$, $d^2y/dx^2$), finding local maxima/minima, and numerical optimization using `optimize()`
Overview of the standard R prefixes: `r` (random generation), `d` (density/pmf), `p` (cumulative distribution), and `q` (quantiles). Simulating, plotting densities, and evaluating Uniform (`runif`), Normal (`rnorm`), Exponential (`rexp`), Student’s $t$ (`rt`), and Chi-square (`rchisq`) distributions. Simulating binary and event counts using the Binomial (`rbinom`) and Poisson (`rpois`) distributions
Formulating null ($H_0$) and alternative ($H_a$) hypotheses, calculating test statistics, interpreting $p$-values against significance level $\alpha$. Implementing Student’s $t$-test for comparing two sample means under normality assumptions