University of Surrey - Guildford

Registry > Module Catalogue
View Module List by A.O.U. and Level  Alphabetical Module Code List  Alphabetical Module Title List  Alphabetical Old Short Name List  View Menu 
2010/1 Module Catalogue
Module Provider: Computing Short Name: COMM031
Level: M Module Co-ordinator: TANG HL Dr (Computing)
Number of credits: 15 Number of ECTS credits: 7.5
Module Availability
Semester 2
Assessment Pattern

Unit(s) of Assessment

Weighting Towards Module Mark( %

Development of new applications/functions based on the algorithms discussed in module

  • In-depth understanding of all the elements covered in the module
  • Demonstrate developed applications or explain designed prototype

2 hour closed book unseen examination


Qualifying Condition(s) 

A weighted aggregate mark of 50% is required to pass the module.

Module Overview

Nowadays, people are using the Internet for making purchases, doing research, seeking out entertainment, and building their own web sites. All of this behaviour can be monitored and used to derive information without ever having to interrupt the user’s intentions by asking him questions. Collective Knowledge or Intelligence is generated in a process that includes analysis and integration of multiple data sources. However, integration of massive or multiple data sources becomes Collective Intelligence only when new levels of understanding of such knowledge emerge, when "wisdom of the masses" creates new values.

Collective Intelligence is an emerging field for the combining of behaviour, preferences, or ideas of a group of people to create novel insights. It is about collecting answers from a large group of people to draw statistical conclusions about the group that no individual member would have known by themselves, ie, building new conclusions from independent contributors. The module will introduce students to the concepts, algorithms and techniques for setting up collective intelligence methods. It covers ways to extract meaning from data through various comprehensive collections of computational methods with practical examples for relating the vast amounts of data on the Internet.
It is important that students have done enough coding to be familiar with the basic programming concepts used in this module. Prior attendance of either “Agile Web Development” or “Enterprise Systems Development” would be an advantage.
Module Aims

The module aims to show students various ways to collect data through open APIs. It will cover a variety of machine-learning algorithms and statistical methods and demonstrate how their combination will allow setting up collective intelligence methods on data from your own allocations and also to collect and experiment with data from other places.

Learning Outcomes

By the end of the module students are expected to be able to:

  1. Understand various machine-learning algorithms and statistical methods for processing and interpreting the data from the Internet.
  2. Demonstrate adequate skills in developing applications and implementing functions using the algorithms discussed in the module.
  3. Critically evaluate existing collective intelligence methods within the context of current trends.
Module Content

Introduction to Collective Intelligence

Making Recommendations

Discovering Groups

o Supervised versus Unsupervised Learning

o Word Vectors

o Hierarchical Clustering

o K-means Clustering

Searching and Ranking


o Simulated Annealing

o Genetic Algorithms

o Network Visualization

Document Filtering

o Filtering Spam

o Classifiers

o Calculating Probabilities

Modelling with Decision Trees

Building Price Models

o K-Nearest Neighbours

o Heterogeneous Variables

o Optimizing the Scale

Advanced Classification: Kernel Methods and SVMs

Finding Independent Features

Evolving Intelligence

o Genetic Programming

Algorithms covered

o Bayesian Classifier

o Decision Tree Classifier

o Neural Networks

o Support-Vector Machines

o K-Nearest Neighbours

o Clustering

o Multidimensional Scaling

o Non-Negative Matrix Factorization

Methods of Teaching/Learning
The module will develop an understanding through:
  • Lectures
  • tutorials
  • In-class discussion

The module will develop practical skills through:

  • Lab sessions
  • Coursework
All activities will be co-ordinated via the module webpage on the Ulearn.
Selected Texts/Journals
·         Programming Collective Intelligence, Toby Segaran, O’Reilly Media Inc., 2007, ISBN-13: 978-0-596-52932-1
Last Updated
September 2010