SGEE vs CGEE vs A-GPS
I think Majenko's answer misses the mark a bit.

In order to get a rapid first fix, a GPS receiver needs to figure out quickly which satellites are in view, and their approximate Doppler shifts. In order to accomplish this, it needs two pieces of information: It needs to know roughly where in the world it is, and it needs to know roughly where the satellites are as well.

A-GPS refers to the former: by some means other than GPS, the receiver gets an approximate idea of where it is located. There are a number of ways of doing this; some WiFi access points broadcast their own geographic coordinates, which gives a pretty good idea of the receiver's loocation, since the coverage area of any particuar access point is fairly limited. Somewhat looser precision is available from cell towers, since their "footprint" is generally larger.

CGEE and SGEE are two methods of getting the second piece of data, the "ephemeris", which is a bunch of numbers that describe the orbits of all of the satellites and where they are currently located in those orbits. Without this information, the receiver must do a "blind search" until it finds at least one satellite, and then wait until that satellite broadcasts the ephemeris data for the rest of the constellation. Note that finding a satellite also helps narrow down the receiver's own position, since it must be somewhere within the "ground footprint" of that particular satellite, along an arc defined by the particular Doppler shift found.


CGEE basically means that the receiver extrapolates forward in time from information it had when it was last operating. Obviously, if the receiver is off for a long time, this information will become stale and relatively useless.
SGEE means that it gets current ephemeris information from an exernal server of some sort. Obviously, this requires that the receiver must have regular access to a network connection of some sort, which is readily achieved when it is embedded in a cell phone, for example.