Sophisticated mathematics and numerical programming underlie many computer applications, including weather forecasting, computer security, video games, and computer aided design. This unit of study provides a strong foundational introduction to modern interactive programming, computational algorithms, and numerical analysis. Topics covered include: (I) basics ingredients of programming languages such as syntax, data structures, control structures, memory management and visualisation; (II) basic algorithmic concepts including binary and decimal representations, iteration, linear operations, sources of error, divide-and-concur, algorithmic complexity; and (III) basic numerical schemes for rootfinding, integration/differentiation, differential equations, fast Fourier transforms, Monte Carlo methods, data fitting, discrete and continuous optimisation. You will also learn about the philosophical underpinning of computational mathematics including the emergence of complex behaviour from simple rules, undecidability, modelling the physical world, and the joys of experimental mathematics. When you complete this unit you will have a clear and comprehensive understanding of the building blocks of modern computational methods and the ability to start combining them together in different ways. Mathematics and computing are like cooking. Fundamentally, all you have is sugar, fat, salt, heat, stirring, chopping. But becoming a good chef requires knowing just how to put things together in creative ways that work. In previous study, you should have learned to cook. Now you're going to learn how to make something someone else might want to pay for more than one time.
Three 1 hour lectures and one 1 hour laboratory per week.
Quiz (15%), Assignment (15%), Assignment (15%), Final Exam (55%)
(MATH2X21 and MATH2X22) or (MATH2X61 and MATH2X65)
(A mark of 65 or greater in 12cp of MATH2XXX units of study) or [12cp from (MATH3061 or MATH3066 or MATH3063 or MATH3078 or MATH3961 or MATH3962 or MATH3963 or MATH3969 or MATH3971 or MATH3974 or MATH3977 or MATH3978 or MATH3979)]