AP Computer Science Principles- Big Idea 1
Logic Error
-is a mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly
Run-time Error
-is a mistake in the program that occurs during the EXECUTION of a program
Syntax Error
-is a mistake in the program where the rules of the programming language are not followed
Overflow Error
-is an error that occurs when a computer attempts to handle a number that is outside of the defined range of values
Event
-is associated with an action and supplies input data to a program -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 -Input can come from a user or other programs
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, AND/OR in more detail by both what the program does and HOW THE PROGRAM STATEMENTS ACCOMPLISH THIS FUNCTION
Testing
-uses defined inputs to ensure that an algorithm or program is producing the expected outcomes
Comments
-are a form of program documentation written into the program to be READ BY THE PEOPLE and do not affect how a program runs
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 Documentation
-is a Written Description of the function of a code segment, event, procedure, or program and how it was developed -helps in developing and maintaining correct programs when working individually or in collaborative programming environments
Code Segment
- is a collection of program statements that is PART of a program.
Program/Software
- is a collection of program statements that performs a specific task when run by a computer - it needs to work for a variety of inputs and situations - it is a set of instructions that a computer needs to follow in order to perform a task
Topic 1.1- Collaboration
-Collaboration is crucial when developing computing innovations, because having multiple perspectives offers opportunities to improve the design of innovations and help avoid bias -Collaboration includes consultation and communication -Common models like pair programming exist to facilitate collabs -Collaboration: Communication, Consensus Building, Conflict resolution, Negotiation
Topic 1.2- Program Function and Purpose
-Developers create and innovate using an iterative design process that is user-focused -The purpose of computing innovations is to solve problems or to pursue interests through creative expression -Programs are event driven with triggers -Action may be initiated by the user or another program/device -Innovations include apps, physical devices and systems -Description of code segments say what it does and include how it performs -Code segments have to work in a variety of different scenarios and lists
Topic 1.3- Program Design and Development
-Programs explore the problem/purpose, developers determine requirements and limitations/user concerns -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: 1. investigating and reflecting 2. designing 3. prototyping 4. testing -The design of a program incorporates investigation to determine its requirements. -Some ways investigation can be performed are as follows: 1. collecting data through surveys 2. user testing 3. interviews 4. direct observations
Topic 1.4- Identifying and Correcting Errors
-The following are effective ways to find and correct errors: 1. test cases 2. hand tracing 3. visualizations 4. debuggers 5. adding extra output statement(s) -Program requirements are needed to identify appropriate defined inputs for testing -Hand Tracing: most useful with iterations or loops, it is simply writing out the values of the variables within the loops it iterates to determine if the outcome is correct -Visualizations: determine if a program is working correctly by using graphs, charts, images -Adding extra output statements: helps find and fix errors, allows computer to do more work -Debuggers: use software that runs a program, allowing it to be paused and tested while its running to see if it work properly
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.