The mathematics behind learning algorithms connects representation, inference and optimization. This course gathers those foundations into a common language for studying artificial intelligence.
The department’s CS303 syllabus is organized around five strands:
Foundations: numerical representation, linear algebra, single-variable calculus and probability.
Differentiation and inference: gradients, Jacobians and Hessians; automatic differentiation; multivariate probability and parameter estimation.
Optimization: unconstrained and constrained methods, including gradient descent, Newton-type methods, Lagrange multipliers, duality and linear or quadratic programs.
Information: entropy, divergence, communication and compression.
Sequential models: Markov chains and estimation from sequences.
The catalogue lists CS303 as a full-semester, four-credit course with a 3–1–0 lecture–tutorial–practical structure. This describes the department’s course framework; dated editions retain their own teaching context.