wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

AP CSP - Code.org Unit 3 Review

Total questions: 27

Worksheet time: 30mins

Name
Class
Date
1.

Which of the following best describes one of the benefits of using an iterative and incremental process of program development?

a)

It allows programmers to implement algorithmic solutions to otherwise unsolvable problems.

b)

It eliminates the need for programmers to test completed programs.

c)

It enables programmers to create programs that use the lowest-level abstractions available.

d)

It helps programmers identify errors as components are added to a working program.

2.

How are procedures (functions) abstractions in computer science?

a)

They are blocks of code that do something specific

b)

They represent the lowest level of code for the computer to run

c)

They use actual values to represent concepts

d)

They can be used without understanding or seeing the code used.

3.

What do parameters used in a procedure provide?

a)

A way to get values into the procedure, making the code more flexible

b)

A way to return values calculated in the procedure back to the calling program

c)

A way to call a procedure from within another procedure

d)

A way to connect an API to the procedure

4.

What is an example of a coding-related abstraction?

a)

Using comments in your code

b)

The CPU (Central Processing Unit)

c)

Pressing a button on an app

d)

A constant value

5.

Why should procedures (functions) be used?

a)

They ease the workload of the processors

b)

They facilitate the storage of data on hard drives

c)

They make writing and maintaining programs easier through the reuse of code

6.

An extra piece of information passed to a function to customize it for a specific need

a)

Parameter

b)

Library

c)

Function

d)

Block

7.
A piece of code that you can easily call over and over again. 
a)
Repeat
b)
Functions
c)
Procedures
d)
Fractions
8.
A placeholder for a piece of information that can change.  This is also a term in math.
a)
variable
b)
Editor
c)
Item
d)
Information item
9.
Finding and fixing errors in programs
a)
Tech support
b)
Decompose
c)
Debugging
d)
Fixing
10.
An error in a program that prevents the program from running as expected.
a)
Error report
b)
Bug
c)
Mistake
d)
Algorithm
11.
Using
function drawCircle(r, x, y, c) {
   var circle = new Circle(r);
   circle.setPosition(x, y);
   circle.setColor(c);
   add(circle);
}
Which of the following statements would create a blue circle at the (x, y) point (100, 200)?
a)
drawCircle(100, 200, Color.blue);
b)
drawCircle(Color.blue, 100, 200);
c)
drawCircle(100, 200);
d)
drawCircle(10, 100, 200, Circle.blue);
12.
the ordered steps in a program.
a)
Sequence
b)
If...Then...Else
c)
Conditional
d)
Value
13.
is a sequence of instructions (or algorithm) written in a language or code that a computer can understand and put into action. Must be accurate to be correct.
a)
Procedure
b)
Algorithm
c)
Program
d)
Loop/ Repeat
14.

Which of the following best characterizes a high-level programming language?

a)

A language comprised entirely of hardware logic gates

b)

A language in which each instruction corresponds directly to an instruction in a computer’s machine code

c)

A language that is easy for a computer to interpret but difficult for humans to interpret

d)

A language that uses multiple abstractions to manage complexity

15.
Which of the following statements about abstraction is true?
a)
Abstraction requires users to understand the low-level details of a system.
b)
Abstraction reduces information and detail to facilitate focus on relevant concepts.
c)
Abstraction increases the run-time complexity of a program.
d)
Abstraction compresses a program file to reduce file size.
16.
In Computer Science, 1 means on and 0 means off.
a)
TRUE
b)
FALSE
17.
A programming language that captures only the most primitive operations available to a machine is a(n)?
a)
Algorithm
b)
High Level Programming Language
c)
Low Level Programming Langauge
18.
__________ means to repeat in order to achieve, or get closer to, a desired goal.
a)
Sequence
b)
Iterate
c)
Select
19.
Putting commands in correct order so computers can read the commands is 
a)
algorithms
b)
selection
c)
sequencing
20.
A(n) ___________ is a simplified representation of something more complex that lets you hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.
a)
Selection
b)
Abstraction
c)
Function
21.
A(n) __________ is a named group of programming instructions that are reusable abstractions that reduce the complexity of writing and maintaining programs.
a)
Function
b)
Abstraction
c)
Selection
22.
Know how to drive a car without knowing how the engine works is an example of abstraction 
a)
True
b)
False
23.

Why are these icons a good use of abstraction?

a)

They tell us what they mean without needing to use the name

b)

They are difficult to understand

c)

They don't explain what they are

24.

Which of the following is NOT a reason to include comments in programs

a)

Comments help the computer decide whether certain components of a program are important.

b)

Comments help programmers debug issues in their own code

c)

Comments help document how code was written for other programmers to use

d)

Comments enable programmers to track their work throughout the development process

25.

Which of the following BEST describes the differences between sequential and event-driven programming?

a)

In sequential programming commands run one at a time. In event-driven programming all commands run at the same time.

b)

In sequential programming commands run faster than in event-driven programming.

c)

In sequential programming each command is run many times in sequence. In event-driven programming all commands are run a single time as an event.

d)

In sequential programming commands run in the order they are written. In event-driven programming some commands run in response to user interactions or other events.

26.

Which of the following best describes the purpose of a design specification?

a)

Tracking errors that arise through user testing

b)

Documenting comments that will need to be added to a program

c)

Describing the requirements for how a program will work or users will interact with it

d)

Listing detailed questions that will be asked of users during interviews

27.

In which of the following stages of the development process is a team MOST likely to interview a potential user of an app?

a)

investigating and reflecting

b)

designing

c)

prototyping

d)

testing