Professional Self-Assessment

Throughout the Computer Science program, I have developed a stronger understanding of what it means to build software that is useful, organized, maintainable, and secure. My coursework has exposed me to software engineering, databases, algorithms, cybersecurity, full-stack development, testing, and project planning. As I have moved through the program, my career goals have become more focused on practical software development, especially web applications, backend development, and tools that solve real problems for users.

Developing this ePortfolio helped me connect the skills I learned across multiple courses into one complete project. The main artifact in this portfolio is my Flask-based resume website. I enhanced this artifact in three major areas: software design and engineering, algorithms and data structures, and databases. These enhancements show my ability to improve an existing application, add meaningful functionality, evaluate design decisions, and organize code in a way that supports future growth.

The software engineering enhancement improved the structure and usability of the site through navigation updates, project revisions, and better organization. The algorithms enhancement added an interactive sorting algorithm visualizer that compares algorithms on the same dataset and displays performance metrics. The database enhancement integrated SQLite so project and algorithm information could be stored in a database and rendered dynamically through Flask routes and templates.

This portfolio also reflects growth in communication and collaboration. Using GitHub branches helped separate each enhancement and made the development process easier to track. Writing narratives and preparing a code review required me to explain technical decisions clearly for an audience that may include instructors, peers, or future employers. These experiences helped me understand that software development is not only about writing code, but also about explaining decisions, documenting progress, and creating work that others can understand.

Security has also become an important part of how I think about software. Through coursework and this project, I have learned to consider data handling, validation, maintainability, and potential design flaws earlier in the development process. While this portfolio is not a large production system, the process of improving it helped me practice a security-focused mindset and think more carefully about how software should be structured and protected.

This portfolio also reflects growth in communication and collaboration. Using GitHub branches helped separate each enhancement and made the development process easier to track. Writing narratives and preparing a code review required me to explain technical decisions clearly for an audience that may include instructors, peers, or future employers. These experiences helped me understand that software development is not only about writing code, but also about explaining decisions, documenting progress, and creating work that others can understand.

Overall, this ePortfolio demonstrates my growth as a computer science student and my preparation to continue developing as a software professional. It brings together practical programming, web development, algorithmic thinking, database integration, communication, and secure design principles into one cohesive project.


Code Review

The code review video will provide a walkthrough of the original artifact, identify areas for improvement, and explain the planned enhancements for software engineering, algorithms and data structures, and databases.

Code Review Video Link


Enhancement One: Software Design and Engineering

This enhancement improved the structure, usability, and professional presentation of the Flask resume website. I added clearer navigation, improved project organization, updated portfolio content, and made the site easier to use as a professional portfolio.

View Software Engineering Branch

View Software Engineering Narrative

Before Enhancement

Software engineering before enhancement screenshot

After Enhancement

Software engineering after homepage screenshot

After Enhancement: Projects Section

Software engineering after projects section screenshot

Enhancement Two: Algorithms and Data Structures

This enhancement added an interactive algorithm visualizer to the portfolio site. The visualizer allows users to compare sorting algorithms using the same dataset and view performance metrics such as comparisons, swaps, runtime, and winner results.

View Algorithms Branch

View Algorithms and Data Structures Narrative

Before Enhancement

Algorithms before enhancement screenshot

After Enhancement: Visualizer

Algorithm visualizer after enhancement screenshot

After Enhancement: Comparison Results

Algorithm visualizer completed comparison screenshot

Enhancement Three: Databases

This enhancement integrated a SQLite database into the Flask website. Project information and algorithm metadata were moved from hardcoded HTML into database records. Flask now retrieves this data through a database access layer and renders it dynamically in the website templates.

View Database Branch

View Database Narrative

Before Enhancement: Hardcoded Content

Database before enhancement hardcoded content screenshot

After Enhancement: Database Files

Database after enhancement file structure screenshot

After Enhancement: Dynamic Projects

Database after enhancement dynamic projects screenshot