COSC 50: Software Design and Implementation

Large Lab: Tiny Search Engine

  • Implemented and rigorously tested a tiny search engine, composed of a crawler, an indexer, and a querier in C.
  • The crawler uses a DFS to crawl from a seedURL within maxDepth, download the pages, and find all urls within pages.
  • The indexer logs the number of occurrences for all words that appeared in a crawl.
  • The querier interprets a logic keyword input with ands and ors and output ranked results that satisfy the search.
  • See Github:https://github.com/sixuanhan/tse

Final Project: Nuggets Game

  • Designed, implemented, and rigorously tested a server game, in which players explore a set of rooms and passageways in search of gold nuggets in C.
  • The server loads an input map, initializes the game with randomization and waits for players and a spectator to connect. The players spawn in a random room and use keyboard input to move around, collect gold, and explore new rooms and tunnels. We implemented the Bresenham algorithm to compute visibility for the players so that they have real-life visions. The spectator sees everything from “god’s view” but cannot move.
  • The server and clients (players and spectators) communicate according to a given protocol.
  • See Github: https://github.com/sixuanhan/nuggets