Trevor Hegge
Southern New Hampshire University
December 2025


Professional Self-Assessment Code Review Video Software Design Algorithms Databases

Welcome to My ePortfolio

Welcome to my professional ePortfolio showcasing my growth and achievements throughout the Computer Science program at Southern New Hampshire University. This portfolio demonstrates my skills in software engineering, algorithms and data structures, and database management through three enhanced artifacts that illustrate my ability to write secure, efficient, and maintainable code.


Professional Self-Assessment

Read my complete professional self-assessment to learn about my journey through the Computer Science program, the skills I have developed, and how I am prepared to contribute as a professional software developer.

Key Highlights:

  • Demonstrated ability to transform poorly structured code into professional-quality software
  • Proven expertise in identifying and fixing critical security vulnerabilities
  • Strong understanding of algorithmic efficiency with measurable performance improvements
  • Experience working in collaborative team environments with effective communication skills

Code Review

Watch my Code Review Video on YouTube

In this 30-minute code review, I analyze three artifacts from my coursework, identify areas for improvement, and explain my enhancement plans. The review covers:

  • Existing functionality: Walkthrough of original code features
  • Code analysis: Identification of issues in structure, security, efficiency, and documentation
  • Enhancement plans: Detailed explanation of planned improvements aligned with course outcomes

The code review demonstrates my ability to:

  • Critically analyze existing code
  • Identify security vulnerabilities and performance bottlenecks
  • Communicate technical concepts clearly
  • Plan systematic improvements

Enhanced Artifacts

1. Software Design & Engineering: Task Management Application

Original: Basic command-line task manager from CS 320 with global variables, no error handling, and no data persistence

Enhanced: Professional object-oriented application with comprehensive error handling, JSON persistence, and input validation

Key Improvements:

  • ✅ Refactored from procedural to OOP design (Task and TaskManager classes)
  • ✅ Added comprehensive try-except error handling
  • ✅ Implemented JSON file persistence for data storage
  • ✅ Added input validation preventing crashes
  • ✅ Professional documentation with docstrings and type hints

Skills Demonstrated:

  • Object-oriented design and encapsulation
  • Defensive programming and error handling
  • Data persistence implementation
  • Code organization following DRY principle

Course Outcomes: 3, 4, 5

View Enhancement Narrative Download Original Code Download Enhanced Code

2. Algorithms & Data Structures: Student Records Management System

Original: Student records system from CS 260 with O(n²) bubble sort and O(n) linear search

Enhanced: High-performance system with O(n log n) sorting and O(1) hash table lookups

Key Improvements:

  • ✅ Replaced bubble sort with Timsort: 1,000x faster for 10,000 students
  • ✅ Converted list to hash table dictionary: 10,000x faster ID searches
  • ✅ Implemented heap algorithm for top-N selection
  • ✅ Added performance benchmarking and timing
  • ✅ Comprehensive input validation with error messages

Skills Demonstrated:

  • Computational complexity analysis (Big O notation)
  • Data structure selection (hash tables vs. lists)
  • Algorithm optimization with measurable results
  • Performance benchmarking

Course Outcomes: 2, 3, 4

View Enhancement Narrative Download Original Code Download Enhanced Code View README

3. Databases: Inventory Management System

Original: Inventory system from CS 340 with 7 SQL injection vulnerabilities, no constraints, and no indexes

Enhanced: Secure, optimized database application with parameterized queries, constraints, and performance indexes

Key Improvements:

  • 🔒 CRITICAL: Fixed all 7 SQL injection vulnerabilities with parameterized queries
  • ✅ Added foreign keys, NOT NULL, and CHECK constraints
  • ✅ Created performance indexes: 100-1,000x faster queries
  • ✅ Optimized queries using SQL aggregation instead of Python loops
  • ✅ Implemented transaction management with automatic rollback
  • ✅ Moved credentials to environment variables

Skills Demonstrated:

  • SQL injection prevention (OWASP Top 10)
  • Database schema design with constraints
  • Query optimization and indexing
  • Transaction management and error handling
  • Security-first development approach

Course Outcomes: 2, 4, 5

View Enhancement Narrative Download Original Code Download Enhanced Code View README

Course Outcomes Achievement

This ePortfolio demonstrates mastery of all five Computer Science program outcomes:

1. Collaborative Environments

Evidence: Code review video, comprehensive documentation, clear in-code comments

  • Demonstrated ability to communicate technical concepts to diverse audiences
  • Provided clear documentation that enables collaboration
  • Explained decision-making process in narratives

2. Professional Communication

Evidence: Code review, narratives, README documentation, professional self-assessment

  • Created technical documentation appropriate for different audiences
  • Delivered clear oral communication in code review video
  • Wrote professional narratives explaining technical improvements

3. Algorithmic Principles & Design

Evidence: Student Records enhancement, database optimization, OOP refactoring

  • Analyzed and improved computational complexity (O(n²) → O(n log n))
  • Selected appropriate data structures (list → hash table)
  • Made informed design trade-offs with justification

4. Well-Founded Techniques & Tools

Evidence: All three artifacts demonstrate industry-standard practices

  • Implemented OOP design patterns
  • Used parameterized database queries
  • Applied performance optimization techniques
  • Leveraged Python standard library effectively

5. Security Mindset

Evidence: SQL injection fixes, input validation, defensive programming

  • Identified and eliminated critical security vulnerabilities
  • Implemented comprehensive input validation
  • Added database-level constraints for defense-in-depth
  • Applied security-first development approach

Technical Skills Summary

Programming Languages

  • Python (Advanced)
  • SQL (Intermediate)

Software Development

  • Object-Oriented Programming
  • Design Patterns
  • Error Handling & Input Validation
  • Code Documentation
  • Version Control (Git/GitHub)

Data Structures & Algorithms

  • Hash Tables / Dictionaries
  • Sorting Algorithms (Bubble Sort, Timsort, QuickSort)
  • Heap Data Structures
  • Big O Complexity Analysis
  • Performance Benchmarking

Database Management

  • SQLite
  • SQL Query Optimization
  • Database Schema Design
  • Parameterized Queries (SQL Injection Prevention)
  • Database Constraints (Foreign Keys, NOT NULL, CHECK)
  • Database Indexing
  • Transaction Management

Security

  • SQL Injection Prevention
  • Input Validation
  • Defensive Programming
  • OWASP Top 10 Awareness

Contact Information

Email: trevor.hegge@snhu.edu
GitHub: Hegget34


Thank You

Thank you for visiting my ePortfolio. I am excited to apply the skills and knowledge I have gained throughout this program in my professional career. If you have any questions or would like to discuss my work, please feel free to contact me.


This ePortfolio was created as part of the CS 499 Computer Science Capstone course at Southern New Hampshire University.

Last Updated: December 2025