Big Idea 1: Creative Development Flashcards
What is a computing innovation?
A computing innovation includes a program as an integral part of its function.
A computing innovation can be physical (e.g., self-driving car), nonphysical computing software (e.g., picture editing software), or a nonphysical computing concept (e.g., e-commerce).
Why are computing innovations improved through collaboration?
Effective collaboration produces a computing innovation that reflects the diversity of talents and perspectives of those who designed it.
Collaboration that helps include diverse perspectives helps avoid bias the in the development of computing innovations.
Consultation and communication with users are important aspects of the development of computing innovations.
Information gathered from potential users can be used to understand the purpose of a program from diverse perspectives and to develop a program that fully incorporates these perspectives.
How are computing innovations developed by groups of people?
Online tools support collaboration by allowing programmers to share and provide feedback on ideas and documents.
Common models such as pair programming exist to facilitate collaboration.
What are some effective interpersonal skills during collaboration?
Effective collaborative teams practice interpersonal skills, including but not limited to:
- communication
- consensus building
- conflict resolution
- negotiation
What is the purpose of a computing innovation?
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.
How does a program or code section function and what are these? In the answer, explain the definition of program, code segment, and behaviour.
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.
What are program inputs? In the answer, explain the definition of program inputs and event.
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.
An event is associated with an action and supplies input data to a program. Events can be generated when a key is pressed, a mouse is clicked, a program is started, or any other defined action occurs that affects the flow of execution.
Inputs usually affect the output produced by a program.
In event-driven programming, program statements are executed when triggered rather than through the sequential flow of control.
Input can come from a user or other programs.
What are program outputs? In the definition, explain the definition of program outputs.
Program outputs are any data sent from a program to a device. Program output can come in a variety of forms, such as tactile, audio, visual, or text.
Program output is usually based on a program’s input or prior state (e.g., internal values).
How are programs developed using a development progress?
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, and testing.
A development process that is iterative requires refinement and revision based on feedback, testing,or reflection throughout theprocess. 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.
What are the considerations and components involved in designing a program and its user interface?
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 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 program
How should one describe the purpose of a code segment or program by writing documentation? In the definition, explain the definition of program documentation and comments.
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.
How should one acknowledge code segments used from other sources?
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.
How can one identify and correct errors in an algorithm or program? In the definition, explain the definition of logic error, syntax error, run-time error, and overflow error.
**Logic error: A mistake that causes the program to behave incorrectly or unexpectedly.
Syntax error: A mistake where the rules of the programming language are not followed.
Run-time error: A mistake that occurs during the execution of a program. Each programming language defines its own run-time errors.
Overflow error: An error that occurs when a number outside the defined range of values is handled by the computer.**
What are effective methods to correct errors in an algorithm or program?
Effective ways to find and correct errors in a program include:
- Using test cases to check for expected outputs.
- Hand tracing to follow the logic and values through the execution of the code.
- Employing visualizations to understand data flow and logic structure.
- Utilizing debuggers to step through the code and isolate problems.
- Adding extra output statements to monitor values and program flow at critical points.
How can one identify inputs and corresponding expected outputs or behaviors that can be used to check the correctness of an algorithm or program? In the definition, explain the definition of testing.
In the development process, testing uses defined inputs to ensure that an algorithm or program is producing the expected outcomes. Programmers use the results from testing to revise their algorithms or programs.
Defined inputs used to test a program should demonstrate the different expected outcomes that are at or just beyond the extremes (minimum and maximum) of input data.
Program requirements are needed to identify appropriate defined inputs for testing.