Syllabuses - UG

CS259 - Quantitative Methods in Computer Science

TIMETABLETEACHING MATERIAL
Credits10
Level2
SemesterSemester 1
AvailabilityCore: BSc Hons Computer Science & BSc Hons Software Engineering
PrerequisitesNone
Learning Activities BreakdownLectures: 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

Assessment100% Coursework: assessments on each of the learning objectives with approximate dates of Weeks 4, 6, 8 and 10.
LecturerDmitri 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