Video 1-3

Learning Objectives

  • Develop a program using a development process
  • Design a program and its user interface

Essential Knowledge

  • A development process can be ordered and intentional or exploratory in nature
  • There are multiple development processes. The following phrases are commonly used when developing a program:
    • investigating and reflecting
    • designing
    • prototyping
    • testing
  • A development process that is iterative requires refinement and revision based on feedback, testing, or reflection throughout the process. This may require revisiting earlier phrases of the process.
  • A development process that is incremental is one that breaks the problem into smaller pieces and makes sure each piece works before adding it to the whole.
  • The design of a program incorporates investigation to determine its requirements.
  • Investigation ina development process is useful for understanding and identifying the program constraints, as well as the concerns and interests of the people who will use the program.
  • Some ways investigation can be performed are as follows:
    • collecting data through surveys
    • user testing
    • interviews
    • direct observations
  • 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
  • In a development process, the design phase outlines how to accomplish a given program specification
  • The design phase of a program may include:
    • brainstorming
    • planning and storyboarding
    • organizing the program into modules and functional components
    • creation of diagrams that represent the layouts of the user interface
    • development of a testing strategy for the programs

How is a program developed?

It all starts with an idea.

  • Programs are developed with a specific purpose in mind
  • Developers follow specific steps and stick to their plan
  • Sometimes the development is more exploratory than anything, and the steps are dictated by what happens
    • Think about early AI projects, like personal assistants
  • Developers start investigating the problem/purpose and reflect
    • Investigation is an important step in the process
    • They must:
      • determine the requirements of the program
      • understand the constraints
      • understand the user concerns and interests
    • They investigate through surveys, user testing, interviews, direct observation