Table of Contents
1. Project Management
- A. Team Working Agreement: A team contract that sets team expectations and responsibilities as well as how issues will be dealt
- B. Individual Responsibility Agreement: Outlines how the work will be distributed among group members
- C. Project Schedule: A detailed schedule of when each part of the project will be completed
- D. Meeting Notes: Documentation of team meetings
2. Business Plan
- A. User Identification and Interviews: An interview intended to gain input from the average user
- B. Electronic Print/Advertisement: An advertisement to attract buyers
- C. Pitch Video with Demonstration: A video presentation introducing the team members, describing the games including a sales pitch to attract buyers to the game
3. Software Documentation
- A. Introduction: A brief introduction of the software design project
- B. User Manual: Description of all aspects of the program
- C. Program Description for Developers: Technical description of the program
- D. Final Flowchart
- E. Final Program with Comments
- F. Discussion: Documentation of programming experience and obstacles faced
- G. Conclusions and Recommendations
- H. References
Executive Summary
As technology continues to exponentially grow in today’s world, it is important that engineers are equipped with good programming skills no matter what engineering field they are studying. Throughout this semester, first year engineering students at Ohio State have learned program design and develop algorithmic thinking in order to code programs using Matlab. For the software design project, students were asked to code a game or multiple games in Matlab using the programming skills they have learned in Engineering 1181. The games were given a scale of complexity points (1-4) and the students had to code a game or multiple games that was at least two complexity points.
In order to determine what games to create, users were interviewed to determine what kind of games they wanted to play. Our team, Team K, then decided to create Connect Four and Under Over Seven. A project schedule was created in order to evenly divide the work amongst all group members. Additionally, a team working agreement and an individual responsibility agreement was signed by each member to make sure that the team was aware of expectations and their responsibilities. In order to begin coding the games, a flowchart was created to determine what functions will be needed to design the game. Creating the flowchart helped our team visualize the layout of the game design. Then the games were programmed and tested using Matlab. Games were created using a variety of commands especially while and for loops, array indexing, and graphical representation of the game board. To make sure the games ran properly, another set of user interviews were conducted where users played the games and then provided feedback. User interviews played an important role in the final design of the game because it helped us make our game more accessible and fun to play.
The Software Design Project was a good learning experience for our team. One of the things we learned was the importance of user feedback and how it can improve the design of any program. Through user feedback, games were improved by adding mouse control on Connect Four and adding user names in the games for a more personalized experience. User testing also pushed the limits of the code and the user interface, allowing our team to improve the functionality of the game. Through the software design project, our team got the opportunity to go through the process of creating/designing a program that helped to strengthen our algorithmic thinking. It allowed us to apply the coding skills that we learned in class like loops, functions, and loading external files into our program. This project also helped us gain more valuable experience and confidence with Matlab coding.