Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Unit 2

Total questions: 49

Worksheet time: 25mins

Name
Class
Date
1.

Which form of abstraction involves grouping together similarities within a problem to identify what kind of problem it is?

a)

Abstraction by generalisation

b)

Abstraction by value

c)

Abstraction by size

d)

Abstraction by date

2.

What is meant by data abstraction?

a)

A form of abstraction in which details about how data is being stored are hidden.

b)

A form of abstraction in which details about how data is being stored are shown.

c)

A form of abstraction in which details about how information is being stored are hidden.

d)

A form of abstraction in which details about how information is being stored are hidden.

3.
What is representational abstraction?
a)
A technique in which excessive details are removed to arrive at a representation of a problem that consists of only the key features.
b)
A technique in which random details are removed to arrive at a representation of a problem that consists of only the key features.
c)
A technique in which excessive details are removed to arrive at a representation of a problem that consists of no key features.
d)
A technique in which random details are removed to arrive at a representation of a problem that consists of no key features.
4.

What kind of problems make use of multiple levels of abstraction?

a)

Large, complex problems

b)

Small, complex problems

c)

Large, simple problems

d)

Small, simple problems

5.

How does abstraction allow non-experts to make use of a system?

a)

Hides complex and irrelevant information in abstract models.

b)

Displays the answer in easy to understand language

c)

Breaks the problem into small parts

d)

Problem can be split between multiple developers

6.

State two advantages of using abstraction in software development

a)

Easier for programmers to focus on core elements

b)

Reduces the time needed to be spent on the project.

c)

Easier to remember syntax in high-level languages as it is closer to natural language

d)

Methods are an abstraction for the actions a real-world object is able to perform.

7.
Give an applications of layers of abstraction
a)
Networking (TCP/IP layer)
b)
Victoria Sponge
c)
RGB
d)
Binary
8.

State two advantages of using abstraction in programming languages

a)

Easier to remember syntax in high-level languages as it is closer to natural language

b)

Coding becomes accessible to beginners

c)

Programming becomes more secure

d)

Attributes are an abstraction for the characteristics of an object.

e)

Methods are an abstraction for the actions a real-world object is able to perform.

9.

How does object-oriented programming use abstraction?

a)

Objects are an abstraction for real-world entities.

b)

Attributes are an abstraction for the characteristics of an object.

c)

Methods are an abstraction for the actions a real-world object is able to perform.

d)

Easier to remember syntax in high-level languages as it is closer to natural language

e)

Coding becomes accessible to beginners

10.

What is the difference between abstraction and reality?

a)

Abstraction is a simplified representation of reality

b)

Attributes are an abstraction for the characteristics of an object.

c)

Methods are an abstraction for the actions a real-world object is able to perform.

d)

Easier to remember syntax in high-level languages as it is closer to natural language

11.

What is the purpose of thinking ahead?

a)

To make programs easy and intuitive for users to use.

b)

selecting data from a larger pool to show only the relevant details to the object. It helps to reduce programming complexity and effort.

c)

break down your project scope into manageable chunks.

d)

observe and analyze phenomena, reactions, and feedback and then draw conclusions based on that input.

12.

Define inputs.

a)

Any data that is required to solve a problem, usually entered into the system by the user.

b)

Hardware peripherals

c)

The results that are passed back once the outputs have been processed and the problem solved.

d)

Open source software

e)

proprietary software

13.

Define outputs

a)

The results that are passed back once the inputs have been processed and the problem solved.

b)

Any data that is required to solve a problem, usually entered into the system by the user.

c)

Hardware peripherals

d)

Open source software

e)

proprietary software

14.

What considerations do programmers need to make regarding inputs and outputs when thinking ahead?

a)

Method of input/output (device used)

b)

Data structures used

c)

Data types used

d)

Order of data

15.

Identify the inputs that are likely to be used in a book reservation system i.e. at a library.

a)

Book details: name, author

b)

ISBN

c)

Borrower details: name, library card<br />number

d)

Collection point

e)

Book cost

16.

Identify the outputs that are likely to be used in a book reservation system i.e. at a library.

a)

Expected waiting time

b)

Confirmation

c)

Availability at other libraries

d)

Book cost

e)

Borrower details: name, library card number

17.

What are preconditions?

a)

Requirements which must be met before a program can be executed.

b)

Requirements which must be met before a program can be designed.

c)

Requirements which must be met before a program can be concieved.

d)

Requirements which must be met before a program can be tested.

18.
Where can preconditions be defined?
a)
Within the code or within documentation.
b)
Within the code
c)
Within documentation
19.

State two advantages of including preconditions within the documentation accompanying a subroutine.

a)

Reduces the length of the program

b)

Reduces the complexity of the program

c)

Reduces the running time of the program

d)

Reduces the length of the documentation

20.

Define caching.

a)

The process of storing instructions or values in cache memory after they have been used, as they may be used again.

b)

Requirements which must be met before a program can be executed.

c)

Requirements which must be met before a program can be designed.

d)

Requirements which must be met before a program can be concieved.

e)

Requirements which must be met before a program can be tested.

21.

How is caching used in storing web pages?

a)

Web pages that a user frequently accesses are cached, so the next time one of these pages is accessed, content can be loaded without any delay.

b)

The process of storing instructions or values in cache memory after they have been used, as they may be used again.

c)

Requirements which must be met before a program can be executed.

d)

As developing from scratch is not required, this saves time, money and resources.

22.

What are the advantages of caching web pages?

a)

Content can be loaded without delay

b)

Images and text do not have to be downloaded again multiple times

c)

Frees bandwidth for other tasks on a network

d)

Less time is spent waiting

e)

Accuracy of the algorithms used

23.

What is the name given to the technique in which instructions are fetched based on algorithms which predict which instructions are likely to soon be used?

a)

Prefetching

b)

Caching

c)

Preconditions

d)

Reusable Components

24.

Give a limitation of caching.

a)

Accuracy of the algorithms used

b)

Effectiveness of algorithm in managing the cache

c)

Content can be loaded without delay

d)

Images and text do not have to be downloaded again multiple times

e)

Less time is spent waiting

25.

Give some advantages of using reusable program components.

a)

More reliable than new components, as they have already been tested

b)

As developing from scratch is not required, this saves time, money and resources.

c)

Frees bandwidth for other tasks on a network

d)

Content can be loaded without delay

e)

Reduces the length of the documentation

26.

Give two examples of reusable program components

a)

Abstract data structures eg. queues and stacks

b)

Classes

c)

Prefetching

d)

Preconditions

e)

Caching

27.

What is the first stage of thinking procedurally?

a)

Taking the problem defined by the user and breaking it down into its constituent parts

b)

Developing a solution

c)

Testing a solution

d)

Analysing a problem

28.

What is the purpose of problem decomposition?

a)

To make complex problems easier to solve and more manageable by allowing tasks to be divided between a group of people according to individual skill sets.

b)

The process of separating ideas from specific instances of those ideas at work

c)

Any situation in the design or programming of a system when you would want more than one thing happening at the same time

d)

Letting the problem rot away

29.

State another name given to top-down design.

a)

Stepwise refinement

b)

Problem Recognition

c)

Divide and Conquer

d)

Problem Decomposition

e)

Backtracking

30.

What is the purpose of top-down design?

a)

Continually break problems down into subproblems until each subproblem can be represented as a single task and ideally a self-contained subroutine.

b)

The analysis of a large amount of data in a data warehouse to provide new information.

c)

An algorithm for finding a complete solution. This is a refined brute force methodology. It is a very general algorithm for finding all (or some) solutions to computational problems.

d)

The process of separating ideas from specific instances of those ideas at work

31.

What are the benefits of using top-down design?

a)

Problems can be solved and modules developed by different people

b)

Tasks can be tested separately. Modules are self-contained

c)

Uses abstraction to create algorithms and prototypes

d)

Wireframe designs are required before development can take place

32.

What sort of problems is top-down design suited to?

a)

Large, complex problems

b)

Small, complex problems

c)

Large, simple problems

d)

Small, simple problems

33.

What is the second stage of thinking procedurally in software development?

a)

Identifying components of a solution

b)

Taking the problem defined by the user and breaking it down into its constituent parts

c)

Developing a solution

d)

Testing a solution

34.

What are the lowest level subproblems in top-down design in code?

a)

self-contained modules or subroutines

b)

Machine Code

c)

High Level Language

d)

Flow Chart

35.

What do software developers need to consider when recombining components of a solution?

a)

The order in which subroutines are executed, and how they interact with each other, based on their role in solving the problem.

b)

Who the original author of the component was

c)

Will they fit together

36.

What must a software developers do before designing a subroutine to solve a particular problem?

a)

See whether it is possible for an already existing subroutine or module to be used.

b)

Taking the problem defined by the user and breaking it down into its constituent parts

c)

Developing a solution

d)

Testing a solution

e)

Analysing a problem

37.

State advantages of utilising reusable components.

a)

More reliable than newly-coded components, as they have already been tested.

b)

This saves time, money and resources.

c)

Accuracy of the algorithms used

d)

Effectiveness of algorithm in managing the cache

e)

Content can be loaded without delay

38.
What is a decision?
a)
A decision is a result reached after consideration.
b)
A choice that needs to be made that will not alter an outcome
c)
A selection of two different outcomes
39.
When are decisions made?
a)
A decision is made whenever you have to choice to make.
b)
A decision is made when only one possible outcome is available
c)
A decision is made when only two possible outcomes are available
40.
What is the shape used to indicate a decision in a flow chart?
a)
A diamond
b)
A square
c)
A parralelogram
d)
A triangle
41.
In a flow chart how many many options stem from a decision?
a)
2 different options - yes or no/ true or false.
b)
3 different options
c)
4 different options
d)
5 different options
42.
How do you make effective decisions?
a)
By evaluating the importance of different factors and selecting options which satisfy the needs of the task the most appropriately
b)
By learning from others mistakes and selecting which option provides the least beneficial outcome based on previous events<br />
c)
Researching the possible pros/cons and making a decision based on whichever will benefit you the most
43.
How does the result of a decision affect the flow of a program?
a)
The program will follow a different route depending on the decision made by the user.
b)
The program will produce the same outcome regardless of the decision made by the user.
44.

What is concurrent thinking?

a)

Concurrent thinking is completing more than one task at any given time.

b)

Concurrent thinking is considereing multiple possible solutions

c)

Thinking about raisins

d)

Concurrent thinking is when a programmer consideres other applications that already exist concurrently

45.

Are concurrent processing and concurrent thinking the same thing?

a)

No

b)

Yes

c)

That’s subjective

d)

In some cases

46.

What is parallel processing?

a)

Parallel processing is completing multiple tasks simultaneously at any given time.

b)

Parallel processing is when a processor fetches the next instruction whilst the current is being executed

c)

Having multiple processors working on the same task

47.

What is concurrent processing?

a)

Concurrent processing is giving a slice of processor time to tasks to give the illusion of parallel processing.

b)

Concurrent processing is completing more tasks in the same amount of time

c)

Concurrent processing is

d)

Bees

48.

What are the benefits of concurrent processing?

a)

More tasks can be completed in a given time

b)

than one task at any given time.

c)

It stops fraud

d)

It slows down the CPU

e)

It allows pipelining

49.

What are the drawbacks of concurrent processing?

a)

If lots of users are requesting for tasks to be completed, it takes longer for everyone to complete their task.

b)

It slows down the internet

c)

It lowers your credit score

d)

It takes longer on larger tasks

e)

None