UNIT 23: mathematics for software development



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 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


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 well-planned coursework, assignments and projects.







Resources

Books

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

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