Welcome Page

Table of Contents

Project Management: Documentation of the initiation, planning, and execution of the work of the team to complete this project and fulfill the necessary requirements by the requested due dates

  • Team Working Agreement: Guidelines as to how the team must work together to create a positive, productive process.
  • Individual Responsibility Agreement: An outline of the tasks completed by each team member; Includes an initial plan and end result.
  • Project Schedule: Includes a schedule listing the project’s tasks, activities, and milestones with the intended start and finish dates.
  • Meeting Notes: Encompasses a description of each team meeting and the tasks accomplished over time.

Business Plan: Entails documentation for promoting Crazy 8 as well as strategies to identify the intended audience

  • User Identification and Interviews: Includes documentation of two interviews, in which the first interview was conducted prior to development and the second was conducted after beta testing, in efforts to identify the intended audience. 
  • Electronic/Print Advertisement: The use of digital media (Electronic Advertisement) to help promote Crazy Eights.
  • Pitch Video with Demonstration: Provides a promotion video on how to play Crazy Eights and persuade buyers.

Software Documentation: Documentation and representations dealing with the program’s development and operation, as well as how to use the provided algorithms

  • Introduction: Includes a brief overview of the experiment and what the goals were. It also includes a roadmap of what is expected to be found in in the rest of the documentation.
  • User Manual: Provides a description is for a general audience that is not familiar with programming language and encompasses all rules of the game. 
  • Program Description for Developers: Includes description of all aspects of code, list of variables, list of game commands used.
  • Final Algorithm, Flowchart, of Psuedocode: Includes a flowchart which matches the team’s final program of Crazy Eights.
  • Final Program with Comments: Includes the code from the program used during final testing/demonstration.
  • Discussion: Provides brief explanations of what occurred during the game’s testing: the process of game creation, progression of MATLAB code, results of testing, refinements of code, and obstacles faced.
  • Conclusions and Recommendations: Includes description of the results obtained throughout the project, as well as recommendations for changes to the game if there was a longer timeline.
  • References: Provides links to resources used throughout the game-making process

Executive Summary

Team Q – Kalliopi Finitsas, Lindsay Isom, Sam Shaneyfelt, Veronica Whitson

Instructor – William Cohen, GTA – Robert Pancoast


The purpose of the Software Design Project was for an engineering team to solve a programming scenario by coding a game in MATLAB. This was achieved by utilizing problem-solving strategies, the engineering design process, and programming skills learned in class. Once the game was coded, the team advertised it to potential buyers and investors by creating advertisements. The group chose to replicate the card game Crazy Eights in MATLAB and made refinements to the code based on bugs found when testing the game. Changes to the code were also made based on input from user interviews conducted in the process. In addition to Crazy Eights, the team coded Over/Under 7 and Knockout, which were not documented for advertisement, but used for extra credit. Lastly, the group created a notebook which consisted of the team’s strategy to developing the game, their business plan to market it to the public, and the software documentation.

To begin the project, the team first made an individual responsibility and team agreement so the creation process would run efficiently. The team conducted two interviews, one before creating the game, and another after testing was conducted. These interviews were to ensure the game was coded in such a way that it was appealing to a general audience, and therefore would be an attractive investment to buyers and investors. The interviews revealed that users enjoyed playing games that involved no more than four players, took five to ten minutes to play, and was based on strategy rather than pure chance. The team took all these factors into consideration when constructing their game in MATLAB.

While coding Crazy Eights, the team faced challenges with communicating to the player through the user interface. These challenges were resolved by explicitly stating what input the computer was expecting, automatically moving on to the next player after one player made a move, and not repeating any cards in the deck. If the user was still unsure of how to play the game, the user manual flowcharts, and programming description were made to address any questions the user had about the game. Some issues in the program were technical and independent of the user input, such as array indexing and looping. Through trial and error, testing different approaches, and researching other card game codes, the appropriate changes were made so the game compiled correctly in MATLAB.

Through utilizing MATLAB software and skills learned in and outside of the classroom, the team developed the games Crazy Eights, Over/Under 7, and Knockout. Based on the programming experience the team underwent to finalize the games, it recommends creating a deck out of a numerical array, rather than a string array. This makes it much easier to ensure cards are not repeated when they have shown in the deck. Additionally, it is beneficial that each user be defined independently and has their own unique hand. The team also recommends including graphics to make the experience more interactive and appealing to buyers and investors.