I have a great fascination for GPS: it’s really handy, it’s really common these days, it’s fast and cheap. And yet, to make it work you need to put a whole constellation of satellites in orbit with atomic clocks on board. (So, that’s rocket science…) The receiver picks up a signal which is below the noise floor, and to do that you need electronics, mathematics (both algebra and analysis) and computer science. To build the chips you need chemistry and optics. And to have the system work you need relativity - twice! Once because the satellites move fast, and a second time because they are in a weaker gravitational field. Oh, and you need a model of the ionosphere too. And some filtering of results to reject reflected signals. And to make chips work, and atomic clocks, you need quantum mechanics.
Having said all that, here’s a link to an explanation:
via this discussion which has many further links and interesting points. Including links to homebrew receivers and software.
Edit: turns out the featured link is very long-winded. For a denser explanation, see perhaps
Edit: two surprising facts, perhaps: the GPS signal from each satellite includes data encoded at 50 bits per second. Not a lot! And secondly, even in '99 or so, it was possible to put a GPS receiver at the four corners of a plane and get attitude information ten times a second - enough for automatic take-off, flight, and landing.