CS 499 Capstone ePortfolio

Nathan G

Welcome to my Computer Science ePortfolio. This site highlights my growth throughout the program and showcases my code review, original artifacts, enhanced artifacts, and reflection narratives.

View My Work

About This Portfolio

This ePortfolio was created as the final capstone for the Bachelor of Science in Computer Science. My main featured artifact is the Event Tracker Android application, which I enhanced to demonstrate software engineering and design, algorithms and data structures, and databases.

The portfolio includes my informal code review, original and enhanced artifacts, and narratives that explain what I improved and what I learned throughout the process.

Professional Self-Assessment

Throughout the Computer Science program, I developed a strong foundation in programming, software engineering, algorithms, databases, and security through a combination of coursework and hands-on projects. By working with languages such as Java, Python, and C++, I built applications that required implementing user interfaces, integrating databases, and solving real-world problems using structured logic. Completing this coursework and developing my ePortfolio allowed me to clearly identify my strengths, refine my professional goals, and better understand how to apply technical concepts in practical environments. This process has prepared me to enter the workforce with the ability to design, analyze, and improve software solutions while adapting to evolving technologies.

In addition to technical development, the program strengthened my ability to collaborate and communicate effectively. Through various assignments and projects, I worked in team-based environments where I contributed to shared goals, reviewed peer code, and incorporated feedback. These experiences helped me understand the importance of clear communication when working with both technical team members and non-technical stakeholders. I learned how to explain technical concepts in a way that is accessible, which is essential when gathering requirements, presenting solutions, or documenting systems. Outside of the featured artifacts in this portfolio, I also completed coursework that required written reports, presentations, and design documentation, further strengthening my ability to communicate complex ideas clearly and professionally.

My understanding of data structures and algorithms was developed through coursework focused on efficiency, problem-solving, and optimization. I applied concepts such as sorting, searching, and data organization to improve application performance and usability. In my Event Tracker application, I enhanced how data is processed by implementing sorting, filtering, and searching functionality, which improved the user experience and demonstrated my ability to apply algorithmic thinking in a practical context. Additionally, I gained experience analyzing time complexity and selecting appropriate data structures to support efficient operations.

The program also strengthened my skills in software engineering and database design. I learned to structure applications using principles such as separation of concerns, modularity, and maintainability. In my capstone project, I refactored my application by introducing a repository pattern, validation classes, and session management to create a cleaner and more scalable architecture. I also improved the database by expanding the schema, writing more advanced queries, and implementing full CRUD operations. These enhancements demonstrate my ability to design systems that are both functional and maintainable while effectively managing data.

Security awareness has also been an important part of my development. Throughout the program, I learned to consider potential vulnerabilities such as improper data handling, lack of validation, and insecure access control. I applied this knowledge by implementing input validation, managing user sessions, and ensuring that application components handle data safely. This security mindset allows me to anticipate potential risks and design solutions that protect both users and data.

The artifacts included in this ePortfolio work together to demonstrate the full range of my skills and growth throughout the program. Each artifact represents a different area of computer science, including software engineering, algorithms and data structures, and databases. Together, they show not only my ability to build applications, but also my ability to analyze, improve, and refine existing systems. This portfolio serves as a comprehensive representation of my technical abilities, problem-solving skills, and readiness to contribute to a professional computer science environment.

Informal Code Review

My code review explains the original functionality of the Event Tracker application, points out areas for improvement, and outlines the enhancements I planned across the three required categories.

Watch Code Review Video

Artifacts

Software Engineering and Design

This enhancement focused on improving code organization, maintainability, validation, session handling, and overall application structure in the Event Tracker app.

Enhanced Artifact

Algorithms and Data Structures

This enhancement focused on improving how event data is organized and processed through sorting, searching, and filtering features using lists and helper methods.

Enhanced Artifact

Databases

This enhancement improved the database by expanding the event schema, adding fields like location and category, and creating more advanced queries for searching and filtering data.

Enhanced Artifact

Skills Demonstrated

Contact

You can update this section with your email, GitHub profile, or LinkedIn.