A comprehensive project for CS2: combining key data structures and algorithms into an integrated web browser and search engine