Unit 23 Mathematics for Software Development
· Aim
To provide learners with an understanding of the underlying mathematical concepts that support the diverse fields supported by software engineers.
· Unit abstract
This unit 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.
· Learning outcomes
On successful completion of this unit a learner will:
- Understand core mathematical skills for software engineers
- Understand the application of algebraic concepts
- Be able to apply the fundamentals of formal methods
- Be able to apply statistical techniques to analyse data.
Unit content
1 Understand core mathematical skills for software engineers
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
2 Understand the application of algebraic concepts
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
3 Be able to apply the fundamentals of formal methods
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
4 Be able to apply statistical techniques to analyse data
Techniques: frequency distribution, mean, median, variance, deviation,
correlation probability, factorial notation, permutations and combinations,
laws of probability, conditional probability, Bayesian Networks
Learning outcomes and assessment criteria
Learning outcomes On successful completion of this unit a learner will: | Assessment criteria for pass The learner can: |
LO1 Understand core mathematical skills for software engineers | design a programming solution to a given algebraic problemdesign a programming solution to a given geometric problemimplement code that presents a range of vectors |
LO2 Understand the application of algebraic concepts | explain how relations link to technologies used in programmingdesign a programming solution to solve a given matrix manipulation |
LO3 Be able to apply the fundamentals of formal methods | discuss the application of set theory in computingdesign a programming solution to a given propositional calculus problem |
LO4 Be able to apply statistical techniques to analyse data | 4.1 design a programming solution to solve a given statistical analysis technique. |
Guidance
Links to National Occupational Standards, other BTEC units, other BTEC qualifications and other relevant units and qualifications
The learning outcomes associated with this unit are closely linked with:
Level 3 | Level 4 | Level 5 |
Unit 6: Software Design and Development | Unit 18: Procedural Programming | Unit 35: Web Applications Development |
Unit 14: Event Driven Programming | Unit 19: Object Oriented Programming | Unit 39: Computer Games Design Development |
Unit 15: Object Oriented Programming | Unit 20: Event Driven Programming Solutions | Unit 40: Distributed Software Applications |
Unit 16: Procedural Programming | Unit 21: Software Applications Testing | Unit 41: Programming in Java |
Unit 26: Mathematics for IT Practitioners | Unit 22: Office Solutions Development | Unit 42: Programming in .NET |
This unit has links to the Level 4 and Level 5 National Occupational Standards for IT and Telecoms Professionals, particularly the areas of competence of:
- Software Development.