1. A method, comprising: generating a ranked list of objects for an a shared activity stream, wherein each object in the ranked list is associated with a class; wherein each student of a plurality of students associated with the class may access the shared activity stream; in response to detecting a first event associated with a first object that is associated with the class, placing the first object in a first position in the ranked list; in response to detecting a second event associated with a second object in the ranked list of objects: moving the first object to a second position in the ranked list; placing the second object in the first position in the ranked list; in response to detecting a third event associated with the first object in the ranked list of objects, moving the first object to the first position in the ranked list, wherein the third event is user activity associated with the first object; wherein the second event occurs after the first event and before the third event; maintaining the ranked list as a plurality of segments, wherein each segment is associated with a time period; maintaining a first segment that is associated with a first time period; after detecting the expiration of the first time period: causing the portion of the ranking of objects that is associated with first segment to remain static; maintaining a second segment that is associated with a second time period; dynamically updating the portion of the ranking of objects that is associated with the second segment in response to detecting a fourth event without updating the portion of the ranking of objects that is associated with the first segment; wherein the method is performed by one or more computing devices.