Oxford Undergrad CS Admission Interview Problems
comlab.ox.ac.uk
comlab.ox.ac.uk
Then again, I can't really figure out (an optimal) solution to the second one... [spoiler alert] Since you cannot know more about the function than the value itself, is there a better option than dividing the range into 3 equal segments, choosing the one with maximum and recursing? That would give 1/3^5 accuracy. On some values generated in a natural way, you could introduce bias to the segment-selection based on the values you get - but then you could prepare some data which would actually lower the accuracy that way...
If a < b < c, f(a) <= f(b) and f(b) >= f(c) then a <= m <= c; choosing e.g. 1/4, 1/2 and 3/4 [EDIT: was 1/3, 1/2, 2/3, which is not optimal - see reply by jacobolus] allows you to find out in which 1/2 [EDIT: was 1/3] of the range you should look with three measurements.
You could recurse on the above, e.g. by measuring 1/4 + 1/8 and 1/4 + 3/8 if 1/4 <= m <= 3/4 [EDIT: match above corrections.]
Another interesting trick is measuring 1/2 + epsilon, which (almost) bisects the range with only two measurements. [EDIT^2: removed "(with negligible probability of m being in [1/2, 1/2 + epsilon] - we just hope that doesn't happen, so this doesn't work for adversarial input!). [EDIT: this actually works pretty well for non-adversarial input.]"].
[EDIT^2: I should've paid a bit more attention when writing this, thanks for the (many) corrections jacobolus!]
1. f(1/3) is the biggest. In this case you learn that m is between 0 and 1/2.
2. f(1/2) is the biggest. In this case you learn that m is between 1/3 and 2/3.
3. f(2/3) is biggest. You learn that m is between 1/2 and 1.
* * *
Edit: as for measuring 1/2 + epsilon, it’s no worse for “adversarial input”. You just need to remember that your first pair of measurements tell you that either 0 ≤ m ≤ .5+ε or else .5 ≤ m ≤ 1
As for your idea, 1/3^5 accuracy is not correct. You need to think a bit more carefully about what you can actually learn from testing a pair of points.
Nice observation about learning the value before making another choice too.
As students become more specialised, or if their college doesn't have many professors in their particular subject, they may have tutorials with academics in other colleges.
Given that the colleges are different, this can mean it's important to choose the right one for you. For example, at Cambridge, Trinity College has an illustrious history in mathematics, and attracts excellent staff, so if you're accepted there then you might end up being taught one-on-two by a world renowned mathematician (Fields Medal winning Timothy Gowers for example). Other colleges with less of a reputation might have more trouble attracting the same type of staff. (this isn't to say that being an expert in your field makes you an excellent teacher of course...)
You can also make an "open application" which is similar to pooling where you say you don't mind which college you get into.
Generally applicants tend to put too much emphasis on the "right" college, the academic differences aren't that great, and a lot of it is just candidates wanting to get into the more prestigious colleges for prestige's sake.
Interesting questions, though.
It's worth noting as well that Oxford is by far the most theoretical of all the CS departments in the UK.
I think they assume we can learn practical skills on-the-fly and they are not as beneficial as a solid theoretical grounding.
These Oxford interview questions are more difficult than I expected, especially under Oxbridge interview conditions. Like mentioned above, they want to see how you think over what you already know.
Historically Oxford has been much more focused on the rigorous underpinning of CS by Mathematics than other universities, although in recent years they've been cutting down on this and moving closer to the CS syllabus offered by other top-tier universities.
Here's the course list for first year at Oxford:
• Functional Programming
• Design & Analysis of Algorithms
• Imperative Programming I
• Imperative Programming II
• Digital Systems
• Discrete Mathematics
• Logic and Proof
• Linear Algebra
• Calculus
• Probability
Unless you do CS with Mathematics at Cambridge, you'll probably be doing a much less mathematically intensive course.1st year: http://www.cl.cam.ac.uk/teaching/0809/part1a-cst.html
2nd year: http://www.cl.cam.ac.uk/teaching/0910/part1b.html
3rd year: http://www.cl.cam.ac.uk/teaching/1011/part2.html
Although I think there is far too much content to learn thoroughly in three years, it does provide a broad understanding of what there is to know. Does Oxford have online course material, I'd be interested to take a look? I expect the universities overlap a lot but there might be some worthwhile additions.
I've seen this in action, exceptional state school students turned down from Oxford, and utter buffoons (but with the correct background and accent) being accepted.
What private schools seem particularly good at is instilling a rather outgoing self-confidence that seems pretty uncommon amongst state educated kids. Note that this is effectively orthogonal to actual capabilities - but the end result is that I suspect that a lot of privately educated kids will come across a lot better in these situations than people from state schools.
It's not fair - but to be honest that's why you pay the considerable amounts of money for private education - to give your kids an advantage.
Assume for a moment that the exam results of students follow a bell shaped curve and that the mean and standard deviation of exam results in the state and private sector are the same, then you would expect the proportion of state school pupils accepted by Oxbridge to be the same as the proportion in the general school system. If instead we assume that the mean in the private sector is higher then you would no longer expect the same proportion to be accepted, and indeed that disproportionately many private sector students would get in.
I'm not saying this is the case (although private school students probably do do better in exams on average), but without knowing anything about the situation how can you accuse them of discrimination? The 'oh, I saw a really good person get turned away' argument is silly. Some colleges only offer a few places for some subjects but are presented with 20+ students who all have predicted straight As, good UCAS forms etc. It's inevitable that some good students will not get in, and it doesn't imply discrimination.
Pretty much everyone applying to Oxbridge is applying with top grades, plenty of exceptional candidates from both state and private sector schools get rejected.
If you want to understand the real issues in social mobility I suggest reading the Milburn report which I think is one of the best reports I've ever seen a government produce: http://www.bis.gov.uk/assets/biscore/corporate/migratedd/pub...
http://www.suttontrust.com/research/applications-offers-and-...
With a technical subject, it's relatively straightforward to put a meritocratic admissions system in place. I don't think you can make that argument for humanities subjects.
Bla.
I do around 50-60 admissions interviews a year, and we don't even know to which schools the applicants went when we question them. What you've seen in action is a few anecdotes and whiny parents who blame external factors for their child's rejection letter.
NB, I'm not saying there isn't a problem. There's still a lot of room for improvement; both universities are doing plenty of outreach work and are fully aware of the situation. But your portrayal of Oxbridge is ridiculous.
I read mathematics and my interviews were purely technical. (None of those "hundred uses of a toothbrush" for me - perhaps those were for the arts students ;-) )
In the UK we are in the unfortunate situation whereby school examinations are so easy (as a result of political intervention) that it is effectively impossible to distinguish between the best candidate on examination results alone.
Privately educated students do make up a much larger proportion of the student body than they "should", compared to the overall population. However, it could be (correctly) argued that state school pupils are more reluctant to apply in the first place.
I can confirm that at Cambridge between'97 and '00 there was a concerted effort by the university and the student body to encourage applications from statistically underrepresented sections of society.
The answer is not probabilistic (that is, the last bean is either white with 100% probability, or black with 100% probability). This took me a while to figure out.
What if the money picks out 2 white beans at the start?
"If they are the same he puts a black bean back in the urn"
Glad they're keeping standards high in those places mind.
"Stupid is as stupid does."
(1) For each color, put all the cubes of that color in their own pile. So, get 10 piles, and in each pile all the cubes have the same color.
(2) Arrange these piles in ascending order from left to right on the number of cubes in each pile. So, a color with the fewest cubes is on the left, and a color with the most cubes is on the right.
(3) If the pile on the left has 10 cubes, then pack each pile in its own box, and we are done.
(4) Else take cubes from the pile on the right and put them on the pile on the left until the pile on the left has 10 cubes.
(5) Go to step (2)
This problem and solution generalize immediately to, for positive integers m and n, n colors, n boxes, and (m)(n) cubes.
Or, if we have n factories where each factory produces cubes of just one color and have n warehouses each of which needs m cubes, and the total number of cubes produced is (m)(n), then it is possible to ship the cubes from the factories to the warehouses so that each warehouse gets cubes of at most two colors. So, there is connection with the 'transportation problem'.
That problem is a special case of least cost capacitated network flows which is a linear programming problem with some special properties. In particular if all the capacities are integers and have an initial flow with all integers, then the simplex algorithm will find a least cost solution with integer flows. So, here is a way to integer linear programming for no extra effort. The general case of integer linear programming is in NP-complete. The simple algorithm on such networks is closely related to spanning trees.
At each move, the number of beans in the urn falls by 1. So, after
23 + 34 - 1 = 56
moves, the number of beans in the urn will be 1.
At each move, the number of white beans in the urn either stays the same or falls by 2. Since the initial number of white beans is 23 and odd, as long as there are any white beans in the urn, the number is odd. Since the number of beans in the urn falls to 1, the number of white beans must fall to 1.
Suppose there is 1 white bean in the urn: If there are no black beans in the urn, then we are done and the last bean is white.
Else we keep playing and observe that at each play the number of white beans in the urn remains 1. That is, there is no way to remove the last white bean from the urn. So, in all cases, the last bean in the urn is white.