1.3 Program Design and Development Notes

Daily Video 1

  • Use a development process to develop a program
  • Design a program and its user interface
  • A development process can be ordered and intentional or exploratory in nature
  • Common phases when developing a program: investigating and reflecting, designing, prototyping, testing
  • Requires refinement and revision based on feedback, testing, and reflection: may require revisiting phases
  • Break the project into smaller pieces and make sure each piece works before adding it to the whole
  • Investigate to determine requirements, constraints, concerns and interests of customer
  • Investigate by: collecting data through surveys, user testing, interviews, direct observations
  • Requirements describe how a program functions and may include a description of user interactions that a program should provide
  • Design phase that outlines how to accomplish a program’s goal may include: brainstorming, planning/story boarding, organizing the program into modules and functional components, creation of diagrams, develop testing strategy
  • Constantly test your program

    Daily Video 2

  • When developing a program, it is important to cite and acknowledge code segments used from either another source or developed collaboratively
  • When acknowledging someone else, include the origin of code or authors name in the program documentation
  • Team of people usually work on a program by each focusing on different functional components
  • Each member’s work should be credited in program documentation Sometimes credit is given with comments in the code
  • Many developers use code segments, procedures, algorithms made by others who aren’t part of the project so it is important to credit them

    Daily Video 3

  • Describe the purpose of a code segment or program by writing documentation
  • Program documentation: a written description of the function of a code segment, event, procedure, or program and how it was developed EX: comments (don’t effect how the program runs)
  • Should actively document throughout development to help development as well as maintaining correct programs
  • Program documentation created to: describe the program, list specifications, describe different parts of the program, list of contributors
  • Document process: beginning: list specifications, during: keep track of progress, after: explain overall process
  • Documentation improves: programming process efficiency, ability to test and refine program, responding to bugs

Purpose and Brainstorm for our Escape Room

Purpose

The overall goal of our project is to use a fun interactive game to show off our group’s ability to work together and our coding expertise. Our plan for our project is to make a game which involves the user to go through an escape room. The user will be able to go through several scenarios which will all lead to different outcomes. We plan to make the game very interactive and enjoyable for everybody to play. Each decision the user makes changes the course of what their outcome is going to be to make it more fun and creative. To meet the college board’s requirements, we intend to make our game extremely difficult, and we’ll make sure that everyone can grasp the coding and explain it.

Brainstorm

  • Marvel theme/characters
  • Different items in a room that one can click on. It will take them to another screen where they need to figure something out to find the hint.
  • Different choices result in different outcomes
  • Multiple rooms to go to
  • Make it easy for the game to be played, but the game itself to be kind of hard

Project Idea Our Group is planning on making an interactive escape room game. We want the the user to be faced with several different actions to choose from. Each action will result in a different result. Certain results will produce more preferrable outcomes that will get the user closer to escaping the room. After series of different scenarios, the user will be informed on whether they the right decisions and successfully made it out of the escape room or if they are still trapped, in which they will be promted to play again

Row 1: Program Purpose and Function In order to earn this point, our group will take screenshots of the code and provide in depth explanations of how the code works and explain our thinking behind it. This will be seperate from the game itself as we want it to be visually pleasing without code obstructing the experience for the user.

Point 2: Data Abstraction We will be sure to include two program segments like stated int he rubric. Furthermore, one of the segments will show how data is stored in a list, and the other will show how the same data is used to complete the purpose of the program

Point 3: Managing Complexity Our group will spend extensive time on this project to make sure it is as advanced as possible. We will incorporate all the unique tricks we have learned throughout this trimester to demonstrate our learning. We will also write a detailed explanation of our code showing that we actually understand the code rather than just being able to write it.

Point 4: Procedural Abstraction As stated in the rubric, we will have 2 program code segments that fulfill different requirements. One shwoing a student developed procedure with a parameter that has an effect on the functionality of the procedure. The other will show where the student-developed procedure is being called

Point 5: Algorithm Implementation We will incorporate sequencing, selection, and iterations, into our project code. This will display our diverse knowledge in coding. We will give a thorough explanation that will be easily understable for our grader.

Point 6: Testing We will describe the conditions being tetsed by each call to the procedure. Additionally, we will identify the result of each call. Our conditions will use parameters to exectue different code segments and execute/bypass code segements