Integrated Inventory Management

CS 499 Computer Science Capstone: Tyler Karls

Professional Self-Assessment

Completing the Computer Science program and building this ePortfolio has helped me define who I am as a developing software professional and how I want to contribute to the field. Across the program, I strengthened my ability to move from requirements to implementation, testing, and reflection, and the capstone process pushed me to present that work at a professional standard. This ePortfolio shows how I approach problems, how I improve existing projects, and how I apply software engineering, algorithms, databases, and security practices in a way that creates usable and maintainable solutions. Developing this portfolio also helped me clarify my professional values. I care about building systems that are reliable, understandable, and secure, and I want my work to be useful to both technical and nontechnical audiences.

My coursework gave me repeated opportunities to build these strengths in different contexts. In software design and engineering, I worked on projects that required planning, modular development, and iterative improvement. In databases, I learned how application behavior depends on the quality of data modeling, query design, and validation. In algorithm-focused work, I learned to evaluate how efficiently and clearly a solution solves the problem. In security-related work, I developed a stronger habit of looking for weaknesses early, including unsafe assumptions, poor validation, and design choices that could expose data or create instability. The capstone made these lessons more concrete because I had to revisit a prior project, evaluate it critically, and improve it in ways that demonstrate professional growth.

Communication & Collaboration

The program helped me grow in areas that employers value, especially communication and collaboration. Although my project was completed individually, I practiced skills that matter in collaborative environments, including documenting design decisions and organizing code so others can maintain it. I gained experience adapting communication for diverse audiences: focusing on technical accuracy for peers while explaining business needs and trade-offs to stakeholders to support organizational decision-making. This is important to me professionally because strong technical work has more impact when it can be clearly explained to teammates, managers, or clients. I developed this skill through project discussions, milestone reflections, and revision cycles where I translated feedback into concrete improvements.

Data Structures & Algorithms

My experience in the program strengthened my understanding of data structures and algorithms as practical tools for decision-making in software systems. I learned to think about how data is represented, how logic scales, and how design choices affect performance and maintainability. That mindset carried into my capstone enhancements, where I focused on making algorithmic work visible and explainable. I also improved my ability to evaluate trade-offs, such as when to do work in the application layer versus the database layer, and how to design logic that is testable and predictable.

Software Engineering & Databases

Software engineering and database work are central strengths in this portfolio. Through coursework and capstone revision, I improved my ability to structure applications into clear components, separate concerns, and build code that is easier to maintain over time. I also gained stronger database skills by thinking beyond basic connectivity and retrieval and focusing on integrity, validation, aggregation, and performance. I learned that a well-designed application depends on a well-designed data layer, and that database decisions directly affect usability, reliability, and reporting quality. These experiences helped shape my professional goal of building complete solutions that balance functionality with maintainability and performance.

Security Mindset

Security is another area that became more important to me as I progressed through the program. I developed a stronger security mindset by learning to identify vulnerabilities, validate inputs, limit assumptions, and design for predictable failure behavior. I view it as a design responsibility that should be considered from the start. This perspective improved the quality of my capstone work and has become part of how I evaluate software in general. It also supports my employability because organizations need developers who can build features while also protecting data, reducing risk, and recognizing how small design decisions can create larger security problems.

Artifact Selection & Justification

The artifact selected for this ePortfolio is an Android Inventory Management Application originally created in CS 360. I selected this item because it represented a functional but "raw" prototype. It possessed the core mechanics of a CRUD (Create, Read, Update, Delete) application but lacked professional polish, architectural scalability, and advanced data handling. This made it the perfect candidate to demonstrate a full-stack evolution. By enhancing this single artifact, I could showcase skills across three distinct domains: refactoring for maintainability (Software Design), implementing custom logic (Algorithms), and ensuring data integrity (Databases).

This ePortfolio serves as both a record of what I built in the program and a professional introduction to how I think, communicate, and solve problems. It reflects the technical foundation I have developed, the standards I now apply to my work, and the direction I want to continue pursuing as I enter the field. My goal is to bring the same approach shown here to future opportunities: thoughtful design, clear communication, continuous improvement, and practical solutions that create value.

Course Outcomes Met

Code Review

A comprehensive walkthrough of the existing code, highlighting planned enhancements and identifying technical debt within the original Android application.

Watch Review

Software Design and Engineering

Focuses on usability, security, and maintainability. Enhancements include responsive tablet layouts, centralized theming, and input validation.

View Details

Algorithms and Data Structures

Demonstrates algorithmic efficiency through sorting implementations and data visualization logic for inventory usage trends.

View Details

Databases

Showcases advanced database management using SQLite, including CRUD operations, data integrity checks, and permission management.

View Details