##### Andes

Thank you so much

To provide learners with an understanding of the underlying mathematical concepts that support the diverse fields supported by software engineers.

This Unit 23 Mathematics for Software Development is an introduction to some of the mathematical concepts and techniques that will be required by software engineers. To develop the mathematical skills necessary for software engineering learners must gain a range of mathematical skills, which are often applied in the creation of coded solutions to everyday problems. The unit will allow the learner to appreciate and prepare for the more advanced concepts of mathematics required in relation to software engineering. Learners taking this unit will explore areas of mathematics that are used to support programming. It will cover conditional statements, graphics and gaming (geometry and vectors), relationships in databases, the calling of methods (or procedures), matrices in the handling of arrays, large datasets and mapping, statistics, calculus and set theory.

**Algebra:**basic notation and rules of algebra; multiplication and factorisation of algebraic expressions involving brackets, algebraic equations and simultaneous linear equations, quadratic equations involving real roots**Geometry:**types and properties of triangles, Pythagoras’ Theorem, geometric properties of a circle; trigonometry: eg sine, cosine and tangent functions, angular measure**Vectors:**representation of a vector by a straight line, equal and parallel vectors, magnitude of a vector, vector addition and subtraction, scalar multiplication, linear transformations, rotations, reflections, translations, inverse transformations, axioms of a vector space

**Relations:**domain, range, Cartesian product, universal relation, empty relation, inverse relation, reflexive, symmetric and transitive properties, equivalence relations**Matrices:**addition and subtraction, scalar multiplication, matrix multiplication, properties of addition and multiplication of matrices, transpose of a matrix, determinant, identify matrix, inverse of a matrix, condition for a matrix to be singular, solution of simultaneous linear equations**Application in programming:**use of variables and operators, using mathematics based commands, arrays, conditional statements, pseudo code, demonstration code.

**Sets:**definitions of set and element, representation of sets using Venn diagrams, universal and empty sets, finite and infinite sets, N, Z and R, operations on sets, subsets, notation, predicates; laws of set theory; idempotent, associative, commutative, distributive, identity, involution, complement, De Morgan’s laws**Propositional calculus:**simple and compound propositions, conjunction, disjunction, negation, implication and bi-implication, truth tables, validity, principle of mathematical induction, logical argument and deductive proof**Boolean laws of propositional calculus:**idempotent, associative, commutative, distributive, identity, involution, complement, De Morgan’s Laws

**Techniques:**frequency distribution, mean, median, variance, deviation, correlation probability, factorial notation, permutations and combinations, laws of probability, conditional probability, Bayesian Networks.

Press W et al – Numerical Recipes 3rd Edition: The Art of Scientific Computing (Cambridge University Press, 2007) ISBN-10: 0521880688

Press W et al – Numerical Recipes Source Code CD-ROM 3rd Edition: The Art of Scientific Computing (Cambridge University Press, 2007) ISBN-10: 0521706858

Golub G, Van Loan C – Matrix Computations (Johns Hopkins Studies in the Mathematical Sciences) (John Hopkins University Press, 1996) ISBN-10: 0801854148

Haggarty R – Discrete Mathematics for Computing (Addison Wesley, 2001) ISBN-10: 0201730472 Schwartz JT et al – Set Theory for Computing: From Decision Procedures to Declarative

Programming with Sets (Monographs in Computer Science) (Springer 2001) ISBN-10: 0387951970 Rothenberg R – Basic Computing for Calculus (McGraw Hill, 1985) ISBN-10: 007054011X

www.mathsandcomputing.com/