Answer
Flashcards · AP® Computer Science Principles · Unit 1
Unit 1: Creative Development (CRD) flashcards
23 cards on topics 1.1 to 1.4. Pick a topic or study the whole unit.
Study mode needs JavaScript. Every card is listed below, so you can still cover the answers and test yourself.
Choose your cards
Session complete
Worth another look:
All 23 cards
For a quick read-through or printing. Cover the right-hand side to test yourself.
1.1 Collaboration
- What counts as a computing innovation?
- An innovation that includes a program as an essential part of how it works. It can be physical (a device), nonphysical software (an app) or a nonphysical concept (e-commerce).
- Why does collaboration improve a computing innovation?
- Different people notice different problems, so mistakes and gaps are caught earlier. Collaboration covers both teamwork and consulting the users who will rely on the product.
- Why do diverse perspectives matter on a development team?
- They help the product fit more people, avoid bias and serve its real purpose. In an answer, name the group that is missing and the problem that could result, not just 'more people'.
- How does consulting users help a developer?
- Surveys, interviews and watching people try a prototype show what the program must do and how it will really be used, from the users' own point of view.
- What is pair programming?
- Two programmers share one computer: the driver writes the code and the navigator reviews each line. They swap roles regularly, so errors are caught as the code is written.
- Which interpersonal skills support collaboration?
- Communication, consensus building, conflict resolution and negotiation. They keep a team working together when members disagree.
1.2 Program Function and Purpose
- What is the difference between the purpose and the function of a program?
- Purpose is why the innovation exists: the problem it solves or the interest it serves. Function is what the program does to serve that purpose.
- What is program behavior?
- How the program acts when it runs, usually described by how a user interacts with it: 'when the user does X, Y happens'.
- What are input and output?
- Input is data sent to a program (tactile, audio, visual or text) from a user or another program. Output is data sent from the program to a device such as a screen or speaker, and it usually depends on input and stored state.
- What is an event in an event-driven program?
- An action such as a key press, a click or the program starting. It supplies input and can trigger code to run.
- Why must a program be tested with a variety of inputs?
- It has to work for many inputs and situations, not just one. Test values exactly at the limit of a condition, because greater than and greater than or equal to behave differently there.
1.3 Program Design and Development
- What is the difference between an iterative and an incremental process?
- Iterative: refine and revise based on feedback or testing, possibly returning to earlier phases. Incremental: break the problem into pieces and make sure each piece works before adding the next. A project can be both.
- What are the common phases of program development?
- Investigating and reflecting, designing, prototyping and testing. They are not a one-way sequence; developers often return to an earlier phase.
- What is the difference between requirements, specification and design?
- Requirements say how the program must function. The specification is those requirements written down. The design outlines how the program will meet them.
- Which methods are used to investigate what a program needs?
- Surveys, user testing, interviews and direct observation. They reveal constraints and the users' concerns.
- What is documentation, and do comments change how a program runs?
- Documentation describes what code does and how it was developed. Comments are documentation inside the program, and they do not affect how it runs.
- What must you do when you use code from another source?
- Acknowledge it, naming the origin or author. A good comment also explains purpose rather than repeating the code.
1.4 Identifying and Correcting Errors
- What is a syntax error?
- A mistake in which the rules of the programming language are not followed. The program will not run, and the language usually points to the line.
- What is a logic error?
- A mistake in the algorithm or program that makes it behave incorrectly or unexpectedly. The program still runs, but it gives a wrong result.
- What is a run-time error?
- A mistake that occurs while the program is executing, such as dividing by zero or asking for item 5 in a list of 4. Each language defines its own.
- What is an overflow error?
- A value falls outside the range that can be represented, for example an integer that needs more bits than the language provides.
- How do you choose good test inputs?
- Pick defined inputs whose expected outputs come from the requirements, not from the program under test. Include values at or just beyond the extremes and at the boundaries, such as 11, 12 and 13 for a rule at 12.
- How can you find the cause of an error?
- Use test cases, hand tracing, visualisations, debuggers or extra output statements such as DISPLAY(LENGTH(list)). After a correction, retest.
Study Unit 1 further
- 1.1 Collaboration Study guide: 1.1 CollaborationRevision notes: 1.1 CollaborationPractice questions: 1.1 Collaboration
- 1.2 Program Function and Purpose Study guide: 1.2 Program Function and PurposeRevision notes: 1.2 Program Function and PurposePractice questions: 1.2 Program Function and Purpose
- 1.3 Program Design and Development Study guide: 1.3 Program Design and DevelopmentRevision notes: 1.3 Program Design and DevelopmentPractice questions: 1.3 Program Design and Development
- 1.4 Identifying and Correcting Errors Study guide: 1.4 Identifying and Correcting ErrorsRevision notes: 1.4 Identifying and Correcting ErrorsPractice questions: 1.4 Identifying and Correcting Errors
AP® and Advanced Placement® are trademarks registered by the College Board, which is not affiliated with, and does not endorse, this website. Marlbridge is an independent tuition provider. It is not an authorized AP course provider, an AP school or an exam centre, and these resources are not official College Board materials. Reading them or doing simulations does not meet the laboratory requirement of an AP science course.