Objective Portfolio
Each Advancing Computer Science degree objective below is supported by projects from my coursework and personal work, and every card explains how that project helps satisfy its objective.
CodeFit_AI.jsSIP 311, 408, 409 & 411
How it meets this objective
CodeFit_AI.js is my Student Innovation Project, developed and documented end-to-end. A formal SIP brief and a dated changelog trace how I analyzed the problem, then designed, built, and iterated on this full-stack AI web app. It is also the only project here with an automated test suite (Vitest — covering rate-limiting, prompt building, auth, and streaming) plus lint/format/dead-code tooling, so the full cycle — analyze, design, build, and test — is both documented and genuinely exercised.
Lead Management System DBCSC211 - Introduction to Databases
How it meets this objective
A MySQL database that models a sales pipeline from prospect to paying client. I analyzed the domain, designed the schema in MySQL Workbench (six related tables — leads, clients, services, conversions, sales reps — with foreign keys and views), built it with SQL create-and-insert scripts, and tested it with multi-table join queries that validate the pipeline relationships — documented across separate design, build, and test files.
Baby Activity Tracking & Diary AppCSC256 - Designing Website Interfaces I
How it meets this objective
The capstone project for the course: a web app for logging a baby's activities alongside a diary. I analyzed the requirement, designed the interface and the local-storage data model that persists entries between visits, built it in HTML/CSS/JS, and tested logging, saving, and reloading in the browser — carrying one problem through analysis, design, build, and test.
Dream Journal AppCSC356 - Designing Website Interfaces II
How it meets this objective
A full-stack app spanning multiple languages and two development environments: PHP and SQL drive the server and MySQL database on the back end, while JavaScript and CSS handle behavior and styling in the browser front end — demonstrating development skills across distinct languages and environments.
CodeFit_AI.jsSIP 311, 408, 409 & 411
How it meets this objective
CodeFit_AI.js is my full-stack, AI-powered learn-to-code web app, built as an npm-workspace monorepo spanning multiple development environments: a Vite-bundled browser client, a Node.js serverless backend on Firebase Cloud Functions, and a Firestore cloud database, wired to the OpenAI API — demonstrating development skills across distinct client, serverless, and data-layer environments.
Interactive Fiction GameCSC235 - Python Programming I
How it meets this objective
An object-oriented interactive-fiction game written in Python, organized into Start, Void, and End_Credits classes with branching dialogue. Built in VS Code using Python's standard library (os, sys), the third-party pyjokes package, and file I/O that generates a credits file — demonstrating structured, class-based software development.
Mars Voyager WebsiteCSC356 - Designing Website Interfaces II
How it meets this objective
A data-driven site built around user-submitted form data: PHP sanitizes and validates each submission, then persists it to a MySQL database, which the site queries to store and surface records — the stored data, not hard-coded content, drives the application's behavior.
Private MentorCSC444 - Deep Learning
How it meets this objective
A local, CPU-powered AI mentor that teaches programming concepts. Its behavior is driven by data rather than hard-coded logic: it loads a quantized Llama-2-7B model file and feeds it a parameterized LangChain prompt template built from the user's chosen language and question, then streams the model's generated response — the model data and prompt variables drive every answer.
Customer Churn PredictionCSC115 - Data Science
How it meets this objective
An end-to-end data-science project that predicts telecom customer churn from a 7,043-record, 21-feature dataset. In a Jupyter notebook I loaded and cleaned the data, ran exploratory analysis, scaled the numeric fields, and trained a Random Forest classifier (100 trees) on a 70/30 split — reaching ~80% accuracy with tenure and charges as the top predictors. The dataset drives every step: the model's behavior is learned from the data, not hard-coded.
Gaby Western AppCSC342 - React Native I
How it meets this objective
A western-themed React Native (Expo) app that introduces Gaby, one of our horses, and guides visitors to meet her at the Flying X Ranch in Marana, Arizona. Across six stack-navigated screens it takes a visitor's name, poses a horse-breed riddle, reveals Gaby, and maps the ranch with spoken directions — using React Navigation, expo-av audio, expo-speech, and react-native-maps. From one JavaScript codebase it runs natively on both iOS and Android.
Zen To-DoCSC352 - React Native II
How it meets this objective
A mindfulness-focused task manager built with React Native and Expo. Alongside categorized to-dos it adds guided breathing meditations, a daily gratitude photo (expo-camera), scheduled reminder notifications, and AI-generated daily zen quotes (OpenAI GPT-3.5), with tasks and photos persisted locally via AsyncStorage. Organized into reusable components, a custom useTasks hook, and storage/AI services, it runs natively on both iOS and Android from one JavaScript codebase.
Azur Agency WebsiteCSC104 - Beginning Website Interfaces
How it meets this objective
A responsive, multi-page website for Azur Agency, a non-profit business (home, about, services, portfolio, contact, donations). Built with HTML, CSS, JavaScript, and Bootstrap's responsive grid plus custom media queries, a single codebase adapts its layout across desktop, tablet, and mobile browsers — one solution designed to work across multiple platforms, including mobile devices. Deployed on Firebase with a FormSubmit contact form.
LadyBot 1.0CSC275 - C++ Programming II
How it meets this objective
LadyBot is a menu-driven C++ virtual assistant whose features are built as classes. The TicTacToe and Calculator classes encapsulate their data and logic behind small public interfaces (playGame(), Calculate()), hiding the implementation — abstraction. A custom Double exception class inherits from std::runtime_error (and thus std::exception), reusing the base class and its virtual what() message — demonstrating inheritance and polymorphism through C++'s exception hierarchy.
LadyBot 2.0CSC370 - Artificial Intelligence
How it meets this objective
A Python desktop chatbot with a CustomTkinter GUI built from custom classes: TextboxFrame and UserTextboxFrame both inherit from CTkFrame, and the App window inherits from CTk, each calling super().__init__() and encapsulating its own widgets. The interface is abstracted into reusable frame components the App composes — demonstrating inheritance, encapsulation, and abstraction in an object-oriented design.
Interactive Fiction GameCSC235 - Python Programming I
How it meets this objective
An object-oriented interactive-fiction game in Python, organized into Start, Void, and End_Credits classes with branching, recursive dialogue. Each class encapsulates its own state and behavior, and file handling (a generated credits file) and third-party joke generation are abstracted behind clean methods — a class-based design demonstrating encapsulation and abstraction.
Data Structures & AlgorithmsCSC382 - Data Structures and Algorithms
How it meets this objective
A C++ collection implementing core data structures and algorithms from scratch: a doubly linked list, a binary search tree (with its own Node class), a graph using an adjacency-matrix representation, and sorting algorithms including selection sort. Each is built as its own Visual Studio project — describing, implementing, and letting me compare each structure's operations and trade-offs directly in code.
LadyBot 1.0CSC275 - C++ Programming II
How it meets this objective
LadyBot applies C++ data structure techniques: its Tic-Tac-Toe game models the board as a 3×3 two-dimensional integer array (int arr[3][3]), scanning rows, columns, and diagonals to detect wins and draws. It also uses strings and character arrays for command handling and file streams (ifstream/ofstream) to persist and recall user notes — each structure chosen to fit its task.
LadyBot 2.0CSC370 - Artificial Intelligence
How it meets this objective
A voice-enabled Python chatbot running a local Llama-2 model. User input is encoded to bytes and tokenized into a list of integer tokens, which the app streams through — iterating the model's generated token sequence, detokenizing each token to text and accumulating the reply. Token lists and byte/string structures are what move data through the LLM pipeline.