Skip to content

Course home

Sign up

Computational thinking

EasyMediumHard
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
Question 17

A software engineering team is developing a complex simulation engine for a logistics drone network. They split the system into three self-contained modules: a pathfinding module, an aerodynamics solver, and a battery-consumption simulator. Concurrently, they represent the drones as simple point-masses with a constant drag coefficient rather than modeling their exact 3D geometric CAD meshes.

Which of the following correctly identifies a primary benefit of the decomposition step and a primary benefit of the abstraction step in this scenario?

A

Decomposition benefit: Allows separate developers to work on and test the pathfinding, aerodynamics, and battery modules concurrently. Abstraction benefit: Reduces computational complexity by representing the drone as a point-mass, omitting complex 3D mesh calculations.

B

Decomposition benefit: Reduces the runtime memory usage of the simulator by ignoring the 3D geometry of the drones. Abstraction benefit: Allows the aerodynamics code to be easily reused in a separate airplane simulation project.

C

Decomposition benefit: Ensures that the overall simulation runs with a lower mathematical complexity of O(Nlog⁡N)O(N \log N)O(NlogN) instead of O(N2)O(N^2)O(N2). Abstraction benefit: Eliminates the need for any communication or data exchange between the different simulation sub-systems.

D

Decomposition benefit: Ensures that the simulation model contains zero loss of physical accuracy or mathematical realism. Abstraction benefit: Prevents errors in the battery module from causing runtime failures in the aerodynamics solver.

Markscheme

Computational thinking Questions

  1. GCSE
  2. /Computer Science
  3. /Computational thinking

Question bank