UNIT 23: MATHEMATICS FOR SOFTWARE
DEVELOPMENT
Unit
code: D/601/0466
QCF
Level 4: BTEC Higher National
Credit value:15
• 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:
1 Understand core mathematical skills for software engineers
2 Understand the application of algebraic concepts
3 Be
able to apply the fundamentals of formal methods
4 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 biimplication, 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


1.1 design a programming solution to a given algebraic
problem
1.2 design a programming solution to a given geometric problem
1.3
implement code that presents a range of vectors





LO2
Understand the application of
algebraic concepts


2.1 explain how relations link to technologies used in
programming
2.2 design a programming solution to solve a given matrix manipulation




LO3
Be able to apply the
fundamentals of formal methods

3.1
discuss the application of set theory in computing
3.2 design 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.
Essential
requirements
The programming environment(s) selected must be based on systems already used by the learners so that they are familiar with the systems and commands used.
Learners must have access to facilities, which allow them the opportunity to fully evidence all of the criteria of the unit. If this cannot be guaranteed then centres should not attempt to deliver this unit.
It is important that learners understand the mathematical concept as well as its relationship to software development.
The centre delivering the unit must present suitable geometric, algebraic, matrix, calculus and statistics problems. Problems must support the learning outcomes. Some of these problems may be used as assessment in other programming units, where the problem presented to learners explores a more complex scenario, drawing on the relevant skills.
Evidence for learning outcomes must be
achieved through wellplanned coursework, assignments and projects.
Resources
Books
Press W et al – Numerical Recipes 3rd Edition: The Art of Scientific Computing (Cambridge University Press, 2007) ISBN10: 0521880688
Press W et al – Numerical Recipes Source Code CDROM 3rd Edition: The Art of Scientific
Computing (Cambridge University Press, 2007) ISBN10: 0521706858
Golub G, Van Loan C – Matrix Computations (Johns Hopkins Studies in the Mathematical Sciences) (John Hopkins University Press, 1996) ISBN10: 0801854148
Haggarty
R – Discrete
Mathematics for Computing (Addison Wesley, 2001) ISBN10: 0201730472
Schwartz JT et al – Set Theory for Computing: From Decision Procedures to Declarative
Programming with Sets (Monographs in Computer Science) (Springer 2001) ISBN10: 0387951970
Rothenberg R – Basic Computing for Calculus (McGraw Hill, 1985) ISBN10: 007054011X
Websites
www.mathsandcomputing.com/
Employer
engagement and vocational contexts
In supporting the outcomes from other units, this unit can be used to support the creation of a software application in a vocational context where part of the application may use one (or more) of the mathematical outputs from this unit.
Comments
Post a Comment