Save
AQA A-Level Computer Science
3.0 Systematic approach to problem solving
3.3 Implementation
Save
Share
Learn
Content
Leaderboard
Share
Learn
Cards (76)
Why is it crucial to define the problem statement and its requirements effectively?
To ensure the solution aligns
The problem statement describes the task to be accomplished, along with any constraints or
objectives
Functional requirements specify how well the system performs tasks.
False
Match the requirement type with its description:
Functional ↔️ Defines specific tasks
Non-Functional ↔️ Specifies performance standards
What is an example of a functional requirement in a customer purchase tracking system?
Record purchase date
A non-functional requirement for a customer purchase tracking system is to support 1000 transactions per
hour
Choosing the right algorithms and data structures is crucial for efficient
problem-solving
.
Match the algorithm or data structure with its complexity:
Bubble Sort ↔️
O
(
n
2
)
O(n^{2})
O
(
n
2
)
Merge Sort ↔️
O
(
n
log
n
)
O(n \log n)
O
(
n
lo
g
n
)
Arrays have
O
(
1
)
O(1)
O
(
1
)
complexity for element access
Which data structure is preferable for frequent modifications despite slower access time?
Linked list
Program architecture defines the high-level design and interactions between system
components
Match the architectural pattern with its description:
Layered ↔️ Organizes components into layers
Microservices ↔️ Decomposes into independent services
What is a disadvantage of the client-server architectural pattern?
Single point of failure
Scalability, maintainability, and
performance
are key factors in choosing program architecture.
Why should the choice of programming language align with project requirements?
To optimize readability and efficiency
Python is known for its high
readability
Java achieves cross-platform compatibility via the
JVM
.
Which programming language is suitable for performance-critical applications?
C++
The example code in Python calculates the factorial of a number using a recursive
approach
A functional requirement defines tasks the system must
perform
A non-functional requirement specifies how well tasks are
performed
An example of a functional requirement is to support 1000 transactions per hour.
False
The problem statement describes the task and its
constraints
What is algorithmic complexity used to measure?
Time efficiency
Bubble Sort is efficient for large datasets.
False
Merge Sort has an algorithmic complexity of
O
(
n
log
n
)
O(n \log n)
O
(
n
lo
g
n
)
, making it efficient for large datasets
What is the time complexity for accessing an element in an array?
O
(
1
)
O(1)
O
(
1
)
What is the time complexity for inserting or deleting an element in a linked list?
O
(
1
)
O(1)
O
(
1
)
Program architecture defines the high-level design and interactions between
components
A layered architecture simplifies
maintenance
and allows reuse of components.
What is a key advantage of microservices architecture?
Improved scalability
In a client-server architecture, the server can become a single point of
failure
Steps for designing a software system
1️⃣ Define the problem statement
2️⃣ Identify algorithms and data structures
3️⃣ Design the program structure
4️⃣ Write the program code
5️⃣ Test and debug the code
The choice of a programming language should align with the project's
requirements
Match the programming language with its strength:
Python ↔️ Readability
Java ↔️ Cross-platform compatibility
C++ ↔️ Performance-critical applications
What are three key considerations when designing a program for readability, performance, and compatibility?
Readability, performance, compatibility
Execution speed and memory usage should be optimized to improve program
performance
Python is highly efficient for performance-critical applications.
False
Match the programming language with its primary use case:
Python ↔️ Scripting
Java ↔️ Enterprise applications
C++ ↔️ Performance-critical applications
Testing verifies that software functions correctly according to its
specifications
See all 76 cards