Computer Laboratory

Course material 2010–11

Topical Issues

Principal lecturer: Prof Andy Hopper
Additional lecturer: Dr Robert Harle
Taken by: Part II
Past exam questions
Information for supervisors (contact lecturer for access permission)

About the Course

This course is intended to expose Part II students to some more topical issues in Computer Science than can be covered elsewhere in the three year course. The lectures are given by a variety of lecturers from both academia and industry.

Note: This course has change name this year. It was previously known as Additional Topics.

For this year the lectures are 12:00-13:00 in Lecture Theatre 2 of the CL. Here is a provisional schedule as of 08/05/11:

Friday 29/04Robert Harle (CUCL)RFID
Monday 02/05Andy Hopper (CUCL)Computing for the Future of the Planet
Wednesday 04/05Andrew Fitzgibbon (Microsoft Research)Developing Kinect
Friday 06/09Robert Harle (CUCL)Location Tracking
Monday 09/05Robert Harle (CUCL)Location Fingerprinting
Wednesday 11/05Alan Jones (Cotares) The GPS System
Friday 13/05Peter Robinson (CUCL)Affective Computing
Monday 16/05Anuj Dawar (CUCL)Introduction to Quantum Computing
Wednesday 18/05Andy Harter (RealVNC)Novel Applications of VNC
Friday 20/05David Singleton (Google)Google Search by Voice: Building and deploying a spoken search engine
Monday 23/05Bogdan Roman (CUCL)From Wired to Wireless LANs
Wednesday 25/05Luke Tunmer (Qualcomm)Open Source Software in Business

Electronic copies of notes, links and other material will appear here as the lectures are completed.

Notes and Materials

Lecture 1: RFID

What you need to know: Types of RFID; Active vs Passive; Properties and applications for close-coupled, remote-coupled and long range RFID; Principles of back-scattering; Basics of EPC; Anti-collision protocols for LR tags; Technical, real-world issues with LR tags

Download the handout here and the annotated slides here


1A. Give two example applications for long range RFID tags. One application should be suitable for active LR tags, the other for passive. [4]

1B. The media regularly attack the security and privacy associated with RFID tags. And yet the banks are all turning to RFID-based contactless payment cards. Why do they not share the same security issues?

1C. Why are longer range passive RFID tags associated with higher frequencies of operation?

1D. Why have we yet to see automatic checkouts where we push our trolley through the doors and have everything charged correctly? (It is not because products don't have RFID tags at the moment - these could be added very quickly to products, if desired).

1E. Find out how probabilistic anti-collision schemes work. Suggest applications where they might be more suitable than deterministic schemes such as those given in the lecture

1F. Write out the rounds required to identify the following tags using a binary search: {11010, 01010, 00101, 11000}

1G. 2009 P7 Q1

Lecture 2: Computing for the Future of the Planet

What you need to know: Ways in which technology might help create a more sustainable future.

Download the handout here


2A. The lectures identified four ways in which computing might be applied to sustainability issues. Describe them.

2B. Discuss three technical and three political/social challenges to "googling space-time".

2C. Is the vision for ubiquitous computing (many devices, always on, interacting invisibly) fundamentally incompatible with a sustainable future? Illustrate your answer with examples.

Lecture 3: Inside Kinect

What you need to know: Ways in which technology might help create a more sustainable future.

Download the paper, on which the lecture was based, here


3A. Explain the extent to which Kinect uses temporal information in its processing, contrasting it with previous approaches to pose estimation.

3B. Outline the processing stages that Kinect uses to identify human pose.

Lecture 4: Location Tracking

What you need to know: Proximity, AoA, ToA/ToF, TDOA. Example systems.

Download the handout or the slides


4A. Compare and contrast location systems that position a mobile transmitter (e.g. the Bat system, U-TDOA) with those that position a mobile receiver (e.g. GPS, Cricket).

4B. Explain why UWB systems can achieve better positioning accuracy than more traditional radio location systems.

4C. A transmitter located at (15,20) is surrounded by synchronised receivers: A at (0,50), B at (5,0), C at (30,30). For this setup, give the equations of the vectors, circles or hyperbolae associated with the i) AoA ii) TOA and iii) TDOA location techniques. Assume all measurements have no noise (and are therefore perfect) and any synchronisation, where it exists, is perfect.

4D. Imagine that you are tasked with designing an iPhone-like device that must be able to position itself at all times. Discuss the solutions you would use and the accuracies you might expect indoors and out.

Lecture 5: Location Fingerprinting

What you need to know: Principles of fingerprinting. Deterministic and probabilistic approaches. System and real world issues.

Download the handout or the slides


5A. Discuss the advantages and disadvantages of using radio fingerprints for positioning.

5B. What factors might you need to take into account if you were creating a WiFi radio map?

Lecture 6: GPS

What you need to know: GPS components; Basic operating principles; Error sources; DGPS; Selective availability; A-GPS; The notion of Gold codes and how they are used.

Recommended site: Here

More detailed information (including official docs): Here


6A. Briefly describe the functions of the space segment, the control segment, and the user segment in the GPS system.

6B. Describe the principles of Differential GPS (D-GPS) and assisted GPS (A-GPS).

6C. Discuss how much modern society relies on the GPS system (you may find this report useful reading).

Lecture 7: Affective Computing

What you need to know: The advantages and disadvantages of having computers sense emotions; Techniques to sense emotions; Results so far.

Recommended reading: Papers from Royal Society Discussion Meeting on Computation of emotions in man and machines.

Further details can be found on the affective computing web pages.


7A. Computers just do calculations, what reasons are there for giving them emotional awareness? What are the risks?

7B. Discuss the use of training data in machine learning systems for affective inference. What problems are posed by generalization?

7C. Discuss some possible applications of emotionally aware computer systems.

Lecture 8: Quantum Computing

What you need to know: Classical and quantum models of computing; qubits; high-level advantages and disadvantages of quantum computing (detailed understanding of quantum effects not required, but appreciation of probabilistic nature of quantum computing expected)

Download the handout


8A. Compare and contrast a quantum qubit with a classical bit.

8B. Describe how a quantum computer can beused to carry out computations in a massively parallel manner.

See also the examples sheet for the normal part II course (available here): the questions on the first lecture are appropriate.

Lecture 9: Novel Applications of VNC

What you need to know: Examples of VNC applications

Download the handout


9A. With an ever-growing heterogeneity of mobile devices, describe the steps you would take to test your software if you were a mobile app company.

9B. The Intel vPro chips contain a small, independent sub-processor that implements a VNC server so that remote viewing is possible regardless of the running state of the O/S. Discuss the advantages and disadvantage of this approach.

9C. VNC is open-source software. Give three ways in which RealVNC is able to form a profitable company around such freely available code.

Lecture 10: Google Search-By-Voice

What you need to know: The basic voice recognition loop; How the Google system was developed; How Google used the data they had; How Google evaluate their system (WebScore).

Download the slides. You may also be interested in reading some of the Google publications (e.g. this one - google for more).


10A. Compare and contrast the devlopment of the Kinect motion capture system with that of Google's voice search.

10B. For a mobile voice recognition application, how would you decide what to process locally and what to process in the cloud? Give the advantages and disadvantages of the options you identify.

Lecture 11: From Wired to Wireless

What you need to know: TDMA, FDMA, CDMA, CSMA; ALOHA; The BEB algorithm; Scalability issues; Hidden nodes and other common WiFi problems. MCBC is not examinable.

Download the handout/slides.


11A. Explain in detail the standard Binary Exponential Backoff (BEB) algorithm used in 802.11 wireless. How could you modify your WiFi device to obtain preferential use of the network?

11B. Explain why the BEB algorithm is a poor choice in highly congested networks. Describe two adaptations that can improve its scalability.

11C. Describe the hidden-node, channel capture, and the problems associated with using directional/powerful antennas.

Lecture 12: Open Source Software in Business

What you need to know: History of open source; Cathedral and the Bazaar; The GPL and LGPL; copyleft; the notion of free software; FSF software freedoms; some simple case histories.

Download the handout/slides.


12A. Explain the Cathedral and the Bazaar analogy from Eric Raymond

12B. When is it appropriate to write an application from scratch, or to rewrite an existing project?

12C. Outline the GPL and LGPL licences, providing examples of when they might be used. In your answer, define the term "copyleft".

12D. Discuss the advantages and disadvantages of a "release early, release often" approach when developing open source software.