Course Projects


Autumn Quarter 2001

  • Discourse & Dialogue
    Project Description: Presented and implmented a new algorithm for Topical Multi-Document Summarization. Used C++, JAVA, and UNIX shell scripting under Linux.
    Report: pdf
    Web: http://people.cs.uchicago.edu/~hai/courses/cs359
    Source Code: provided in project Web above.


Spring Quarter 2001

  • Distributed Computing
    Project Description: Designed and developed an RPC-based, P2P music service for the storage and retrieval of music files on multiple sites. Used ANSI C under Linux.
    Report: pdf
    Source Code: tarball

  • Computer Vision
    Project Description: Presented and implemented a refined algorithm for curve detection with dynamic programming. Used C++ under Linux.
    Report: pdf
    Source Code: tarball

  • Collaborative Virtual Environments
    Project Description: Studied the effect of network bandwidth and multicast protocol on the performance of the Access Grid, a large-scale collaborative environment to support human interaction across the Grid.
    Report: pdf


Winter Quater 2001

  • Operating Systems
    Project Description: Developed a simple Unix command shell known as Yash supporting I/O redirection, pipes, signals, and background processes. Developed a Unix-like operating system kernel named Yalnix supporting low-level hardware control, memory management, process scheduling, and system calls handling etc. Programmed with ANSI C under Sun Solaris for both projects.
    Yash Shell Handout: pdf
    Yalnix Kernel Handout: ps
    Yash Shell Source Code: tarball
    Yalnix Kernel Source Code: tarball

  • Information Retrieval Technology
    Project Description: Surveyed prevalent text classification algorithms such as the Rocchio Algorithm, TFIDF classifier, and Naive Byes Algorithm etc. Implemented an automatic text categorization system named MailParser based on the Rocchio algorithm with TFIDF weighting method. Used C++ under Linux.
    Report: pdf
    Source Code: tarball


Autumn Quater 2000

  • P2P Networks
    Project Description: Studied and analyzed the protocols of the Gnutella P2P system. Captured the network traffic and topology, and the resources dynamic behavior by a distributed crawler. Evaluated costs and benefits of the approach and investigated possible improvements to the routing protocol. Used Python under Linux for crawler and network analyzer programs. Used ATT's Graphviz to visualize the network topology.
    Report: pdf
    Presentation: ppt
    Crawler Source Code: tarball
    Analyzer Source Code: tarball

  • Computer Architecture
    Project Description: Analyzed the features of the distributed sensor networks (DSNs) and compared with traditional networks. Discussed several critical DSN implmentation issues, including hardware, network architecture, communication and routing protocol, naming and addressing mechanism, application architecture, and security.
    Report: pdf