1.3 Program Design and Development
Notes on topic 1.3
1.3 Daily Video 1
Learning Objectives:
- Develop a program using a development process
 - Design a program and its user interface
 
- Programs are developed with a specific purpose in mind
 - Developers follows specific steps and stick to their plan
 - The development may be more exploratory and the steps are dictated by what happens
    
- i.e. early AI projects
 
 - Program requirements describe how a program functions and may include a description of user interactions that a program must provide
 - A program’s specification defines the requirements for the program
 
Development Process
- Investigation/Reflection
    
- Determine the requirements of the program
 - Understand the constraints
 - Understand the user concerns and interests
 - With surveys, user testing, interviews, direct observations, etc.
 
 - Design
    
- Brainstorming, by drawing on investigation
 - Storyboarding the program
 - Planning user experience
 - Laying out user interface
 - Organizing into modules
 - Develop a testing strategy
 - Decide on program requirements
 
 - Prototyping
    
- Of the program or components
 - An incremental process is frequently used so developers can refine modules of the program
 
 - Testing
    
- Test program every step of the way
 - Testing occurs at micro level and macro level
 
 - Refine and revise
 
1.3 Daily Video 2
Learning Objectives:
- Acknowledge code segments used from other sources
 
- Programs are developed by teams of people, rarely solo
 - Individuals/teams work on different functional components
 - Each member deserves to receive credit for their work
 - Their names must be written in the documentation of the program indicating their contributions
 - Many projects use comments within the programming to give credit
 - Developers need to be able to determine who can/should fix the problem when there is bug
 - Developers may use code segments, procedures, algorithms, etc. from others
    
- Must credit these individuals
 - Considered intellectual property of the author
 - Author’s name and source of code segments
 - Resembles a bibliography or a works cited in research paper
 
 
1.3 Daily Video 3
Learning Objectives:
- Describe the purpose of a code segment or program by writing documentation
 
- Program documentation is a written description of the function of a code segment, event, procedure, or program, and how it was developed
 - Comments are a form of program documentation written into the program to be read by people, and do not affect how a program runs
 - Documentation happens throughout the development process
    
- Beginning: list specifications
 - During: track process
 - After: explain overall process
 
 - Program documentation helps effeciency of overall programming process, and programmers’ ability to test and refine the program and response to bugs
 - Improve developing or maintaining correct programs when working individually or in collaborative programming environments
 - Not all programming environments support comments, so other methods of documentation may be required
 
Program Design and Development Quiz
