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.

Host this setFree Play

The 20 questions

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. 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.

All AQA Computer Science quizzes