Date of Award

6-5-2025

Document Type

Thesis

Publisher

Santa Clara : Santa Clara University, 2025

Department

Computer Science and Engineering

First Advisor

Yi Fang

Abstract

The technical interview process for software engineering position has drastically changed in recent times to focus on Data Structures and Algorithms (DSA). Although, data structures and algorithms are a foundational aspect of several programming languages, the questions asked in the technical interview process do not accurately reflect, in terms of style and difficulty, the experience students and professionals have with DSA from school and work respectively. As a result, many have looked to online resources in order sharpen their DSA problem solving skills. However, the existing solutions are riddled with flaws. In particular, the learning resources they provide are locked behind paywalls and are not integrated into the problems themselves. The issue with the problems themselves is that they lack any direction, leaving users lost as to where to even begin.

This thesis centers around the development of LeetQuest: an online web application that provides a user friendly way to learn and practice DSA problem solving skills. LeetQuest is designed specifically to address the problems with the existing solutions. It divides the problems by topic, and within those topics plots the associated problems on a directed graph which gives users multiple clear paths to follow providing a balance of freedom and direction. Additionally, along these directed graphs users will encounter nodes focused around learning; by integrating learning into the process it divides the learning into more manageable segments. The learning resources it provides are entirely free and come with several features designed for di↵erent styles of learners such as colorized descriptions and visualizations of data structures and algorithms to accommodate visual learners. Users can take notes and easily reference any previous learning or problem node they encountered. Moreover, users have access to a dashboard which visualizes their progress in numerous ways to encourage them continue learning. This project attempts to create a more user friendly and accessible means of preparing for technical interviews.

Share

COinS