Lesson 4.13.1.3
4.13.1.3 Implementation Quiz: AQA Computer Science, Unit 13
20 questions
In partnership with Revision Ninja
Lesson 4.13.1.3, Implementation: 20 multiple choice questions for the AQA Computer Science (7517), Unit 13: Systematic approach to problem solving, written with Revision Ninja.
Host it live on the board and students join with a game code on their own devices, or revise alone with Free Play. The answers are revealed in the game.
The 20 questions
-
What must the models and algorithms be implemented as?
- Data structures and code that a computer can understand and execute.
- A list of test results that is written before any code exists for the system.
- Plain-language descriptions that are read aloud in meetings with the team.
- Diagrams and pictures that the users can understand easily without any explanation.
-
Which is the best description of implementation?
- Turning the design into working data structures and code that a computer can execute.
- Gathering the requirements from the users through interviews and surveys in the field.
- Judging the finished system against its success criteria after it has been released.
- Choosing the hardware on which the finished system will be sold to customers.
-
Is implementation always a single pass?
- No, because implementation is never repeated once the design has been completed.
- Yes, the code must be written in one pass with no later changes allowed to it.
- No, the solution may be arrived at by an iterative process using prototyping or an agile approach.
- Yes, because iteration is only used in the analysis stage and never in writing code, so the program must be written in one continuous pass.
-
What should be focused on first in an iterative implementation?
- The critical path, so that the most important and difficult parts are solved first.
- The user manual, so that the users know how to use the system from the start.
- The least important features, so that small early wins are gained before the rest.
- The colour scheme of the interface, so that the look of the system is fixed first before any logic is written.
-
What is meant by the critical path in implementation?
- The part of the program that is written in the simplest language available to the team.
- The most important or most difficult part of the solution that other parts depend on.
- The part of the system that is delivered last to the customer after release.
- The part of the code that is never actually used when the program runs in practice.
-
Why must programmers be able to argue for their program's correctness?
- To show logically, using test data and user feedback, that the program does what it should.
- To prove that the program is shorter than any other program written in the world, so that the code can be compared with the rival systems.
- To give the program a unique name that cannot be copied by other people.
- To persuade managers to pay more money for the hardware used in the project.
-
Which skills does implementation practice develop?
- Memorising the names of programming languages and the version numbers of each.
- Preparing marketing material for the finished application to be sold to customers.
- Writing, debugging and testing programs so that their working and correctness can be explained.
- Drawing diagrams of network hardware and the routes of the cables in a building.
-
A program's loop runs forever. Which implementation activity locates the cause?
- Evaluation, by comparing the program to other systems that are on the market.
- Debugging, by tracing the variables and conditions through the loop.
- Documentation, by writing a summary of what the program was originally intended to do.
- Analysis, by collecting more user requirements about how the program should behave.
-
A developer represents a stack using a list in code. Which aspect of implementation is this?
- Establishing requirements from the intended users of the stack in the system.
- Writing the final acceptance test report for the stack in the project archive.
- Implementing a model as a data structure that the computer can use.
- Measuring the efficiency of a stack in a published study by a research group.
-
A programmer codes a sorting algorithm that was designed earlier. Which statement is true?
- The algorithm is improved automatically by the compiler without any input from the programmer.
- The design is replaced by the code, so the design documents are no longer needed at all.
- The design is turned into instructions a computer can execute, so the algorithm becomes a working program.
- The code is written before any design, so the design is adjusted to match the code afterwards.
-
Why should the most risky part of a system be implemented early?
- The risky part is usually the simplest part, so it is the easiest to finish quickly.
- The risky part is never needed by the final system, so it can safely be tested last.
- The risky part must be completed before any requirements are gathered from the users.
- Problems with the risky part show up early, when they are cheaper to fix.
-
A team builds a login module as a prototype and then adds features in short cycles. Which approach is this?
- A testing approach that checks the code only after every feature has been finished.
- An iterative, agile-style approach to implementation.
- A single-pass approach in which no changes are ever made once the first version is coded.
- A maintenance approach that changes the system only after it has been released to users.
-
Why does clear, well-structured code make correctness arguments easier?
- The compiler then checks the logic of the program against the needs of the user automatically.
- The logic is easier to follow, so the programmer can reason about how each part behaves.
- It makes the program run faster on every computer on the market without any changes.
- It removes the need for any test data at all in the implementation of the program.
-
Which sign suggests that a program is implemented efficiently?
- It has the largest number of lines of code in the whole project on the team's server.
- It completes its task in a reasonable time and uses memory sensibly for the size of the data.
- It uses the most variables that its programming language is able to support in one scope.
- It has the longest list of comments written about its variables and their purposes.
-
A program is written but produces wrong totals. Which evidence is most useful for finding the fault?
- Test data with known expected results, compared against the program's actual output.
- A summary of the hardware manufacturer's advertising for the computer the program runs on.
- A list of the programmer's favourite colours, used to check the screen layout of the program.
- The date on which the program was first installed on the computer used for development.
-
Which statement about implementation and user feedback is correct?
- User feedback replaces the need for any code to be written for the solution.
- User feedback is collected only after the system has been deleted from the computer and the users have stopped using it.
- User feedback is not used at all once the implementation of the solution has begun.
- User feedback can guide changes to the implementation as the solution is being built.
-
Evaluate: why might an agile implementation approach suit a project with unclear requirements?
- It delivers working parts early and lets the design change as users clarify what they want.
- It guarantees that the final program will have no bugs.
- It requires all the requirements to be fixed before any code is written for the project.
- It avoids the need for user involvement, because the team works independently of them.
-
A student's program passes all its tests but is very slow on large inputs. What does this show?
- Efficiency is irrelevant as long as the output is correct on small data sets only.
- The program is wrong, because any slow program must fail every test that is run on it, so efficiency and correctness always go together.
- The tests were incorrect, so the program must be rewritten in full from the start.
- Correctness and efficiency are separate concerns, so the algorithm may need to be reconsidered.
-
Why is it good practice to write code in small modules during implementation?
- Small modules are always more efficient than large ones at runtime on every computer.
- Each module can be tested on its own, which makes errors easier to find and fix.
- Small modules prevent other programmers from reading the code they have written.
- Small modules remove the need for any data structures in the program at all.
-
Why is documenting how a program works part of implementation?
- It is only needed if the program will be sold to a third party outside the company.
- It makes the code compile faster, because the compiler reads the comments first.
- It replaces the need for test data, because the documentation shows the expected answers for every input.
- It lets others check, maintain and test the program, and supports arguments for its correctness.
Related quizzes
- Analysis Quiz · 4.13.1.1 · 20 questions
- Design Quiz · 4.13.1.2 · 20 questions
- Testing Quiz · 4.13.1.4 · 20 questions
- Evaluation Quiz · 4.13.1.5 · 20 questions
- Data types Quiz · 4.1.1.1 · 20 questions
- Entity relationship modelling Quiz · 4.10.1.1 · 20 questions
- Big Data Quiz · 4.11.1.1 · 20 questions
- Function types and first-class objects Quiz · 4.12.1.1 · 20 questions
- Data structures and abstract data types Quiz · 4.2.1.1 · 20 questions
- Breadth-first and depth-first search Quiz · 4.3.1.1 · 20 questions