A Adam Learning
Back to notes
9618-AS-09-01Chapter 9Section 9.1short-answer

9.1 Computational Thinking Skills 计算思维简答

Review the exact wording students need for this knowledge point, then open a filtered question list when ready to practise.

Find questions for 9618-AS-09-01

Scope 本页范围

本页只整理 Chapter 9.1 的简答题:abstraction、abstract model、decomposition、modules 及 modular approach 的好处。要求编写 pseudocode、procedure 或 function 的题目将在代码专项中整理。

Syllabus learning goals 考纲要求

  • 理解 abstraction 的需要和好处。
  • 描述 abstraction 的目的。
  • 只保留 essential details,建立系统的 abstract model。
  • 描述并使用 decomposition,把问题分成 sub-problems,并形成 modules、procedures 或 functions。

1 Abstraction 抽象

Abstraction 是在解决特定问题时:

  • Filtering out unnecessary information/details.
  • Keeping only the essential information required to solve the problem.

它不是简单地“删除数据”,而是先明确当前 module 的目的,再判断哪些数据会影响结果。对于另一个 module,同一项数据可能重新变得必要。

Mark-scheme definition

Abstraction is the process of filtering out unnecessary information and retaining only the essential information needed to solve the problem.

若题目只给 1 mark,写出其中一条完整表述即可。不要只写 “make the problem simpler”,因为这是 benefit,不是 abstraction 本身的过程。

2 Purpose and benefits of abstraction

Purpose

Abstraction 的直接目的,是建立一个只包含当前任务所需数据与操作的 model,使设计者专注于 relevant details。

Benefits

  • The solution/model is simplified.
  • It is easier or quicker to understand, design and implement。
  • It reduces irrelevant data that would otherwise distract the designer or increase complexity。
  • The system/module can be tailored to the user's actual requirements。
  • Testing and maintenance can focus on the required behaviour。

Two-mark answer pattern

The technique is abstraction. It filters out unnecessary information, making the solution simpler and easier to design and implement.

第一分通常是 technique/process,第二分才是 benefit。不要把两分都写成 “easier” 和 “quicker” 这类相近结果。

3 Producing an abstract model 建立抽象模型

建立 abstract model 时:

  • 明确新 system/module 必须完成的 output 或 action。
  • 找出产生该结果所需的 inputs/data。
  • 保留会改变判断或输出的 essential information。
  • 排除与当前任务无关的数据。
  • 说明每项保留或排除数据的理由。

Required information

得分形式通常是 item + matching justification

例如,module 要向对某项 exercise 感兴趣的会员发送 personalised text message:

  • Mobile phone number:required to send the text message
  • Name:required to personalise the message
  • Exercise interest:required to select members interested in that class

Information not required

一项信息“不需要”,不是因为它永远没有用途,而是因为它 does not affect the current module's task/output

例如同一短信 module 通常不需要 home address,因为短信通过 mobile phone number 发送;date of birth 也可能不影响是否对某类 exercise 感兴趣。

Answer rule

不要只列数据名称。每个 item 后面必须说明:

item -> how it is used by this module

或:

item not required -> why it does not affect this module's output

4 Abstraction in a system scenario

题目可能要求说明一个业务系统应保留什么。先把场景转换成三类信息:

CategoryQuestion to ask
InputsWhat data must enter the system?
ProcessingWhat decisions/calculations must be made?
OutputsWhat result/action must the system produce?

Car-hire example 可保留 car identifier、customer identifier、start date、return date/number of days 和 cost,因为这些信息用于记录 vehicle、hirer、duration 与 payment。与一次 hire 无关的资料应被排除。

5 Decomposition 分解

Decomposition 是:

  • Breaking down a complex problem into smaller sub-problems.
  • Each sub-problem performs a clear, manageable task。
  • The sub-problems lead to program modules, procedures or functions
  • The modules are combined to solve the original problem。

Mark-scheme definition

Decomposition breaks a problem into smaller sub-problems, which can be implemented as separate modules/procedures/functions.

只写 “split the program” 不够精确;应写 problem/sub-problems,并说明与 modules 的联系。

6 Benefits of decomposition and modularity

  • Each smaller problem is easier to understand and design。
  • Different modules can be developed by different programmers/team members。
  • A module can be tested and debugged independently
  • A module can be designed/tested once and then reused/called repeatedly
  • A change may need to be made in one module only, making the program easier to maintain or modify
  • Modules provide clear responsibilities and reduce repeated code。

Four-mark modular approach pattern

  • The function can be called repeatedly whenever it is required
  • It is designed and tested once, then reused
  • A later change is made once in the function, so maintenance is easier。

选择两个真正不同的 advantages。Reused repeatedly 与 called repeatedly 通常可能被视为相近,不要依靠同义重复拿两分。

7 Identifying suitable modules

题目要求 identify sub-modules and describe their use 时,每个得分单元应包含:

meaningful module name + one clearly bounded task

例如 loyalty-card system:

  • ScanCard:read the barcode and obtain the customer's unique ID。
  • GetPoints:retrieve the customer's current points balance。
  • CalculateDiscount:calculate the discount available from the points exchanged。
  • UpdatePoints:deduct exchanged points or add points from the new purchase。

不要使用 ProcessDataDoTask 这类无法说明用途的名字,也不要让一个 module 同时完成整个系统。

8 Function interface as a short-answer concept

本页不写 function code,但简答题可能要求描述 interface。Interface 说明 module 与外部如何交换数据:

  • Parameters:what values/data types are passed into the module。
  • Return value:what result/data type is returned。

例:检查一个 number 的 digits 是否达到 required total:

  • Takes two INTEGER parameters:the number and required total。
  • Returns a BOOLEAN indicating whether the condition is met。

9 Abstraction vs decomposition

SkillMain question
AbstractionWhich details are essential, and which can be ignored?
DecompositionWhich smaller sub-problems/modules make up the whole problem?

Abstraction 减少当前 model 中不相关的 detail;decomposition 改变问题的组织方式,把整体分成 manageable parts。一个系统设计通常会同时使用两者。

10 Exam-answer checklist

  • Definition 是否写了 unnecessary information 与 essential information?
  • Benefit 是否与 definition 分开?
  • Required/not-required item 是否带 matching justification?
  • Justification 是否明确联系当前 scenario?
  • Decomposition 是否写到 sub-problems 和 modules/procedures/functions?
  • 每个 module 是否只有一个清晰职责?
  • Modular advantages 是否包含 testing、reuse 或 maintenance 的具体结果?
  • Interface 是否分别说明 parameters 与 return value?

本页只使用 Chapter 9.1 的理解型与简答型 past-paper evidence。需要编写 module、procedure 或 function 的题目保留给后续代码专项。

Practice This Knowledge Point

Open the question bank with this knowledge code already filled in. The filtered list will show matching questions for this note.

Open filtered practice
Source questions used