1.3 Notes

Screenshots:

Key Points

  • 1.3: Daily Video 1In this video, we will learn that computer programs are developed with a systematic approach to achieve a desired purpose.
  • 1.3: Daily Video 2In this video, we will learn that programs are developed by groups of people and new programs are often written by expanding on the programs already written by others.
  • 1.3: Daily Video 3In this video, we will learn that programmers use comments and/or documentation to explain the purpose of their program code to themselves, collaborators, and others.

Key Takeaways

  • A development process can be ordered and intentional, or exploratory in nature.
  • There are multiple development processes.
    • The following phases 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 phases 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 in a 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 observation
  • 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:
    • 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 program

Topic 1.3, Daily Video 2

- Acknowledge someone who created the code segment you’re building off of
    - Programs are rarely solo endeavors
    - Write their name or origin in documentation or comments
- Many times developers use code segments, algorithms, procedures, and more that are written by others
- Similar to quoting in research papers
- If you’re using someone else’s code segment for your program, acknowledge and quote that author’s name or origin in documentation or comments as it is their intellectual property

Topic 1.3, Daily Video 3

Programs are created by: - describe the overall program - list program specifications describe: - functions/procedures/methods within the code - specific code segments - list of events and corresponding outputs - the development of the program - how other programs may interact with the code - List of contributors/authors of the other programs - Documentation happens throughout the development of the program: - At the beginning: list specifications - During: to keep track of the process - After: to explain the overall process - Documentation throughout can improve: - Efficiency of overall programing process - Programmers’ ability to test and refine the program - Programmers’ response to bugs and errors - How do programmers document while programming? - Commenting feature - commenting is only featured and allows in some programming languages - commenting doesn’t affect code or text

Summaries from Videos

  • 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.
  • Programmers should document a program throughout its development
  • Program documentation helps in developing and 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.
  • It is important to acknowledge any code segments that were developed collaboratively or by another source
  • Acknowledgement of a code segment(s) written by someone else and used in a program can be in the program documentation. The acknowledgement should include the origin or original author’s name

Ways Programmers Investigate:

  • collecting data through communication channels, such as surveys
  • user testing
  • conducting interviews with clients to assess what their needs are
  • direct observation of the project in action if the project has already been through one or two loops

In an iterative process, this stage can also include a reflection aspect on ways the project could improve or why something isn’t working. With every repetition, the questions to investigate and reflect on change, becoming more specific over time. Designing Code The design phase of the development phase details how to accomplish the goals of the program. This design phase may include: - brainstorming - planning and story-boarding - organizing the program into modules and functional components - creating diagrams that represent the layouts of the user interface - developing a testing strategy for the program

  • Developers create and innovate using an iterative design process that is userfocused, that incorporates implementation/feedback cycles, and that leaves ample room for experimentation and risk-taking
  • The purpose of computing innovations is to solve problems or to pursue interests through creative expression.
  • An understanding of the purpose of a computing innovation provides developers with an improved ability to develop that computing innovation
  • A program is a collection of program statements that performs a specific task when run by a computer. A program is often referred to as software
  • A code segment is a collection of program statements that is part of a program.
  • A program needs to work for a variety of inputs and situations.
  • The behavior of a program is how a program functions during execution and is often described by how a user interacts with it
  • A program can be described broadly by what it does, or in more detail by both what the program does and how the program statements accomplish this function
  • Program inputs are data sent to a computer for processing by a program. Input can come in a variety of forms, such as tactile, audio, visual, or text.

How to make comments in different languages:

- Python (#)
- Java (// - single line; /* */ - multiple lines; /** **/ - multiple line documentation)
- Javascript, C/C++, Swift - also use something similar to Java
- XML/HTML (<!-- -->)
- Applescript/Pascal (* *)
- block-based languages use pop-outs for comments