COMS21202 - Symbols, Patterns and Signals

Unit Information

This unit seeks to acquaint you with the fundamental aspects of processing digital data, presented in the context of concrete examples from applications in computer vision, graphics, speech, audio, machine learning and data mining. Particular emphasis is placed on the importance of representation and modelling.


Rui Ponte Costa (RPC)office 3.26 MVB.
Laurence Aitchison (LA) office 3.16 MVB. Unit Director
Majid Mirmehdi (MM) office 3.11 MVB

Teaching Assistants

Hazel Doughty, Will Price, Zeynel Samak, Daniel Davies, Xinyu Yang, Zhaozhen Xu, Daniel Gosden, Jonathan Munro, Vangelis Kazakos, Jian Ma

Unit Materials

Weeks Monday Lecture Wednesday Lecture Labs Thursday Lecture Assessments
13 Data, Data Modelling and Estimation (I) Data, Data Modelling and Estimation (II) Intro to Jupiter Notebook I Problem Class - Data Acquisition
14 Data Modelling and Estimation (III) Problem Class - Deterministic Data Modelling
Intro to Jupiter Notebook II Data Modelling and Estimation (IV) -
15 Data Modelling and Estimation (V) Problem Class - Probabilistic Data Modelling
Least Squares Review part I
CW1 (set)
16 Regression Overfitting and regularisation Maximum Likelihood Classification -
17 Unsupervised learning Problem Class 1 Fitting Clustering -
18 Computer Science Explore Week -
19 Bayesian methods Problem Class 2 Classification Review part II -
20 Representations, Transformations & Features (RTF): Intro/Overview

See 1st video at bottom of this page.

RTF: Fourier Analysis (I)

See 2nd and 3rd videos.

- Term ended early. -
Easter Break
21 RTF: Fourier Analysis (II)

See 4th and part of 5th videos.

FFT2 in Python

Problem Class I

Answers Also see 2nd part of 5th video.

- RTF: Feature Extraction

See 6th and 7th videos, ignore the part on a 2nd CW.

CW1 (deadline)

Extended to May 22nd

22 RTF: Dimensionality Reduction

See 8th video

PCA example: Matlab Python

Problem Class II


- - -
23 Review part I (Rui) Review part II (Laurence) - Review Part III (Majid) -
24 Review week

Assessment Details

The unit is assessed 40% coursework and 60% exam:

  1. Link to CW1
  2. CW1 [Wk15-21] - Code + report 40%
  3. Exam - 60% [Multiple Choice]

Lab Work

Installation Instructions:

Jupiter Notebook - For all COMS21202 needs you are encouraged to install Anaconda (Python 3.7) as it bundles all the course's requirements. Alternatively for manual installation, you will require Python 3.7.x with 'Jupyter' and 'iPython' both possibly in version 4.x.x as well as the following packages: 'Pillow', 'scikit-image', 'matplotlib', 'numpy', 'scipy', 'scikit', 'pygments' and 'scikit-learn'

In the lab Linux machines, you should be able to just run Jupyter Notebook with this command
$ /opt/anaconda3-4.4.0/bin/jupyter notebook

Programming in a Browser
If you feel as akward as me about the idea about coding in a webbrowser you can use Emacs to render Jupiter notebooks. This way you get the finest of editing while at the same time having the benefit of Jupiter. Have a look at this repository on how to make it work URL. Here is a video showing how it can be done URL.


All technical resources will be posted on the COMS21202 Github organisation. If you find any issues, please kindly raise an issue in the respective repository.