Trevor Hegge
Southern New Hampshire University
December 2025
Navigation
| 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