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