Raymond Agosto at SNHU
CS Capstone ePortfolio
Professional Self Assessment
For me the Computer Science program at SNHU represents a stepping stone into a career as a Software Engineer and Game Developer.
The unconventional experience of fully remote learning, combined with my previous campus experience have taught me how to adapt to various working environments. In person, I had collaborated with classmates on group projects, offering my ideas for solutions and working to maintain focus amidst surrounding distractions of a busy campus. In my time attending university remotely, I learned the value of effective communication with stakeholders, in this case my instructors; some questions that seemed unnecessary to ask actually saved a lot of time and otherwise misplaced effort, and in cases of unexpected issues, that communication allowed for more graceful course correction.
The coursework at SNHU not only expanded my knowledge of how to turn requirements into an effective algorithm, but also encouraged creativity in chosen approach to software design. One of the courses in User Experience had me researching why some applications were effortless to use and others felt cluttered or clunky, in order to make my own design as intuitive as possible.
In courses that did not seem immediately relevant to game development, I still looked for ways that content could be applied to future scenarios. For example, while databases are most often used for business purposes, I reminded myself that the same CRUD operations are used when a player accesses persistent data like a saved character in an online game.
For the coursework I found most interesting, I would outline additional objectives I could complete to challenge myself and to make the end result that much better. Time did not always allow for everything on those lists, but I have found that the most enjoyable and entertaining experiences were crafted by those who treated it as a passion project instead of an obligation.
The artifact in this portfolio is a text-based game that was designed originally to demonstrate basic Python scripting skills, but evolved into a more complex program exhibiting competencies across multiple categories.
The first category was Software Design and Engineering, where I recreated the game’s original functionality in Java; this was a somewhat straightforward process, but it required some redesign due to the differences in data structures available in both languages, as well as adherence to object-oriented programming principles.
The second category was Algorithms and Data Structures; here I tackled the DS challenge of searchable data by using HashMaps, and automated the process of game map creation with randomized elements, resulting in a more robust algorithm and more complex gameplay.
The third category was all about Databases; this is where I implemented a system for scoring and statistics, which could be displayed after the game was over, even reaching back to previous games via a JDBC SQLite database where those games’ data was saved after each run of the program.
All of these improvements are a testament to my working knowledge of programming languages, technical ability in designing and refining algorithms, and command of data persistence.