Course Description
In this unit, learners will become familiar with key subjects in mathematics that are of use in the field of computer science. The unit begins with an introduction to binary numbers, which form the basis of the representation of information in computers. Learners will then be taught key principles in the fields of Boolean propositional logic and set theory, including Boolean operators, and will be given an introduction to proof techniques in mathematics. Number theory, linear algebra, and sequences and series are also covered, to equip learners with a mathematical toolset that will enable them to reason about problems in computing.
Course Objectives
In this unit, learners will become familiar with key subjects in mathematics that are of use in the field of computer science. The unit begins with an introduction to binary numbers, which form the basis of the representation of information in computers. Learners will then be taught key principles in the fields of Boolean propositional logic and set theory, including Boolean operators, and will be given an introduction to proof techniques in mathematics. Number theory, linear algebra, and sequences and series are also covered, to equip learners with a mathematical toolset that will enable them to reason about problems in computing.
Key Topics
- LO1: Understand binary and the representation of numbers in different bases.
- LO2: Understand the principles of propositional logic, set theory, and proof as applicable to computer science.
- LO3: Understand key topics in number theory and their application in computer science.
- LO4: Understand series and sequences and their importance in computer science.
- LO5: Understand key topics in linear algebra.
Course Outline
| Week | Topics |
|---|
| 1 | Number bases: binary, denary and hexadecimal, and converting between them |
| 2 | Binary in computer science: binary addition and overflow, two's complement and floating point |
| 3 | Propositional logic: Boolean operators and truth tables |
| 4 | Set theory: Venn diagrams, notation, union, intersection and complement |
| 5 | Proof techniques: induction and strong induction, contradiction, cases, counterexamples, pigeonhole principle |
| 6 | Finite fields and modular arithmetic: algebras, identities and inverses, GCD, LCM and Euclid's algorithm |
| 7 | Number-theoretic theorems (Fermat's little theorem, Euler's theorem), prime numbers and factorisation |
| Midterm | Midterm evaluation |
| 9 | Sequences and series: arithmetic, geometric and harmonic progressions |
| 10 | Vectors and matrices: matrix multiplication, inverses and solving linear systems |
| 11 | Matrix types and properties (trace, determinant), LU decomposition, eigen-decomposition, SVD and PCA for datasets |
| 12 | Applying Mathematics for Computer Science in practice: case studies |
| 13 | Assignment workshop: research, planning and referencing |
| 14 | Assignment workshop: drafting, feedback and improvement |
| 15 | Review and coursework completion |
| Final | Final assessment and submission |
Learning Outcomes
- LO1 Understand binary and the representation of numbers in different bases.
- 1.1 Describe what is meant by binary representation.
- 1.2 Explain how to change between bases.
- 1.3 Explain how numbers are represented in binary.
- 1.4 Evaluate the use of binary representation in the field of computer science.
- LO2 Understand the principles of propositional logic, set theory, and proof as applicable to computer science.
- 2.1 Describe a range of mathematical proof techniques.
- 2.2 Describe the possible algebraic operations in set theory.
- 2.3 Explain the key principles of (Boolean) propositional logic.
- 2.4 Use truth tables to detail the possible outcomes of binary logical operators.
- 2.5 Analyse the similarities between Boolean logical operators and Boolean algebra in set theory.
- 2.6 Evaluate mathematical proof techniques and the circumstances under which they may be appropriate.
- LO3 Understand key topics in number theory and their application in computer science.
- 3.1 Describe the key principles of modular arithmetic and finite fields.
- 3.2 Explain a range of key number theoretic theorems and proofs.
- 3.3 Analyse the differences between ordinary and modular arithmetic.
- 3.4 Evaluate the use of modular arithmetic and prime numbers in security applications such as cryptography and hashing.
- LO4 Understand series and sequences and their importance in computer science.
- 4.1 Describe what is meant by a sequence and a series.
- 4.2 Explain the difference between arithmetic and geometric series and sequences.
- 4.3 Use appropriate notation to represent sequences.
- LO5 Understand key topics in linear algebra.
- 5.1 Describe what is meant by vectors and matrices.
- 5.2 Use row-reduction to convert a matrix to echelon form.
- 5.3 Solve linear systems of equations using matrices.
- 5.4 Analyse the significance of the determinant of a matrix.
- 5.5 Use a range of techniques to decompose matrices and evaluate their usefulness.