wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

BCS Software Languages

Total questions: 59

Worksheet time: 36mins

Name
Class
Date
1.

What is linear in time complexity?

a)

A flat horizontal line on a graph showing time to complete a function and the size of the input

b)

A straight, steadily rising line on a graph showing time to complete a function and the size of the input

c)

A curved, upward rising line on a graph showing time to complete a function and the size of the input

2.

What is constant time in time complexity?

a)

A flat horizontal line on a graph showing time to complete a function and the size of the input

b)

A curved, upward rising line on a graph showing time to complete a function and the size of the input

c)

A straight, steadily rising line on a graph showing time to complete a function and the size of the input

3.

What is quadratic time in time complexity?

a)

A straight, steadily rising line on a graph showing time to complete a function and the size of the input

b)

A curved, upward rising line on a graph showing time to complete a function and the size of the input

c)

A flat horizontal line on a graph showing time to complete a function and the size of the input

4.

How to count the number of operations a function/method uses?

Count the number of (a)   used.

5.

What is time complexity?

a)

A way of showing how the time it takes to run a class increases as the size of the input increases

b)

A way of showing how different computers take different amounts of time to complete the same function

c)

A way of showing how the time it takes to complete a function increases as the size of the input increases

6.

Why is counting seconds not optimal for measuring performance, and what is better to count instead?

a)

Different machines can take different lengths of time.

b)

All machines take the same length of time to complete the same function, so there is no point using this

c)

Counting the number of draw calls is optimal

d)

Counting the number of operations is optimal

7.

What is the expression for linear time complexity?

a)

O(n²)

b)

O(n)

c)

O(1)

8.

What is the expression for quadratic time complexity?

a)

O(n)

b)

O(n²)

c)

O(1)

9.

What is the expression for constant time complexity?

a)

O(1)

b)

O(n)

c)

O(n²)

10.

What are some of the steps to calculate the time complexity expression type to run a function from an equation?

a)

Count the operators (+,-,=,/,*)

b)

Find the fastest growing term (some terms will be constants and some will be changing parameters)

c)

Take out the coefficient (a constant being multiplied by a changing value)

d)

Take out the operators (+,-,=,/,*)

11.

What is Abstraction in programming?

a)

Hiding data and complexity. Experienced programmers often make classes for junior programmers to use so that the juniors don’t need to attempt to use the complex code within the class and also can’t mess with it

b)

Deriving methods and properties from another class. Often results in a hierarchy.

c)

A class can override methods and properties that it inherits

d)

Filtering out unneeded characteristics to concentrate on the needed characteristics.

e)

The process of taking a large problem and breaking it down into smaller problems to help understanding the main problem. Not good for event driven languages

12.

What is Encapsulation in programming?

a)

Hiding data and complexity. Experienced programmers often make classes for junior programmers to use so that the juniors don’t need to attempt to use the complex code within the class and also can’t mess with it

b)

Deriving methods and properties from another class. Often results in a hierarchy.

c)

A class can override methods and properties that it inherits

d)

Filtering out unneeded characteristics to concentrate on the needed characteristics.

e)

The process of taking a large problem and breaking it down into smaller problems to help understanding the main problem. Not good for event driven languages

13.

What is Inheritance in programming?

a)

Hiding data and complexity. Experienced programmers often make classes for junior programmers to use so that the juniors don’t need to attempt to use the complex code within the class and also can’t mess with it

b)

Deriving methods and properties from another class. Often results in a hierarchy.

c)

A class can override methods and properties that it inherits

d)

Filtering out unneeded characteristics to concentrate on the needed characteristics.

e)

The process of taking a large problem and breaking it down into smaller problems to help understanding the main problem. Not good for event driven languages

14.

What is Polymorphism in programming?

a)

Hiding data and complexity. Experienced programmers often make classes for junior programmers to use so that the juniors don’t need to attempt to use the complex code within the class and also can’t mess with it

b)

Deriving methods and properties from another class. Often results in a hierarchy.

c)

A class can override methods and properties that it inherits

d)

Filtering out unneeded characteristics to concentrate on the needed characteristics.

e)

The process of taking a large problem and breaking it down into smaller problems to help understanding the main problem. Not good for event driven languages

15.

What is Decomposition in programming?

a)

Hiding data and complexity. Experienced programmers often make classes for junior programmers to use so that the juniors don’t need to attempt to use the complex code within the class and also can’t mess with it

b)

Deriving methods and properties from another class. Often results in a hierarchy.

c)

A class can override methods and properties that it inherits

d)

Filtering out unneeded characteristics to concentrate on the needed characteristics.

e)

The process of taking a large problem and breaking it down into smaller problems to help understanding the main problem. Not good for event driven languages

16.

What is a bridge pattern?

a)

A structural design pattern that lets you split a large class or a set of closely related classes into two separate hierarchies—abstraction and implementation—which can be developed independently of each other

b)

A design pattern that lets you define a family of algorithms, put each of them into a separate class, and make their objects interchangeable.

c)

Two or more things happening at the same time. Aims to identify methods that a computer program uses to handle multi-threaded tasks.

d)

A design pattern that lets an object alter its behaviour when its internal state changes. It appears as if the object changed its class.

e)

A structural design pattern that lets you ensure that a class has only one instance, while providing a global access point to this instance.

17.

What is a concurrency pattern?

a)

A structural design pattern that lets you split a large class or a set of closely related classes into two separate hierarchies—abstraction and implementation—which can be developed independently of each other

b)

A design pattern that lets you define a family of algorithms, put each of them into a separate class, and make their objects interchangeable.

c)

Two or more things happening at the same time. Aims to identify methods that a computer program uses to handle multi-threaded tasks.

d)

A design pattern that lets an object alter its behaviour when its internal state changes. It appears as if the object changed its class.

e)

A structural design pattern that lets you ensure that a class has only one instance, while providing a global access point to this instance.

18.

What is a strategy pattern?

a)

A structural design pattern that lets you split a large class or a set of closely related classes into two separate hierarchies—abstraction and implementation—which can be developed independently of each other

b)

A design pattern that lets you define a family of algorithms, put each of them into a separate class, and make their objects interchangeable.

c)

Two or more things happening at the same time. Aims to identify methods that a computer program uses to handle multi-threaded tasks.

d)

A design pattern that lets an object alter its behaviour when its internal state changes. It appears as if the object changed its class.

e)

A structural design pattern that lets you ensure that a class has only one instance, while providing a global access point to this instance.

19.

What is a state pattern?

a)

A structural design pattern that lets you split a large class or a set of closely related classes into two separate hierarchies—abstraction and implementation—which can be developed independently of each other

b)

A design pattern that lets you define a family of algorithms, put each of them into a separate class, and make their objects interchangeable.

c)

Two or more things happening at the same time. Aims to identify methods that a computer program uses to handle multi-threaded tasks.

d)

A design pattern that lets an object alter its behaviour when its internal state changes. It appears as if the object changed its class.

e)

A structural design pattern that lets you ensure that a class has only one instance, while providing a global access point to this instance.

20.

What is a singleton pattern?

a)

A structural design pattern that lets you split a large class or a set of closely related classes into two separate hierarchies—abstraction and implementation—which can be developed independently of each other

b)

A design pattern that lets you define a family of algorithms, put each of them into a separate class, and make their objects interchangeable.

c)

Two or more things happening at the same time. Aims to identify methods that a computer program uses to handle multi-threaded tasks.

d)

A design pattern that lets an object alter its behaviour when its internal state changes. It appears as if the object changed its class.

e)

A structural design pattern that lets you ensure that a class has only one instance, while providing a global access point to this instance.

21.

Which are basic elements of a programming language?

a)

Assignment

b)

Conditionals/looping

c)

Library

d)

Data structures

e)

Procedure Call

22.

What is a stack data structure?

a)

A linear data strcuture

b)

A Non Linear data structure

c)

All insertions and deletions are only permitted at one end of the list

d)

The order can either be last in first out (LIFO) or first in last out (FILO)

e)

All insertions and deletions are permitted at both ends of the list

23.

What is authentication?

a)

Checking to see if the user is who they claim to be

b)

Checking to see what level of access a user is allowed.

c)

Allows the user to enter their identity

d)

Checks that the password is strong enough.

24.

What is Authorisation?

a)

Checking to see if the user is who they claim to be

b)

Checking to see what level of access a user is allowed.

c)

Allows the user to enter their identity

d)

Checks that the password is strong enough.

25.

A sequential file has records sorted in date sequence. Which of the following is the CORRECT term that describes a simple algorithm to quickly access a required record in this sequential file?

a)

Split search.

b)

Bubble chop

c)

Bubble search.

d)

Binary search.

26.

To identify that two or more processes are similar requires which form of computational thinking?

a)

Decomposition.

b)

Abstraction

c)

Pattern recognition.

d)

Algorithm

27.

Cars, planes and boats all use steering wheels, but they have different steering systems. Car steering wheels need an axle steering system. Boat steering wheels need a rudder steering system. Plane steering wheels need a wing flap steering system. Consider the following diagram that relates steering wheels to steering systems, using the vehicle steering wheel as a high-level abstraction:

What concept is illustrated by this example?

a)

Polymorphism

b)

Encapsulation

c)

A bridge pattern

d)

A concurrency pattern

28.

Which of the following are basic elements of a programming language?

a) Assignment. b) Library. c) Loop. d) Procedure call.

a)

a and c only

b)

a, c and d only

c)

b, c and d only

d)

b and c only

29.

Which of the following is a CORRECT term to specifically describe an item of data passed from a calling program / function to a called program / function?

a)

Parameter

b)

Variable

c)

Structure

d)

Constant

30.

Given a stack data structure, what will be the state of the stack after performing the following operations?

1. Push(Apple) 2. Push(Banana) 3. Pop() 4. Push(Orange) 5. Pop()

a)

Banana only

b)

Apple, Orange only

c)

Apple only.

d)

Apple, Banana and Orange.

31.

Which of the following describes an example of abstraction?

a)

Filtering out unneeded characteristics to concentrate on the needed characteristics.

b)

Capturing only the most relevant details within the context of the problem

c)

Publishing a technical abstract of the requirements.

d)

Extracting documentation from the code.

32.

Select the answer that CORRECTLY describes the statement and the reason.

Statement: Maintenance requirements need to be considered at an early stage in the software development lifecycle (SDLC).

Reason: It is possible that the software will need to be corrected as a result of testing during the testing stage of the SDLC.

a)

The statement and reason are both true, and the reason is an explanation for the statement.

b)

The statement and reason are both true, but the reason is not an explanation for the statement.

c)

The statement is true and the reason is false.

d)

The statement is false and the reason is true

33.

Which of the following is NOT a Non-Functional Requirement (NFR)?

a)

The order confirmation email must be delivered within 10 seconds of the email being sent.

b)

A user must be able to remove an item from their basket

c)

The system needs to be used every weekday between the hours of 8 am and 8 pm.

d)

All web user interactions with the system must use https secure protocol from login to logout.

34.

Authentication performs what task?

a)

Allows the user to enter their identity

b)

Checks to see what level of access a user is allowed.

c)

Checks to see if the user is who they claim to be.

d)

Checks that the password is strong enough.

35.

Select the answer that CORRECTLY describes the statement and the reason.

Statement: Re-using test patterns increases the chance of identifying common failures during testing.

Reason: Lack of variation in test data limits the effectiveness of discovering new bugs in code.

a)

The statement and the reason are both true and the reason is an explanation for the statement.

b)

The statement and the reason are both true, but the reason is not an explanation for the statement.

c)

The statement is true but the reason is false.

d)

The statement is false but the reason is true.

36.

Physical software design includes which of the following?

a) Data design. b) Test design. c) Configuration design. d) Process design.

a)

a, c and d only

b)

b and d only.

c)

a and d only.

d)

a, b and c only

37.

A software designer has been given the following requirements for a hotel system. Which of the requirements will be used in non-functional design?

a) The software should enable guests to check into the hotel.

b) The software needs to be online between the hours of 6 am and midnight.

c) Response time for a hotel booking transaction should not exceed 1 second.

d) The system must be able to process 5000 http requests per minute.

e) The cost of the development project must not exceed $500,000.

a)

a, c and e only.

b)

b, c and d only.

c)

c, d and e only.

d)

a and b only.

38.

What is the connection between software design and software testing?

a)

There is no connection between software design and testing

b)

If software design is done properly then no bugs will continue to exist in a program after development and software testing is complete

c)

Software testing is the process by which a software development company is able to identify issues that need to be addressed in their software design.

d)

The output of software design is a set of functional and non-functional requirements that software testing can check have been met.

39.

Which of the following are characteristics of an algorithm?

a) Precision. b) Finiteness. c) Selection. d) Speed.

a)

a, b and c only.

b)

a, c and d only.

c)

b, c and d only.

d)

a, b and d only.

40.

A hotel room has options of available, out of service and occupied.

Which Pattern would be applicable?

a)

Strategy

b)

State

c)

Singleton

d)

Architectural

41.

The following code has been developed by a code developer.

var tot2 = tot1 + tot3 + tot4;

if ( tot5 < tot2 ) {

print “the amount exceeds threshold”;

}

What would be the MAIN benefit for using more descriptive variable names?

a)

The code would compile quicker

b)

The variables should be declared in ascending numeric sequence.

c)

The code would be easier to maintain.

d)

The code would be more efficient to run.

42.

Which of the following describes a demilitarised zone?

a)

It protects a contained sub-network from the threats of a larger, untrusted network, such as the Internet

b)

It protects a network and its devices by packet filtering.

c)

A protects sub-networks that contain confidential data on storage devices from unauthorised access attempts.

d)

It restricts access to a network by selectively allowing or blocking traffic according to a set of rules.

43.

A software application used by the general public to purchase a variety of goods has a search function to help the buyer find the goods they want.

A user has entered a search request, which has been submitted into the search field via a database query. The query has returned the required information, but has also returned confidential information about the cost and pricing of the goods, which should not be available to the end-user.

What nature of security incident has occurred?

a)

Distributed denial of service.

b)

SQL injection vulnerability.

c)

Firewall failure

d)

Cross-site scripting attack.

44.

Which of the following describe VALID ways to represent an algorithm?

a) Flow chart. b) Pseudocode. c) UML activity diagram. d) Use case diagram.

a)

a, c and d only.

b)

a and c only.

c)

b and d only.

d)

a, b and c only.

45.

Q.What is recursion?

A. A _ that (a)  

46.

What are two essential parts of a recursive function?

a)

Input and Output Parameters

b)

Different Input

c)

Base Case

d)

Increments

47.

How do recursive functions work?

a)

Invoke the same function with a different input until you reach your base case

b)

Invoke a separate function with an identical input to the first and vice versa until you reach your base case

c)

Invoke the same function with an identical input until you reach your base case

d)

Invoke a separate function with a different input to the first and vice versa until you reach your base case

48.

What is base case?

a)

The condition when the recursion starts

b)

The input parameter's value before being altered

c)

The input parameter's value after being altered

d)

The condition when the recursion ends

49.

What is Naive String Search?

a)

An algorithm that loops through the entire array or pattern and checks if each is equal to the desired result

b)

An algorithm that splits the array after each check. 1st check if desired result is in first half of array or pattern, if not delete the half and check the other half. Repeat until 1 element left

c)

An algorithm that checks to see if a string is contained within another string by checking characters individually

d)

An algorithm that checks to see if a string is contained within another by checking the prefix and suffixes of the smaller string

50.

What is Linear search?

a)

An algorithm that loops through the entire array or pattern and checks if each is equal to the desired result

b)

An algorithm that splits the array after each check. 1st check if desired result is in first half of array or pattern, if not delete the half and check the other half. Repeat until 1 element left

c)

An algorithm that checks to see if a string is contained within another string by checking characters individually

d)

An algorithm that checks to see if a string is contained within another by checking the prefix and suffixes of the smaller string

51.

What is Binary search?

a)

An algorithm that loops through the entire array or pattern and checks if each is equal to the desired result

b)

An algorithm that splits the array after each check. 1st check if desired result is in first half of array or pattern, if not delete the half and check the other half. Repeat until 1 element left

c)

An algorithm that checks to see if a string is contained within another string by checking characters individually

d)

An algorithm that checks to see if a string is contained within another by checking the prefix and suffixes of the smaller string

52.

What is KMP String search?

a)

An algorithm that loops through the entire array or pattern and checks if each is equal to the desired result

b)

An algorithm that splits the array after each check. 1st check if desired result is in first half of array or pattern, if not delete the half and check the other half. Repeat until 1 element left

c)

An algorithm that checks to see if a string is contained within another string by checking characters individually

d)

An algorithm that checks to see if a string is contained within another by checking the prefix and suffixes of the smaller string

53.

What is bubble sort?

a)

A sorting algorithm that compares two numbers and swaps based on which is the higher value. The higher values will bubble to the top/end of the array/pattern

b)

A sorting algorithm that compares two numbers and swaps based on which is the lower value. The lower values will go to the bottom/start of the array/pattern

c)

A sorting algorithm that compares values starting with the second value in the list. If it is greater than the value to the left of it, no changes are made. Otherwise this value is repeatedly moved left until it meets a value that is less than it. This repeat with the next value until the array/pattern is complete

54.

What is selection sort?

a)

A sorting algorithm that compares two numbers and swaps based on which is the higher value. The higher values will bubble to the top/end of the array/pattern

b)

A sorting algorithm that compares two numbers and swaps based on which is the lower value. The lower values will go to the bottom/start of the array/pattern

c)

A sorting algorithm that compares values starting with the second value in the list. If it is greater than the value to the left of it, no changes are made. Otherwise this value is repeatedly moved left until it meets a value that is less than it. This repeat with the next value until the array/pattern is complete

55.

What is insertion sort?

a)

A sorting algorithm that compares two numbers and swaps based on which is the higher value. The higher values will bubble to the top/end of the array/pattern

b)

A sorting algorithm that compares two numbers and swaps based on which is the lower value. The lower values will go to the bottom/start of the array/pattern

c)

A sorting algorithm that compares values starting with the second value in the list. If it is greater than the value to the left of it, no changes are made. Otherwise this value is repeatedly moved left until it meets a value that is less than it. This repeat with the next value until the array/pattern is complete

56.

When are graph data structures useful?

a)

When web scraping nested HTML

b)

When working with map/location data

c)

When you need an ordered list with fast inserts/removals at the beginning and end

d)

When needing to write a scheduler

57.

When are linked list data structures useful?

a)

When web scraping nested HTML

b)

When working with map/location data

c)

When you need an ordered list with fast inserts/removals at the beginning and end

d)

When needing to write a scheduler

58.

When are tree data structures useful?

a)

When web scraping nested HTML

b)

When working with map/location data

c)

When you need an ordered list with fast inserts/removals at the beginning and end

d)

When needing to write a scheduler

59.

When are binary heap data structures useful?

a)

When web scraping nested HTML

b)

When working with map/location data

c)

When you need an ordered list with fast inserts/removals at the beginning and end

d)

When needing to write a scheduler