Sophia S. Liau

Wikipedia Program

November 2024 Algorithmic Systems CPEN 221 Project

This project involved creating a program that interacts with the Wikipedia API to retrieve and process data from Wikipedia pages. The program was designed to fetch the content of a specified Wikipedia page, extract relevant information, and perform various operations on the data, including a cache system to store previously fetched pages for efficiency. The main focus was on understanding how to work with APIs, parsing JSON data, and implementing algorithms to analyze the retrieved information. The project was completed in Java and provided a practical application of algorithmic concepts learned in the course. Note: Currently, the code is not available for public viewing as they are part of my course materials.

Wikipedia Image

Technical Overview

As the final project for my Computer Engineering 221 course, this project focused on building a program that interacts with more complex ideas, such as an API. The program's main goal was to streamline the process of retrieving and processing data from Wikipedia pages. A finite time finite space algorithm was implemented to ensure that the program could efficiently handle multiple requests without overwhelming the system. Example operations included search, retrieval, zeigeist & peak load analysis, and cache management. However, my biggest challenge was threading and concurrency-safe operations, as the program needed to handle multiple requests simultaneously without data corruption.