Big Idea 1: Creative Development
Exam Weighting: 10-13%
1.1 Collaboration
- Computing Innovation includes a program as an important part of its function
- Can be both physical and nonphysical: Ex. Self driving car, ChatGPT, etc.
- Effective collaboration produces computing innovations that reflect the diversity of talents and perspectives of those who designed it.
- Collaboration helps avoid bias and errors
- Consultation and communication
- Collaboration practices communication, consensus building, conflict resolution, negotiation
- The exam will ask questions like “Which choice helps reduce bias during programming?”
- Information gathered from collaboration can be used to understand the purpose of a program
1.2 Program Function and Purpose
- Purpose of computing innovations is to solve problems or to pursue interest through creative expressions
- Program: A collection of program statements that perform a specific task when run by a computer. A program is often referred to as software
- Code segment: A collection of program statements that is part of a program
- Behavior of a program is how program functions during execution and is often described by how a user interacts with it
- Program inputs: Data sent to a computer, such as tactile, audio, visual, or text
- Event: Associated with an action and supplies input data to a program
- Program outputs: Data sent from a program to a device
1.3 Program Design and Development
- Basic Processes (According to Collegeboard)
- Investigating and reflecting
- Designing
- Prototyping
- Testing
- Iterative Development Process: Requires refinement and revision based on feedback, testing, or reflection throughout the process. Basically, you are repeatedly checking the program for improvements
- Incremental Development Process: Breaks the problem into smaller pieces and makes sure each piece works before adding it to the whole
- Design of a program incorporates investigation to determine its requirements
- Program documentation: Written description of the function of a code segment, event, procedure, or program and how it was developed
- Comments: Form of program documentation written into the program to be read by people and don’t affect how a program runs
- Programmers should always document a program
- Helps maintain correct programs
- Not all languages 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
1.4 Identifying and Correcting Errors
- Logic error: Mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.
- Logic error is often mistaken with other errors. Logic error does not break the program; it is when a program output is incorrect. Ex: 2 + 2 = 5
- Syntax error: Mistake in a program where the rules of the programming languages are not followed. Ex.
pritn("Hello world")
- Run-time error: Mistake in the program during the execution of a program.
- Ex: You want to find the 5th index of the string, but the string only has 4 characters. It will give you a run-time (IndexOutOfBounds) error.
- Overflow error: An error that occurs when a computer attempts to handle a number that is outside the defined range
- Ex: If you put a very large number (1000…….0000) the program will cause this error. Usually languages have a 32-bit limit on integers but you don’t need to know this (2147483648)
- Effective ways to handle errors
- Test cases, hand tracing, visualizations, debuggers, adding extra output statements
Most of the concepts in this unit are intuitive and most questions can be solved using common sense (This is probably the easiest unit btw). I mean you obviosuly know that a program is code run by a computer to do tasks or something. Some specific topics that are very likely to be on the exam:
- Computing Innovation
- Different Development Processes (Iterative, Incremental)
- Documentation
- Types of Errors
Example Problems
These are questions from the actual AP Exam.
Which of the following is a true statement about program documentation?
- (A) Program documentation should not be changed after it is first written.
- (B) Program documentation is only needed for programs in development; it is not needed after a program is completed.
- (C) Program documentation is useful when programmers collaborate but not when a programmer works individually on a project.
- (D) Program documentation is useful during initial program development and also when modifications are made to existing programs.
A computer program uses 3 bits to represent integers. When the program adds the decimal (base 10) numbers 5 and 3, the result is 0. Which of the following is the best explanation for the result?
- (A) An overflow error occurred.
- (B) A round-off error occurred.
- (C) The result was affected by lossy data compression.
- (D) The result was approximated by a floating-point representation.
Historically, it has been observed that computer processing speeds tend to double every two years. Which of the following best describes how technology companies can use this observation for planning purposes?
- (A) Technology companies can accurately predict the dates when new computing innovations will be available to use.
- (B) Technology companies can plan to double the costs of new products each time advances in processing speed occur.
- (C) Technology companies can set research and development goals based on anticipated processing speeds.
- (D) Technology companies can spend less effort developing new processors because processing speed will always improve at the observed rate.