Course material 2010–11
Topical Issues
Principal lecturer: Prof Andy Hopper
Additional lecturer: Dr Robert Harle
Taken by: Part II
Syllabus
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/04 | Robert Harle (CUCL) | RFID |
Monday 02/05 | Andy Hopper (CUCL) | Computing for the Future of the Planet |
Wednesday 04/05 | Andrew Fitzgibbon (Microsoft Research) | Developing Kinect |
Friday 06/09 | Robert Harle (CUCL) | Location Tracking |
Monday 09/05 | Robert Harle (CUCL) | Location Fingerprinting |
Wednesday 11/05 | Alan Jones (Cotares) | The GPS System |
Friday 13/05 | Peter Robinson (CUCL) | Affective Computing |
Monday 16/05 | Anuj Dawar (CUCL) | Introduction to Quantum Computing |
Wednesday 18/05 | Andy Harter (RealVNC) | Novel Applications of VNC |
Friday 20/05 | David Singleton (Google) | Google Search by Voice: Building and deploying a spoken search engine |
Monday 23/05 | Bogdan Roman (CUCL) | From Wired to Wireless LANs |
Wednesday 25/05 | Luke 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
Questions:
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
Questions:
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
Questions:
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
Questions:
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
Questions:
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
Questions:
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.
Questions:
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
Questions:
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
Questions:
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).
Questions:
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.
Questions:
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.
Questions:
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.