Welcome Page

TABLE OF CONTENTS:

I. Project Management

     A. Team Working Agreement

     B. Individual Responsibilities Agreement

     C. Project Schedule

     D. Meeting Notes

II. Business Plan

     A. User Identification and Interviews

     B. Electronic Advertisement 

     C. Pitch Video with Demonstration

III. SOFTWARE DOCUMENTATION

      A. Introduction 

     B. User Manual

     C. Program Description for Developers

     D. Final Algorithm

     E. Final Program with Comments

     F. Discussion

    G. Conclusions and Recommendations 

    H. References 


Team K – Shawn Berry, Mikey Zedan, Yu-Shiang Jeng, Yibo Zhao

Software Design Project

Instructor – Bill Cohen, GTA – Nicolas Fernandez

12/3/18


Executive Summary

The goal of this project was to develop games within MATLAB, to thoroughly document the entire process, and to develop a business plan advertising the games as educational resources for university students learning MATLAB. This work included creating the games in MATLAB, commenting the code, writing external software documentation, creating a sales pitch and business plan, and documenting the steps taken in the group for all of these tasks. The objective of this project was to gain experience creating advanced programs in MATLAB as well as to gain a better understanding of the design process.

Two games were created in this project: Othello and Craps. Othello was considered a much more difficult game to program—however, a group member had already programmed Othello in C++. This meant that the code was rewritten for MATLAB, and was then checked by another group member for errors. The hardest thing about recreating this game, however, was the user interaction. The game board allowed the user to click where they wanted to place their next piece. This feature was added later in development, where the user previously had to type in the row and column of where they wanted to place their piece. This added feature greatly improved the user experience and was much more intuitive. The other game, Craps, was considered much easier to develop, but had to be created twice due to errors with nested loops. The first version did not implement a betting system, but was added in the second version.

This project was useful in deepening our understanding of MATLAB (e.g. writing loops, using its GUI functions), particularly in the context of creating games. The business aspect of it the project was also useful for gaining a better idea of how the design process works within a team. The skills gained programming in MATLAB and in a team setting will be useful in future projects.