A software engineering team is designing a routing simulation for a fleet of autonomous delivery drones. They perform two tasks during design:
Which of the following options correctly identifies the computational thinking techniques used in Task 1 and Task 2, alongside a genuine benefit of applying each technique?
Task 1: Abstraction (Benefit: decreases development costs by eliminating the need for unit testing); Task 2: Decomposition (Benefit: increases the execution speed of the final executable code).
Task 1: Decomposition (Benefit: allows different programmers to work on independent modules concurrently); Task 2: Abstraction (Benefit: reduces the computational complexity of the path-finding algorithms by ignoring extraneous variables).
Task 1: Decomposition (Benefit: mathematically guarantees that the final integrated system will be completely free of logical errors); Task 2: Abstraction (Benefit: allows the Path Finder code to run cross-platform on any operating system without modification).
Task 1: Algorithmic Thinking (Benefit: automatically generates final source code directly from high-level specifications); Task 2: Generalisation (Benefit: guarantees the solution can be used for high-speed orbital satellite routing with no parameter adjustments).