60
Mathematical Sciences at Oxford Stephen Drape

Mathematical Sciences at Oxford

  • Upload
    shika

  • View
    36

  • Download
    3

Embed Size (px)

DESCRIPTION

Mathematical Sciences at Oxford. Stephen Drape. Who am I?. Dr Stephen Drape Access and Schools Liaison Officer for Computer Science (Also a Departmental Lecturer) 8 years at Oxford (3 years Maths degree, 4 years Computer Science graduate, 1 year lecturer) 5 years as Secondary School Teacher - PowerPoint PPT Presentation

Citation preview

Page 1: Mathematical Sciences at Oxford

Mathematical Sciences at Oxford

Stephen Drape

Page 2: Mathematical Sciences at Oxford

2

Who am I?

Dr Stephen Drape

Access and Schools Liaison Officer for Computer Science (Also a Departmental Lecturer)

8 years at Oxford (3 years Maths degree, 4 years Computer Science graduate, 1 year lecturer)

5 years as Secondary School Teacher

Email: [email protected]

Page 3: Mathematical Sciences at Oxford

3

Four myths about Oxford

There’s little chance of getting in It’s very expensive in Oxford College choice is very important You have to be very bright

Page 4: Mathematical Sciences at Oxford

4

Myth 1: Little chance of getting in

False! Statistically: you have a 20–40% chance

Admissions data for 2007 entry:Applications Acceptances %

Maths 828 173 20.9%

Maths & Stats 143 29 20.3%

Maths & CS 52 16 30.8%

Comp Sci 82 24 29.3%

Physics 695 170 24.5%

Chemistry 507 190 37.5%

Page 5: Mathematical Sciences at Oxford

5

Myth 2: It’s very expensive

False! Most colleges provide cheap accommodation for three years.

College libraries and dining halls also help you save money.

Increasingly, bursaries help students from poorer backgrounds.

Most colleges and departments are very close to the city centre – low transport costs!

Page 6: Mathematical Sciences at Oxford

6

Myth 3: College Choice Matters

False! If the college you choose is unable to offer you a place because of space constraints, they will pass your application on to a second, computer-allocated college.

Application loads are intelligently redistributed in this way.

Lectures are given centrally by the department as are many classes for courses in later years.

Page 7: Mathematical Sciences at Oxford

7

Myth 3: College Choice Matters

However… Choose a college that you like as you have to live and work there for 3 or 4 years

Look at accommodation & facilities offered. Choose a college that has a tutor in your subject.

Page 8: Mathematical Sciences at Oxford

8

Myth 4: You have to be bright

True! We find it takes special qualities to benefit from the kind of teaching we provide.

So we are looking for the very best in ability and motivation.

A typical offer is 3 A grades at A-Level

Page 9: Mathematical Sciences at Oxford

9

The University

The University consists of: Colleges Departments/Faculties Administration Student Accommodation Facilities such as libraries, sports

grounds

The University is distributed throughout the whole city

Page 10: Mathematical Sciences at Oxford

10

Departments vs Colleges

Departments are responsible for managing each courses by providing lectures, giving classes and setting exams

College can provide accommodation, food, facilities (e.g. libraries, sports grounds) but also gives tutorials and admits students

Page 11: Mathematical Sciences at Oxford

11

Teaching

Teaching consists of a variety of activities:

Lectures: usually given by a department Tutorials: usually given in a college

(often 1 tutor with 2 students) Classes: for more specialised subjects Practicals: for many Science courses Projects/Dissertations: for some courses

Page 12: Mathematical Sciences at Oxford

12

Colleges

There are around 30 colleges in Oxford – some things to consider:

Check what courses each college offers Accommodation Location FacilitiesYou can submit an open application

Page 13: Mathematical Sciences at Oxford

13

Applications Process

Choose a course Choose a college that offers that course Your application goes to a college rather

than the University as a whole since college admissions tutors decide who to admit.

You can choose a first choice college – second and third choices get allocated to you.

Page 14: Mathematical Sciences at Oxford

14

Interviews

Interviews take place over 2 or 3 days. Candidates stay within college Mostly candidates will have interviews at

the first and second choice colleges For some subjects, samples of written

work or interview tests are needed

Page 15: Mathematical Sciences at Oxford

15

What do interviewers assess?

Motivation Future potential Problem solving skills Independent thinking Commitment to the subject

Page 16: Mathematical Sciences at Oxford

16

Common Interview Questions Why choose Oxford?

Candidates often say “Reputation” or “It’s the best!”

Why do you want to study this subject? Frequent response: “I enjoy it”

It’s important to say why the course is right for you – look at the information in the prospectus.

Page 17: Mathematical Sciences at Oxford

17

What tutors will consider

Academic record (previous and predicated grades)

School reference UCAS statement (be careful what you

say!) Written work or entrance test (as

appropriate) Interview performance

Page 18: Mathematical Sciences at Oxford

18

Mathematical Science Subjects

Mathematics Mathematics and Statistics Computer Science Mathematics and Computer Science

All courses can be 3 or 4 years

Page 19: Mathematical Sciences at Oxford

19

Maths in other subjects

For admissions, A-Level Maths is mentioned as a preparation for a number of courses:

Essential: Computer Science, Engineering Science, Engineering, Economics & Management (EEM), Materials, Economics & Management (MEM), Materials, Maths, Medicine, Physics

Desirable/Helpful: Biochemistry, Biology, Chemistry, Economics & Management, Experimental Psychology, History and Economics, Law, Philosophy , Politics & Economics (PPE), Physiological Sciences, Psychology, Philosophy & Physiology (PPP)

Page 20: Mathematical Sciences at Oxford

20

Entrance Requirements

Essential: A-Level Mathematics Recommended: Further Maths or a

Science Note it is not a requirement to have

Further Maths for entry to Oxford For Computer Science, Further Maths is

perhaps more suitable than Computing or IT

Usual offer is AAA

Page 21: Mathematical Sciences at Oxford

21

First Year Maths Course

Algebra (Group Theory) Linear Algebra (Vectors, Matrices) Calculus Analysis (Behaviour of functions) Applied Maths (Dynamics, Probability) Geometry

Page 22: Mathematical Sciences at Oxford

22

Subsequent Years

The first year consists of compulsory courses which act as a foundation to build on

The second year starts off with more compulsory courses

The reminder of the course consists of a variety of options which become more specialised

In the fourth year, students have to study 6 courses from a choice of 40

Page 23: Mathematical Sciences at Oxford

23

Mathematics and Statistics

The first year is the same as for the Mathematics course

In the second year, there are some compulsory units on probability and statistics

Options can be chosen from a wide range of Mathematics courses as well as specialised Statistics options

Requirement that around half the courses must be from Statistics options

Page 24: Mathematical Sciences at Oxford

24

Computer Science

Computer Science Computer Science firmly based on Mathematics

Mathematics and Computer Science Closer to a half/half split between CS and Maths

Computer Science is part of the Mathematical Science faculty because it has a strong emphasis on theory

Page 25: Mathematical Sciences at Oxford

25

Some of the first year CS courses

Functional Programming Design and Analysis of Algorithms Imperative Programming Digital Hardware Calculus Linear Algebra Logic and Proof Discrete Maths

Page 26: Mathematical Sciences at Oxford

26

Subsequent Years

The second year is a combination of compulsory courses and options

Many courses have a practical component

Later years have a greater choice of courses

Third and Fourth year students have to complete a project

Page 27: Mathematical Sciences at Oxford

27

Some Computer Science Options

Compilers Programming

Languages Computer Graphics Computer

Architecture Intelligent Systems Machine Learning Lambda Calculus Computer Security

Category Theory Computer Animation Linguistics Domain Theory Program Analysis Information Retrieval Bioinformatics Formal Verification

Page 28: Mathematical Sciences at Oxford

28

Useful Sources of Information

Admissions: http://www.admissions.ox.ac.uk/

Mathematical Institute http://www.maths.ox.ac.uk/

Computing Laboratory: http://www.comlab.ox.ac.uk/

Colleges

Page 29: Mathematical Sciences at Oxford

29

What is Computer Science?

It’s not just about learning new programming languages.

It is about understanding why programs work, and how to design them.

If you know how programs work then you can use a variety of languages.

It is the study of the Mathematics behind lots of different computing concepts.

Page 30: Mathematical Sciences at Oxford

30

Simple Design Methodology

Try a simple version first Produce some test cases Prove it correct Consider efficiency (time taken and

space needed) Make improvements (called

refinements)

Page 31: Mathematical Sciences at Oxford

31

Fibonacci Numbers

The first 10 Fibonacci numbers (from 1) are:

1,1,2,3,5,8,13,21,34,55

The Fibonacci numbers occurs in nature, for example: plant structures, population numbers.

Named after Leonardo of Pisa who was nicked named “Fibonacci”

Page 32: Mathematical Sciences at Oxford

32

The rule for Fibonacci

The next number in the sequence is worked out by adding the previous two terms.

1,1,2,3,5,8,13,21,34,55

The next numbers are therefore34 + 55 = 8955 + 89 = 144

Page 33: Mathematical Sciences at Oxford

33

Using algebra

To work out the nth Fibonacci number, which we’ll call fib(n), we have the rule:

fib(n) =

We also need base cases:fib(0) = 0 fib(1) = 1

This sequence is defined using previous terms of the sequence – it is an example of a recursive definition.

fib(n – 1) + fib(n – 2)

Page 34: Mathematical Sciences at Oxford

34

Properties

The sequence has a relationship with the Golden Ratio

Fibonacci numbers have a variety of properties such as fib(5n) is always a multiple of 5 in fact, fib(a£b) is always a multiple of fib(a) and fib(b)

Page 35: Mathematical Sciences at Oxford

35

Writing a computer program

Using a language called Haskell, we can write the following function:

> fib(0) = 0

> fib(1) = 1

> fib(n) = fib(n-1) + fib(n-2)

which looks very similar to our algebraic definition

Page 36: Mathematical Sciences at Oxford

36

Working out an example

Suppose we want to find fib(5)

Page 37: Mathematical Sciences at Oxford

37

Our program would do this…

Page 38: Mathematical Sciences at Oxford

38

What’s happening?

The program blindly follows the definition of fib, not remembering any of the other values.So, for

(fib(3) + fib(2)) + fib(3)the calculation for fib(3) is worked out twice.

The number of steps needed to work out fib(n) is proportional to n – it takes exponential time.

Page 39: Mathematical Sciences at Oxford

39

Refinements

Why this program is so inefficient is because at each step we have two occurrences of fib (termed recursive calls).

When working out the Fibonacci sequence, we should keep track of previous values of fib and make sure that we only have one occurrence of the function at each stage.

Page 40: Mathematical Sciences at Oxford

40

Writing the new definition

We define > fibtwo(0) = (0,1)

> fibtwo(n) = (b,a+b)

> where (a,b) = fibtwo(n-1)

> newfib(n) = fst(fibtwo(n))

The function fst means take the first number

Page 41: Mathematical Sciences at Oxford

41

Explanation

The function fibtwo actually works out:fibtwo(n) = (fib(n), fib(n +1))

We have used a technique called tupling – which allows us to keep extra results at each stage of a calculation.

This version is much more efficient that the previous one (it is linear time).

Page 42: Mathematical Sciences at Oxford

42

An example of the new function

Page 43: Mathematical Sciences at Oxford

43

Algorithm Design

When designing algorithms, we have to consider a number of things:

Our algorithm should be efficient – that is, where possible, it should not take too long or use too much memory.

We should look at ways of improving existing algorithms.

We may have to try a number of different approaches and techniques.

We should make sure that our algorithms are correct.

Page 44: Mathematical Sciences at Oxford

44

Page 45: Mathematical Sciences at Oxford

45

Finding the Highest Common Factor

Example:Find the HCF of 308 and 1001.

1) Find the factors of both numbers: 308 – [1,2,4,7,11,14,22,28,44,77,154,308]1001 – [1,7,11,13,77,91,143,1001]

2) Find those in common [1,7,11,77]3) Find the highest

Answer = 77

Page 46: Mathematical Sciences at Oxford

46

Creating an algorithm

For our example, we had three steps:1) Find the factors2) Find those factors in common3) Find the highest factor in common

These steps allow us to construct an algorithm.

Page 47: Mathematical Sciences at Oxford

47

Creating a program

We are going to use a programming language called Haskell.

Haskell is used throughout the course at Oxford.

It is very powerful as it allows you write programs that look very similar to mathematical equations.

You can easily prove properties about Haskell programs.

Page 48: Mathematical Sciences at Oxford

48

Step 1 We need produce a list of factors for a

number n – call this list factor(n). A simple way is to check whether each

number d between 1 and n is a factor of n. We do this by checking what the remainder

is when we divide n by d. If the remainder is 0 then d is a factor of n. We are done when d=n. We create factor lists for both numbers.

Page 49: Mathematical Sciences at Oxford

49

Function for Step 1

Page 50: Mathematical Sciences at Oxford

50

Step 2

Now that we have our factor lists, which we will call f1 and f2, we create a list of common factors.

We do this by looking at all the numbers in f1 to see if they are in f2.

We there are no more numbers in f1 then we are done.

Call this function: common(f1,f2).

Page 51: Mathematical Sciences at Oxford

51

Function for Step 2

Page 52: Mathematical Sciences at Oxford

52

Step 3

Now that we have a list of common factors we now check which number in our list is the biggest.

We do this by going through the list remembering which is the biggest number that we have seen so far.

Call this function: highest(list).

Page 53: Mathematical Sciences at Oxford

53

Function for Step 3

If list is empty then return 0, otherwise we check whether the first member of list is higher than the rest of list.

Page 54: Mathematical Sciences at Oxford

54

Putting the three steps together

To calculate the hcf for two numbers a and b, we just follow the three steps in order.So, in Haskell, we can define

Remember that when composing functions, we do the innermost operation first.

Page 55: Mathematical Sciences at Oxford

55

Problems with this method

Although this method is fairly easy to explain, it is quite slow for large numbers.

It also wastes quite a lot of space calculating the factors of both numbers when we only need one of them.

Can we think of any ways to improve this method?

Page 56: Mathematical Sciences at Oxford

56

Possible improvements

Remember factors occur in pairs so that we actually find two factors at the same time.

If we find the factors in pairs then we only need to check up to n.

We could combine common and highest to find the hcf more quickly (this kind of technique is called fusion).

Could use prime numbers.

Page 57: Mathematical Sciences at Oxford

57

A Faster Algorithm

This algorithm was apparently first given by the famous mathematician Euclid around 300 BC.

Page 58: Mathematical Sciences at Oxford

58

An example of this algorithm

hcf(308,1001)= hcf(308,693)= hcf(308,385)= hcf(308,77)= hcf(231,77)= hcf(154,77)= hcf(77,77)= 77

The algorithm works because any factor of a and b is also a factor of a – b

Page 59: Mathematical Sciences at Oxford

59

Writing this algorithm in Haskell

Page 60: Mathematical Sciences at Oxford

60

An even faster algorithm

hcf(1001,308) 1001 = 3 × 308 + 77= hcf(308,77) 308 = 4 × 77= hcf(77,0)= 77