Computer Science at Oxford and Cambridge

advertisement
Computer Science at
Oxford and Cambridge
Luke Ong
Oxford University
Computing Laboratory
www.comlab.ox.ac.uk
Graham Titmus
University of
Cambridge
Computer Laboratory
www.cl.cam.ac.uk
Computer Laboratory
Contents




Oxford & Cambridge University
What is Computer Science?
Details of the two courses
Admissions
Most of this presentation applies equally
to both Oxford and Cambridge.
When just one logo appears,
the information applies to that university only.
Computer Laboratory
Research Assessment
 Oxford and Cambridge are two of the top CS
departments for research
– the following grades are taken from the five-yearly
Research Assessment Exercises (1996,2001 & 2008)
which are graded: 1 2 3a 3b 4 5 5*
 Cambridge scored the best possible:
5*, 5* and 3.35 GPA
– Highest ranking in 2008 assessment
 Oxford scored 5* & 5 and 3.15 GPA
– Overall 3rd in research power
Computer Laboratory
Teaching assessment
 There are many good Computer Science
teaching departments in the UK:
– Cambridge, Edinburgh, Exeter, Glasgow, Imperial,
Kent, Manchester, Oxford, Southampton, Swansea,
Warwick, York
• all scored 23/24 in the government’s Teaching Quality
Assessment
• all rated above 80% by the Guardian University Guide 2002
• do you trust either of these measures?
– you need to check what they have in their syllabus
• is it good Computer Science?
• is it what you want to do?
Computer Laboratory
Contents




Oxford & Cambridge University
What is Computer Science?
Details of the two courses
Admissions
Computer Laboratory
What is Comp Sci?

Programming

Science

Art




Engineering
Mathematics
Linguistics
Psychology
Computer Laboratory
Computer Science…
 ... will save the planet by providing systems
that are
– sustainable
– dependable
– adaptable
 … teaches general skills
–
–
–
–
analysis
problem solving
abstraction
design
 … produces extremely marketable graduates
Computer Laboratory
Graduate profiles
Paul Cunningham
A-levels in Maths, F. Maths, Physics & Art
PhD in verification of self-timed hardware
Started own company with £2.5m capital
Sonali Tandon
A-levels in Maths, Physics & Chemistry
Working for Citigroup’s Technology Division
in London
Isabel Kingsmill
A-levels in Maths, Physics & Chemistry
Working for Detica in Guildford on data and
signal processing
Computer Laboratory
Contents




Oxford & Cambridge University
What is Computer Science?
Details of the two courses
Admissions
Computer Laboratory
Teaching and learning
 Students belong to a college and a faculty
 Attend lectures in their faculty
 Taught in small groups in college
Computer Laboratory
Teaching: our aims
 To give our students an understanding of
fundamental principles that will outlast
today’s technology
 To produce graduates who will lead
development not merely cope with it
Computer Laboratory
Cambridge History
 Mathematical Lab
founded 1937
 EDSAC May 1949
 Practical computer
–
–
–
–
–
–
–
650 instructions/s
1k x 17 bits
paper tape input
teletype output
4m x 3m
3000 valves
12kW
Computer Laboratory
William Gates Building
Computer Laboratory
Cambridge phenomenon




Cambridge has developed rapidly over past 15 years
New technology and start-up companies
Many spin-offs from University research groups
IT companies around Cambridge - Silicon Fen
Source: Cambridge Entrepreneurship Centre
Computer Laboratory
Computer Laboratory
 Staff
–
–
–
–
35 teaching officers
35 contract researchers
10 computer officers
15 administration and assistants
 Students
–
–
–
–
150 research students
30 post-graduate Diploma
25 MPhil in Speech and language
340 undergraduates
Computer Laboratory
Syllabus
Computer Laboratory
Courses
 Programming
–
–
–
–
–
–
–
Java, C++ (object-oriented)
ML (functional)
Prolog (logic)
C (procedural)
Assembler
Verilog (hardware definition)
Comparative Languages
–
–
–
–
Digital Electronics
Computer design
ECAD, VLSI
Quantum Computing
 Hardware
 Mathematics
– Underpins theory and many applications
– Post A-level functions, sets, number theory, probability
Computer Laboratory
Courses II
 Algorithms
– Data structures and Algorithms
– Complexity
 Theory
– Computation Theory
– Logic & proof, Semantics, Information theory, Specification &
verification, Types, Concurrency, Finite Automata
– Automatic Theorem Proving
 Systems
–
–
–
–
–
Operating Systems, Real time systems
Networks, Distributed Systems
Middleware (Transport, Trust), E-commerce
Compilers
Databases
Computer Laboratory
Applications
 Graphics
– HCI
– Vision
– Human behaviour animation
 Security
– Chip analysis, Protocols, Crypto, Steganography, Privacy
 Language, speech and information
–
–
–
–
Natural Language Processing
AI
Information retrieval
Bioinformatics
 Sentient computing
– Sensors, Tracking, Augmented Reality, Vehicles, Sports
Computer Laboratory
Professional skills
 Professional practice & ethics
– ethical theory, professions, computer misuse
 Software Engineering
– failures, life cycles, quality, tools, management
– design, formal methods, specification, proof
 Intellectual property law
 Business studies
– how to start and run a business
– finance, project management, sales & marketing, exit
strategies
Computer Laboratory
The functional approach
 Calculating factorials
fun factorial 0 = 1
| factorial x = x * factorial (x – 1);
 Calculating the powerset
fun powerset [] = [[]]
| powerset (x::xs) =
let val ps = powerset xs
in
ps @ (map (fn (y) => x::y) ps)
end;
Computer Laboratory
Cambridge Course
 Three years
 1st year ½ CS, ¼ Maths, ¼
option from elsewhere
 2nd, 3rd years 100% CS
 Select most 2nd year
courses, half the 3rd year
 100 students per year
Year 3
Computer Science
Year 2
Computer Science
– plus 40 part-time in 1st year
 General principles
– not vocational training
 Self-contained
 Draws on many disciplines
Year 1 CS CS Ma Opt
Computer Science
Computer Laboratory
First year choices
Year
3
Natural Science
Computer Science
Year
2
Natural Science
Computer Science
Year
1
CS Ma NS NS
CS CS Ma NS
CS CS Ma Ma
Computing option
in Natural Sciences
Computer Science
Computer Science
with Mathematics
with Physics,
Chemistry,
Geology,
Physiology,
Evolution
CS CS Ma Psy
Computer Science
with Psychology
Computer Laboratory
Course components
 8+8+4 = 20 weeks teaching per year
 12 one-hour lectures per (6-day) week
– plus similar time in review and private study
 6 hours of practical work
 2 or 3 supervisions of one hour each
– plus 4 hours of preparation each
Computer Laboratory
Practical skills
 First year Practical exercises
– hands on, time management
 Second year Group projects
– specification & acceptance, reporting, tools,
management, team work, deadlines, presentation
 Final year Individual projects
– deadlines, dissertation, presentation
Computer Laboratory
Computing Laboratory
• Founded by Leslie Fox (1957)
• About 50 academic staff
• Home to different groups
Wolfson Building
Computer Laboratory
Oxford Research Themes







Programming Languages
Foundations, Logic and Structure
Numerical Analysis
Automated Verification
Software Engineering
Computational Biology
Information Systems
Computer Laboratory
Oxford Courses
 Computer Science
– Computer Science firmly based on Mathematics
 Mathematics and Computer Science
– similar, but with more Mathematics
 All courses (except theory and mathematics)
have compulsory assessed practicals.
 Option of 3-year BA or 4-year MCompSc /
MMathsCS degrees.
Computer Laboratory
Course components
 8 + 8 + 4 = 20 teaching weeks per year
 10-12 one-hour lectures per (5-day) week
–
plus similar time in review and private study
 4-8 hours of practical work per week
 2-3 hours of college tutorials per week
–
–
Personalised: 1 tutor to 2 students
Intensive: up to 8 hours of preparation time
 Advanced classes for 3rd & 4th-yr topics
 Year-long individual project (for 3rd & 4th
year)
Computer Laboratory
First Year Topics




Imperative Programming
Functional Programming
Design and Analysis of Algorithms
Digital Hardware




Calculus
Linear Algebra
Logic and Proof
Discrete Maths
First four have practical exercises.
Computer Laboratory
Year By Year
 First Year
– Imperative & Functional Programming
(former is about languages like C and Java; latter is
also a good language for talking about algorithms)
– All courses are compulsory.
– MCS have Maths courses instead of some CS courses
 Second Year
– Core courses: Object-Oriented Programming (in
Java), Concurrency, Networks, Operating Systems
– Other options. E.g. Graphics, Numerical Computation,
Architecture, Compilers, Programming Languages,
Models of Computation, etc.
Computer Laboratory
Year By Year
 Third Year
– Individual project (= 25% of time)
– More options; e.g. Intelligent Systems, Security,
Optimisation, Databases, etc.
– MCS has more Maths options & no project.
 Fourth Year (= optional Masters year)
– Longer individual project.
– Course work assessed by take-home mini-projects.
– Yet more options! E.g. Computer Animation, Financial
Computing, Quantum Computation, Computational
Linguistics, Information Retrieval, etc.
Computer Laboratory
A Variety of Options

Automated Verification

Foundations & Logic

–
–
–
–

Automata, Logic & Games
Randomised Algorithms
Software Verification
Probabilistic Model Checking
– Lambda Calculus and Types
– Categories, Proofs &
Processes
– Quantum Computer Science
– Game Semantics

Computational Biology
Information Systems
–
–
–
–
Database Implementation
Computational Linguistics
Information Retrieval
Knowledge Representation
Intelligent Systems
– Machine Learning
– Computer Animation

Programming Languages
– Program Analysis
– Concurrent Programming
– Executable Biology
– Bioinformatics
These options are closely linked to our research themes
Computer Laboratory
Example Project Topics








Medical Image Analysis
Biologically-Inspired Computing
Robot Soccer Simulation
Natural Language Processing
Quantum Computing
Compilation of Security Protocols
Formal Hardware Verification
Chess Playing Program
Computer Laboratory
Contents




Oxford & Cambridge University
What is Computer Science?
Details of the two courses
Admissions
Computer Laboratory
Oxford Admissions
 College based
 We consider:
– GCSE results, AS level module marks, and A-level
predictions; or equivalent international examinations
– school record; extra-curricular activities (e.g.
national + international competitions)
– personal statement & references
– common written test in Nov (and possibly individual
college test before interviews)
– at least two subject interviews – problem solving
 Common Database, Pools & Open Offers
– redistribute uneven applications between colleges
Computer Laboratory
Cambridge Admissions
 Very Similar
 We consider
–
–
–
–
–
GCSE results, or equivalent international qualification
AS level module marks, A2 predictions; school record
personal statement
reference
two subject interviews (>90% interviewed)
• unseen problem solving
– written tests
• UCLES Thinking Skills Assessment (TSA)
• individual college tests
– computing background within and outside school
 Winter and Summer pools
– redistribute uneven applications
between colleges
Computer Laboratory
Prerequisites
 3 A grades at A-level
– more than 3 A-level or AS-levels highly valuable
– not counting General Studies
 Mathematics to A-level
– is absolutely essential
 Further Maths
– nearly essential, if your school offers it
Computer Laboratory
 A Physical Science
Other A-levels
– is desirable
 Computing A-levels
– Computer Science
• good, similar in character to university-level CS
• but very few schools offer it
– ICT, Information Technology,…
• quite different from university-level Computer Science
• not relevant
 Other subjects
– up to you e.g. history, languages, etc
– traditional academic subjects best
Computer Laboratory
Computer Science at
Oxford and Cambridge
Luke Ong
Oxford University
Computing Laboratory
www.comlab.ox.ac.uk
Graham Titmus
University of
Cambridge
Computer Laboratory
www.cl.cam.ac.uk
Computer Laboratory
Download