CS259 - Quantitative Methods in Computer Science
TIMETABLE | TEACHING MATERIAL |
Credits | 10 |
Level | 2 |
Semester | Semester 1 |
Availability | Core: BSc Hons Computer Science & BSc Hons Software Engineering |
Prerequisites | None |
Learning Activities Breakdown | Lectures: 20 at 1 hour each (total 20 hours) Practical / Lab: 10 @ 2 hours each (total 20 hours) Homework / Private Study: 60 hours Total hours activity: 100 hours |
Assessment | 100% Coursework: assessments on each of the learning objectives with approximate dates of Weeks 4, 6, 8 and 10. |
Lecturer | Dmitri Roussinov |
Aims and Objectives
The class will teach the quantitative and numerical methods needed through practical examples. Teaching these methods through practical examples will both show the relevance of the methods being taught and strengthen the programming skills of the students in this important area.
To teach the quantitative and numerical methods that underpin modern Computer Science, such as (but not restricted to) Artificial Intelligence and Data Analytics. The class will also provide students with the numerical methods needed to perform quantitative evaluations of algorithms and software.
L Obj 1 : to understand and use linear algebra techniques as used in modern AI and data analytics: scalars, vectors, matrices, tensors
L Obj 2 : to understand multivariate calculus techniques as used in modern AI and data analytics: derivatives, gradients, integrals, convex optimisation
L Obj 3 : to understand and apply probability theory as used in modern AI and data analytics: randomness, probability distributions, variance and expectation, expected value
L Obj 4 : understand and apply statistical techniques as used modern AI, data analytics and quantitative evaluation of software and algorithms: basic data analysis, significance tests, basic Bayesian statistics
Learning Outcomes
L Out 1 : ability to apply basic data analysis to a range of problems in Computer Science and Software Engineering.
L Out 2:
L Out 3:
L Out 4:
Syllabus
1. Linear algebra notation is used in Machine Learning to describe the parameters and structure of different machine learning algorithms. This makes linear algebra a necessity to understand how neural networks are put together and how they are operating. This part of the course will cover:
- Scalars, Vectors, Matrices, Tensors
- Matrix Norms
- Special Matrices and Vectors
- Eigenvalues and Eigenvectors
2. Multivariate calculus is used to supplement the learning part of machine learning. It is what is used to learn from examples, update the parameters of different models and improve the performance. This part of the course will cover:
- Derivatives
- Integrals
- Gradients
- Differential Operators
- Convex Optimization
3. Probability: probability used to make assumptions about the underlying data when we are designing these deep learning or AI algorithms. It is important for us to understand the key probability distributions, and we will cover it in depth in this course. This part of the course will cover:
- Elements of Probability
- Random Variables
- Distributions
- Variance and Expectation
- Special Random Variables
4. Statistics: statistical methods are used in AI to analyse data and quantify the performance of agents.
Statistical concepts: mean, standard deviation, variance, confidence intervals.
Statistical methods for data analytics
Use of statistics in performance measurement
Introduction to Bayesian methods
Recommended Reading
This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.
Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach. 3rd edition, Pearson, 2010. See Appendix on Mathematical Background. This is a core text and is available in the University Library.
Last updated: 2024-01-26 00:22:45