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
- Outcome 1 (Collaborative Environments): Met through the Code Review, where I analyzed technical debt to support team decision-making and simulated a collaborative feedback loop.
- Outcome 2 (Communication): Met by delivering a professional Code Review Video and creating this comprehensive ePortfolio, adapting technical details for different audiences.
- Outcome 3 (Algorithmic Principles): Met in the Algorithms enhancement by implementing custom sorting and graphing logic, evaluating trade-offs between memory usage and database performance.
- Outcome 4 (Innovative Techniques): Met in Software Design and Databases by refactoring to the MVVM architecture and implementing a normalized relational schema to deliver a robust, industry-standard solution.
- Outcome 5 (Security Mindset): Met in the Databases enhancement by implementing SHA-256 hashing, strict input validation, and secure permission handling to mitigate vulnerabilities.
Code Review
A comprehensive walkthrough of the existing code, highlighting planned enhancements and identifying technical debt within the original Android application.
Watch ReviewSoftware Design and Engineering
Focuses on usability, security, and maintainability. Enhancements include responsive tablet layouts, centralized theming, and input validation.
View DetailsAlgorithms and Data Structures
Demonstrates algorithmic efficiency through sorting implementations and data visualization logic for inventory usage trends.
View DetailsDatabases
Showcases advanced database management using SQLite, including CRUD operations, data integrity checks, and permission management.
View Details