剑桥国际 AS & A Level 计算机科学 9618 考纲考点整理 (适用于 2024-2025 年考试)

一、AS Level 考点 (试卷 1 和 2)

1. 信息表示 (1.1 - 1.3)

(1) 数据表示 (1.1)

  • 数制转换:
    • 理解二进制数的大小以及二进制前缀 (kibi, mebi, gibi, tebi) 与十进制前缀 (kilo, mega, giga, tera) 的区别。
    • 掌握二进制、十进制、十六进制以及二进制编码的十进制数 (BCD) 的转换方法。
    • 掌握使用一补码和二补码表示二进制整数的方法,并进行整数在不同数制/表示法之间的转换。
    • 掌握二进制数的加法和减法运算,包括正数和负数。
    • 理解溢出的概念,并描述其发生条件。
  • 字符编码:
    • 理解字符数据在计算机内部的二进制表示方法。
    • 熟悉 ASCII (美国信息交换标准代码)、扩展 ASCII 和 Unicode 编码标准,但无需记忆具体字符代码。
  • 数制应用:
    • 描述 BCD 和十六进制在实际应用中的使用场景。

(2) 多媒体 (1.2)

  • 位图图像:
    • 理解位图图像数据的编码方式。
    • 掌握以下术语: 像素 (pixel)、文件头 (file header)、图像分辨率 (image resolution)、屏幕分辨率 (screen resolution)、颜色深度/位深度 (colour depth/bit depth)。
    • 能够进行位图图像文件大小的估算。
    • 理解更改位图图像元素 (如分辨率、颜色深度) 对图像质量和文件大小的影响。
  • 矢量图形:
    • 理解矢量图形的编码方式。
    • 掌握以下术语: 绘图对象 (drawing object)、属性 (property)、绘图列表 (drawing list)。
    • 能够根据任务需求选择使用位图图像或矢量图形,并说明理由。
  • 声音:
    • 理解声音的表示和编码方式。
    • 掌握以下术语: 采样 (sampling)、采样率 (sampling rate)、采样分辨率 (sampling resolution)、模拟数据 (analogue data) 和数字数据 (digital data)。
    • 理解更改采样率和分辨率对声音文件大小和准确性的影响。

(3) 压缩 (1.3)

  • 理解压缩的必要性以及压缩的应用实例。
  • 理解有损压缩 (lossy compression) 和无损压缩 (lossless compression) 的概念,并能够根据具体情况选择合适的压缩方法。
  • 理解以下文件类型的压缩方法:
    • 文本文件: 游程编码 (Run-Length Encoding, RLE)
    • 位图图像: RLE 等
    • 矢量图形: RLE 等
    • 声音文件: RLE 等

2. 通信 (2.1)

(1) 网络,包括互联网 (2.1)

  • 网络基础:
    • 理解网络设备 (如路由器、交换机) 的用途和优势。
    • 理解局域网 (LAN) 和广域网 (WAN) 的特点。
    • 掌握以下网络模型:
      • 客户端-服务器模型 (client-server model): 理解不同计算机在网络和子网模型中的角色,以及每个模型的优缺点,并能够根据具体情况选择合适的模型。
      • 对等网络模型 (peer-to-peer model): 同上。
    • 理解瘦客户端 (thin-client) 和胖客户端 (thick-client) 的概念,以及两者之间的区别。
    • 理解以下网络拓扑结构: 总线型 (bus)、星型 (star)、网状 (mesh) 和混合型 (hybrid),并理解数据包在给定拓扑结构中如何传输。
    • 能够根据具体情况选择合适的拓扑结构,并说明理由。
  • 云计算:
    • 理解云计算的概念,包括公共云和私有云的使用。
    • 理解云计算的优势和劣势。
  • 网络连接:
    • 理解无线网络和有线网络之间的区别,以及使用两者的影响。
    • 描述以下网络硬件的特点: 铜缆 (copper cable)、光纤电缆 (fibre-optic cable)、无线电波 (包括 WiFi)、微波 (microwaves)、卫星 (satellites)。
    • 描述支持局域网 (LAN) 的硬件,包括: 交换机 (switch)、服务器 (server)、网络接口卡 (NIC)、无线网络接口卡 (WNIC)、无线接入点 (WAP)、电缆 (cables)、网桥 (bridge)、中继器 (repeater)。
    • 描述路由器 (router) 在网络中的作用和功能。
    • 理解以太网 (Ethernet) 以及如何检测和避免冲突,包括载波侦听多路访问/冲突检测 (CSMA/CD)。
  • 数据流:
    • 理解比特流 (bit streaming) 的概念,包括实时 (real-time) 和点播 (on-demand) 两种方法。
    • 理解比特率 (bit rates) 和宽带速度 (broadband speed) 对比特流的重要性。
  • 互联网与万维网:
    • 理解万维网 (WWW) 和互联网 (internet) 之间的区别。
    • 描述支持互联网的硬件,包括调制解调器 (modems)、公共交换电话网络 (PSTN)、专用线路 (dedicated lines)、蜂窝网络 (cell phone network)。
  • 互联网协议:
    • 理解 IP 地址在数据传输中的作用,包括:
      • IPv4 和 IPv6 的 IP 地址格式。
      • 子网划分 (subnetting) 在网络中的作用。
      • IP 地址与网络设备关联的方式。
      • 公共 IP 地址和私有 IP 地址之间的区别,以及对安全性的影响。
      • 静态 IP 地址和动态 IP 地址之间的区别。
    • 理解统一资源定位符 (URL) 如何用于定位万维网上的资源,以及域名系统 (DNS) 的作用。

3. 硬件 (3.1 - 3.2)

(1) 计算机及其组件 (3.1)

  • 理解输入设备、输出设备、主存储器 (primary memory) 和辅助存储器 (secondary storage,包括可移动存储) 的必要性。
  • 理解嵌入式系统 (embedded systems),包括其优缺点。
  • 描述以下硬件设备的主要操作:
    • 激光打印机 (laser printer)、3D 打印机 (3D printer)、麦克风 (microphone)、扬声器 (speakers)、磁性硬盘 (magnetic hard disk)、固态 (闪存) 存储器 (solid state (flash) memory)、光盘读写器 (optical disc reader/writer)、触摸屏 (touchscreen)、虚拟现实头戴设备 (virtual reality headset)。
  • 理解缓冲区的使用 (use of buffers)。
  • 理解以下存储器类型的区别,以及它们在不同设备和系统中的使用:
    • 随机存取存储器 (RAM) 和只读存储器 (ROM)。
    • 静态 RAM (SRAM) 和动态 RAM (DRAM): 理解使用 SRAM 和 DRAM 的原因,以及根据设备及其用途选择使用其中一种的原因。
  • 理解以下可编程只读存储器 (PROM) 类型的区别:
    • 可编程 ROM (PROM)
    • 可擦除可编程 ROM (EPROM)
    • 电可擦除可编程 ROM (EEPROM)
  • 理解监控和控制系统的概念,包括:
    • 监控与控制之间的区别。
    • 传感器的使用 (包括温度、压力、红外线、声音) 和执行器 (actuators)。
    • 反馈 (feedback) 的重要性。

(2) 逻辑门和逻辑电路 (3.2)

  • 掌握以下逻辑门符号:
    • NOT, AND, OR, NAND, NOR, XOR (EOR)
  • 理解并定义以下逻辑门的功能: NOT, AND, OR, NAND, NOR, XOR (EOR)。
  • 能够构建上述逻辑门的真值表 (truth table),所有门电路 (除 NOT 门外) 只能有两个输入。
  • 能够根据以下内容构建逻辑电路 (logic circuit):
    • 问题陈述 (problem statement)
    • 逻辑表达式 (logic expression)
    • 真值表 (truth table)
  • 能够根据以下内容构建真值表:
    • 问题陈述 (problem statement)
    • 逻辑电路 (logic circuit)
    • 逻辑表达式 (logic expression)
  • 能够根据以下内容构建逻辑表达式:
    • 问题陈述 (problem statement)
    • 逻辑电路 (logic circuit)
    • 真值表 (truth table)

4. 处理器基础 (4.1 - 4.3)

(1) 中央处理器 (CPU) 架构 (4.1)

  • 理解计算机系统的基本冯·诺依曼模型 (Von Neumann model) 和存储程序概念 (stored program concept)。
  • 理解寄存器的用途和作用,包括通用寄存器 (general purpose registers) 和专用寄存器 (special purpose registers) 之间的区别,包括:
    • 程序计数器 (PC)
    • 内存数据寄存器 (MDR)
    • 内存地址寄存器 (MAR)
    • 累加器 (ACC)
    • 索引寄存器 (IX)
    • 当前指令寄存器 (CIR)
    • 状态寄存器 (Status Register)
  • 理解算术逻辑单元 (ALU)、控制单元 (CU) 和系统时钟 (system clock)、立即存取存储器 (IAS) 的用途和作用。
  • 理解数据如何通过地址总线 (address bus)、数据总线 (data bus) 和控制总线 (control bus) 在计算机系统的各个组件之间传输。
  • 理解影响计算机系统性能的因素,包括:
    • 处理器类型和核心数量。
    • 总线宽度 (bus width)。
    • 时钟速度 (clock speed)。
    • 缓存内存 (cache memory)。
  • 理解不同端口如何提供与外围设备的连接,包括:
    • 通用串行总线 (USB)
    • 高清多媒体接口 (HDMI)
    • 视频图形阵列 (VGA)
  • 描述取指-执行 (F-E) 循环的各个阶段。
  • 描述并使用“寄存器传输”符号 (register transfer notation) 来描述 F-E 循环。
  • 理解中断 (interrupt) 的目的,包括:
    • 中断的可能原因。
    • 中断的应用。
    • 使用中断服务程序 (ISR) 处理中断。
    • 中断在 F-E 循环期间被检测到时如何处理。
    • 中断的处理方式。

(2) 汇编语言 (4.2)

  • 理解汇编语言和机器代码 (machine code) 之间的关系。
  • 描述两遍汇编器 (two-pass assembler) 的各个汇编阶段。
  • 跟踪给定的简单汇编语言程序。
  • 将两遍汇编器过程应用于给定的简单汇编语言程序。
  • 理解指令的分组,包括以下组:
    • 数据移动 (Data movement)
    • 数据输入输出 (Input and output of data)
    • 算术运算 (Arithmetic operations)
    • 无条件指令和条件指令 (Unconditional and conditional instructions)
    • 比较指令 (Compare instructions)
  • 理解并能够使用不同的寻址方式 (addressing modes),包括:
    • 立即寻址 (immediate)
    • 直接寻址 (direct)
    • 间接寻址 (indirect)
    • 索引寻址 (indexed)
    • 相对寻址 (relative)
  • 提供了指令集示例表格,包含以下指令:
    • LDM, LDD, LDI, LDX, LDR, MOV, STO, ADD, SUB, INC, DEC, JMP, CMP, CMI, JPE, JPN, IN, OUT, END
  • 假设只有一个通用寄存器 (累加器) 可用,ACC 表示累加器,IX 表示索引寄存器,
    可以是绝对地址或符号地址,# 表示十进制数 (例如 #123),B 表示二进制数 (例如 B01001010),& 表示十六进制数 (例如 &4A)。

(3) 位操作 (4.3)

  • 理解并执行二进制移位 (binary shifts),包括:
    • 逻辑移位 (logical)
    • 算术移位 (arithmetic)
    • 循环移位 (cyclic)
    • 左移 (left shift)
    • 右移 (right shift)
  • 理解如何利用位操作来监控/控制设备。
  • 执行位操作,包括:
    • 测试和设置位 (test and set a bit) (使用位掩码 (bit masking))

5. 系统软件 (5.1 - 5.2)

(1) 操作系统 (5.1)

  • 解释计算机系统为什么需要操作系统 (OS)。
  • 解释操作系统执行的关键管理任务,包括:
    • 内存管理 (memory management)
    • 文件管理 (file management)
    • 安全管理 (security management)
    • 硬件管理 (硬件/输入/输出/外围设备) (hardware management (input/output/peripherals))
    • 进程管理 (process management)
  • 理解操作系统提供的典型实用软件 (utility software) 的必要性,包括:
    • 磁盘格式化程序 (disk formatter)
    • 病毒检查器 (virus checker)
    • 碎片整理软件 (defragmentation software)
    • 磁盘内容分析/磁盘修复软件 (disk contents analysis/disk repair software)
    • 文件压缩 (file compression)
    • 备份软件 (back-up software)
  • 理解程序库 (program libraries) 的概念,包括:
    • 软件开发通常使用程序库中的现有代码构建。
    • 使用库文件 (包括动态链接库 (DLL) 文件) 构建的软件对开发者的好处。

(2) 语言翻译器 (5.2)

  • 理解以下翻译器的必要性:
    • 汇编软件 (assembler software) 用于翻译汇编语言程序。
    • 编译器 (compiler) 用于翻译高级语言程序。
    • 解释器 (interpreter) 用于翻译和执行高级语言程序。
  • 解释使用编译器或解释器的优缺点,并说明选择使用每种方法的原因。
  • 意识到高级语言程序可能是部分编译和部分解释的,例如 Java (控制台模式)。
  • 描述典型集成开发环境 (IDE) 的特点,包括:
    • 编码特点,包括上下文敏感提示 (context-sensitive prompts)。
    • 初始错误检测特点,包括动态语法检查 (dynamic syntax checks)。
    • 展示特点,包括代码美化 (prettyprint)、展开和折叠代码块 (expand and collapse code blocks)。
    • 调试特点,包括单步执行 (single stepping)、断点 (breakpoints) (例如变量、表达式、报告窗口)。

6. 安全、隐私和数据完整性 (6.1 - 6.2)

(1) 数据安全 (6.1)

  • 解释术语安全 (security)、隐私 (privacy) 和数据完整性 (data integrity) 之间的区别。
  • 理解数据安全性和计算机系统安全性的必要性。
  • 描述旨在保护计算机系统的安全措施,范围从独立 PC 到计算机网络,包括:
    • 用户帐户 (user accounts)
    • 密码 (passwords)
    • 身份验证技术 (authentication techniques) (例如数字签名 (digital signatures) 和生物识别 (biometrics))
    • 防火墙 (firewall)
    • 防病毒软件 (anti-virus software)
    • 反间谍软件 (antispyware)
    • 加密 (encryption)
  • 理解网络和互联网对计算机和数据安全构成的威胁。
  • 描述可用于限制威胁风险的方法,包括:
    • 恶意软件 (malware) (病毒 (virus)、间谍软件 (spyware))
    • 黑客 (hackers)
    • 网络钓鱼 (phishing)
    • 网络欺诈 (pharming)
  • 描述旨在保护数据安全的安全方法,包括:
    • 加密 (encryption)
    • 访问权限 (access rights)

(2) 数据完整性 (6.2)

  • 描述数据验证 (data validation) 和数据验证 (data verification) 如何帮助保护数据完整性。
  • 描述并使用数据验证的方法,包括:
    • 范围检查 (range check)
    • 格式检查 (format check)
    • 长度检查 (length check)
    • 存在性检查 (presence check)
    • 存在性检查 (existence check)
    • 限制检查 (limit check)
    • 校验位 (check digit)
  • 描述并使用数据验证的方法,包括:
    • 数据输入期间: 视觉检查 (visual check)、双重输入 (double entry)
    • 数据传输期间: 奇偶校验 (parity check (byte and block))、校验和 (checksum)

7. 伦理和所有权 (7.1)

(1) 伦理和所有权 (7.1)

  • 理解作为计算机专业人员的伦理需求和目的。
  • 理解加入专业伦理团体 (例如英国计算机协会 (BCS)、电气与电子工程师协会 (IEEE)) 的重要性。
  • 理解在特定情况下采取伦理行为的需求,以及采取伦理或不伦理行为的影响。
  • 理解版权立法的必要性。
  • 理解不同类型的软件许可 (licensing) 并说明在特定情况下使用许可的原因,包括:
    • 自由软件基金会 (Free Software Foundation)
    • 开源倡议 (Open Source Initiative)
    • 共享软件 (shareware)
    • 商业软件 (commercial software)
  • 理解人工智能 (AI) 的概念。
    • 理解 AI 的影响,包括社会、经济和环境问题。
    • 理解 AI 的应用。

8. 数据库 (8.1 - 8.3)

(1) 数据库概念 (8.1)

  • 理解使用基于文件的存储和检索数据方法的局限性。
  • 描述关系数据库 (relational database) 的特点,这些特点解决了基于文件的方法的局限性。
  • 理解并使用与关系数据库模型相关的术语,包括:
    • 实体 (entity)
    • 表 (table)
    • 记录 (record)
    • 字段 (field)
    • 元组 (tuple)
    • 属性 (attribute)
    • 主键 (primary key)
    • 候选键 (candidate key)
    • 次键 (secondary key)
    • 外键 (foreign key)
    • 关系 (relationship) (一对多 (one-to-many)、一对一 (one-to-one)、多对多 (many-to-many))
    • 引用完整性 (referential integrity)
    • 索引 (indexing)
  • 使用实体关系 (E-R) 图记录数据库设计。
  • 理解规范化的过程,包括:
    • 第一范式 (1NF)
    • 第二范式 (2NF)
    • 第三范式 (3NF)
  • 解释给定的数据库表集是或不是 3NF 的原因。
  • 根据数据库描述、给定数据集或给定表集生成规范化的数据库设计。

(2) 数据库管理系统 (DBMS) (8.2)

  • 理解数据库管理系统 (DBMS) 提供的功能,这些功能解决了基于文件方法的问题,包括:
    • 数据管理 (data management),包括维护数据字典 (data dictionary)。
    • 数据建模 (data modelling)
    • 逻辑模式 (logical schema)
    • 数据完整性 (data integrity)
    • 数据安全性 (data security),包括备份程序 (backup procedures) 和使用访问权限 (access rights) 授予个人/用户组 (groups of users)。
  • 理解 DBMS 中软件工具的实践使用,包括:
    • 开发人员界面 (developer interface)
    • 查询处理器 (query processor)

(3) 数据定义语言 (DDL) 和数据操作语言 (DML) (8.3)

  • 理解 DBMS 使用其数据定义语言 (DDL) 执行所有数据库结构的创建/修改。
  • 理解 DBMS 使用其数据操作语言 (DML) 执行所有查询和数据维护。
  • 理解 DDL 和 DML 的行业标准是结构化查询语言 (SQL)。
  • 理解给定的 SQL 语句。
  • 理解给定的 SQL (DDL) 语句,并能够使用 SQL 语句的子集编写简单的 SQL (DDL) 语句,包括:
    • 创建数据库 (CREATE DATABASE)
    • 创建表定义 (CREATE TABLE),包括创建具有适当数据类型的属性:
      • CHARACTER
      • VARCHAR(n)
      • BOOLEAN
      • INTEGER
      • REAL
      • DATE TIME
    • 更改表定义 (ALTER TABLE)
    • 向表中添加主键 (PRIMARY KEY (field))
    • 向表中添加外键 (FOREIGN KEY (field) REFERENCES Table (Field))
  • 编写 SQL 脚本查询或修改存储在 (最多两个) 数据库表中的数据 (DML),包括:
    • 查询 (Queries): SELECT… FROM, WHERE, ORDER BY, GROUP BY, INNER JOIN, SUM, COUNT, AVG
    • 数据维护 (Data maintenance): INSERT INTO, DELETE FROM, UPDATE

二、A Level 考点 (试卷 3 和 4)

9. 数据表示 (13.1 - 13.3)

(1) 用户定义的数据类型 (13.1)

  • 理解为什么需要用户定义的数据类型。
  • 定义并使用非复合类型,包括:
    • 枚举 (enumerated)
    • 指针 (pointer)
  • 定义并使用复合数据类型,包括:
    • 集合 (set)
    • 记录 (record)
    • 类/对象 (class/object)
  • 选择并设计适合给定问题的用户定义数据类型。

(2) 文件组织和访问 (13.2)

  • 理解文件组织的方法,并选择适合的文件组织和文件访问方法用于给定问题,包括:
    • 串行 (serial)
    • 顺序 (sequential) (使用键字段 (key field))
    • 随机 (random) (使用记录键 (record key))
  • 理解文件访问的方法,包括:
    • 串行文件和顺序文件的顺序访问 (sequential access)
    • 顺序文件和随机文件的直接访问 (direct access)
  • 理解哈希算法 (hashing algorithms)。
  • 描述并使用不同的哈希算法来读取和写入数据到随机/顺序文件。

(3) 浮点数、表示和操作 (13.3)

  • 描述二进制浮点实数的格式。
  • 使用二补码形式。
  • 理解更改浮点表示中位数位 (mantissa) 和指数 (exponent) 的分配对浮点数的影响。
  • 将二进制浮点实数转换为十进制,反之亦然。
  • 规范化浮点数。
  • 理解规范化的原因。
  • 理解二进制表示只是对实际数字的近似值 (在某些情况下) 的后果。
  • 理解二进制表示可能导致舍入误差 (rounding errors)。
  • 理解下溢 (underflow) 和溢出 (overflow) 的发生原因。

10. 通信和互联网技术 (14.1 - 14.2)

(1) 协议 (14.1)

  • 理解协议对于计算机之间通信的重要性。
  • 理解协议实现可以被视为一个堆栈 (stack),其中每一层都有自己的功能。
  • 理解 TCP/IP 协议套件 (protocol suite),包括:
    • 四层 (应用层 (Application)、传输层 (Transport)、互联网层 (Internet)、链路层 (Link))。
    • 每层的用途和功能。
    • 当消息从互联网上的一个主机发送到另一个主机时应用层的作用。
  • 理解以下协议 (protocols) 及其用途:
    • HTTP, FTP, POP3, IMAP, SMTP, BitTorrent (BitTorrent 协议提供点对点文件共享)

(2) 电路交换和分组交换 (14.2)

  • 理解电路交换 (circuit switching) 的概念,包括:
    • 优点 (benefits)
    • 缺点 (drawbacks)
    • 适用场景 (where it is applicable)
  • 理解分组交换 (packet switching) 的概念,包括:
    • 优点 (benefits)
    • 缺点 (drawbacks)
    • 适用场景 (where it is applicable)
  • 理解路由器 (router) 在分组交换中的作用。
  • 解释分组交换如何用于通过网络传递消息,包括互联网。

11. 硬件和虚拟机 (15.1 - 15.2)

(1) 处理器、并行处理和虚拟机 (15.1)

  • 理解精简指令集计算机 (RISC) 和复杂指令集计算机 (CISC) 处理器的概念。
    • RISC 和 CISC 之间的区别。
    • 理解 CISC 和 RISC 处理器的中断处理。
  • 理解 RISC 处理器中流水线 (pipelining) 和寄存器 (registers) 的重要性/使用。
  • 理解四种基本计算机架构的概念,包括:
    • SISD, SIMD, MISD, MIMD
  • 理解大规模并行计算机 (massively parallel computers) 的特点。
  • 理解虚拟机的概念,包括:
    • 给出虚拟机作用的例子。
    • 理解虚拟机的优缺点。

(2) 布尔代数和逻辑电路 (15.2)

  • 能够为逻辑电路 (包括半加器 (half adders) 和全加器 (full adders)) 制作真值表 (truth tables),可能包括具有两个以上输入的逻辑门。
  • 理解触发器 (flip-flop) (SR, JK)。
    • 绘制逻辑电路并为触发器生成真值表。
    • 理解触发器作为数据存储元素的作用。
  • 理解布尔代数 (Boolean algebra)。
    • 理解德摩根定律 (De Morgan’s laws)。
    • 使用德摩根定律执行布尔代数。
    • 使用布尔代数简化逻辑电路/表达式。
  • 理解卡诺图 (Karnaugh maps (K-map))。
    • 理解使用卡诺图的好处。
    • 使用卡诺图解决逻辑问题。

**12. 系统软件 (16.1 - 16.2)

(1) 操作系统的目的 (16.1)

  • 理解操作系统 (OS) 如何最大化资源的使用。
  • 描述用户界面如何隐藏硬件的复杂性 (complexities) 免受用户的影响。
  • 理解进程管理 (process management) 的概念,包括:
    • 多任务处理 (multi-tasking) 和进程 (process) 的概念。
    • 进程状态 (process states): 运行 (running), 就绪 (ready) 和阻塞 (blocked)。
    • 调度的必要性,以及不同调度程序 (scheduling routines) (包括轮询 (round robin), 最短作业优先 (shortest job first), 先来先服务 (first come first served), 最短剩余时间 (shortest remaining time)) 的功能和优势。
    • 操作系统的内核 (kernel) 如何充当中断处理程序 (interrupt handler) 以及中断处理如何用于管理低级调度。
  • 理解虚拟内存 (virtual memory)、分页 (paging) 和分段 (segmentation) 的内存管理概念,包括:
    • 分页、虚拟内存和分段的概念。
    • 分页和分段之间的区别。
    • 如何替换页面 (pages)。
    • 磁盘抖动 (disk thrashing) 的发生原因。

(2) 翻译软件 (16.2)

  • 理解解释器 (interpreter) 如何在不产生翻译版本的情况下执行程序。
  • 理解程序编译的各个阶段。
  • 理解如何使用语法图 (syntax diagrams) 或巴科斯-诺尔范式 (Backus-Naur Form (BNF) 符号) 来表达语言的语法。
  • 理解如何使用逆波兰表示法 (Reverse Polish Notation (RPN)) 来执行表达式的求值,包括:
    • 词法分析 (lexical analysis)
    • 语法分析 (syntax analysis)
    • 代码生成 (code generation)
    • 优化 (optimisation)

**13. 安全 (17.1)

(1) 加密、加密协议和数字证书 (17.1)

  • 理解加密的工作原理,包括:
    • 使用公钥 (public key)、私钥 (private key)、明文 (plain text)、密文 (cipher text)、加密 (encryption)、对称密钥密码学 (symmetric key cryptography) 和非对称密钥密码学 (asymmetric key cryptography)。
    • 如何使用密钥发送从公共到个人/组织的私人消息。
    • 如何使用密钥发送经过验证的消息给公众。
    • 使用对称和 非对称密码学加密和解密数据。
    • 量子密码学的目的、优点和缺点。
  • 意识到安全套接层 (SSL)/传输层安全 (TLS) 的存在,包括:
    • SSL/TLS 的目的。
    • SSL/TLS 在客户端-服务器通信中的使用。
    • 使用 SSL/TLS 的合适情况。
  • 理解数字证书 (digital certificate) 的概念,包括:
    • 如何获取数字证书。
    • 如何使用数字证书生成数字签名 (digital signatures)。

**14. 人工智能 (18.1)

(1) 人工智能 (AI) (18.1)

  • 理解如何利用图表 (graphs) 来帮助人工智能 (AI),包括:
    • 图的目的和结构。
    • 使用 $\mathsf{A}^{\star}$ 和 Dijkstra 算法在图上执行搜索。
    • 不需要编写算法来设置、访问或执行对图的搜索。
  • 理解人工神经网络 (artificial neural networks) 如何帮助机器学习 (machine learning)。
  • 理解深度学习 (Deep Learning)、机器学习 (Machine Learning) 和强化学习 (Reinforcement Learning) 以及使用这些方法的原因。
  • 理解机器学习类别,包括监督学习 (supervised learning) 和无监督学习 (unsupervised learning)。
  • 理解机器学习中的误差反向传播 (back propagation of errors) 和回归方法 (regression methods)。

**15. 计算思维和问题解决 (19.1 - 19.2)

**(1) 算法 (19.1)

  • 理解线性 (linear) 和二进制 (binary) 搜索方法。
    • 编写算法实现线性搜索。
    • 编写算法实现二进制搜索。
    • 使用二进制搜索的必要条件。
    • 二进制搜索的性能如何根据数据项的数量变化。
  • 理解插入排序 (insertion sort) 和冒泡排序 (bubble sort) 方法。
    • 编写算法实现插入排序。
    • 编写算法实现冒泡排序。
    • 排序程序的性能可能取决于数据的初始顺序和数据项的数量。
  • 理解并使用抽象数据类型 (ADT)。
    • 编写算法在以下各项中查找一个项目: 链表 (linked list), 二叉树 (binary tree)。
    • 编写算法向以下各项插入一个项目: 栈 (stack), 队列 (queue), 链表 (linked list), 二叉树 (binary tree)。
    • 编写算法从以下各项中删除一个项目: 栈 (stack), 队列 (queue), 链表 (linked list)。
    • 描述以下 ADT 并展示如何从适当的内置类型或其他 ADT 实现它们: 栈 (stack), 队列 (queue), 链表 (linked list), 字典 (dictionary), 二叉树 (binary tree)。
  • 理解可以通过使用标准 (例如完成任务所需的时间和使用的内存) 来比较执行相同任务的算法,包括:
    • 使用大 O 符号 (Big O notation) 指定时间和空间复杂性。

**(2) 递归 (19.2)

  • 理解递归 (recursion) 的概念,包括:
    • 递归的本质特征。
    • 递归在编程语言中的表达方式。
    • 编写和跟踪递归算法。
    • 使用递归的好处。
  • 意识到编译器为了翻译递归编程代码必须执行的操作,包括:
    • 使用栈 (stacks) 和回溯 (unwinding)。

**16. 进一步编程 (20.1 - 20.2)

**(1) 编程范式 (20.1)

  • 理解编程范式的含义。
  • 理解以下编程范式的特点:
    • 低级编程 (Low-level):
      • 理解并能够编写使用各种寻址模式 (immediate, direct, indirect, indexed, relative) 的低级代码。
    • 命令式 (Imperative (Procedural)):
      • 假设对结构化编程 (Structural Programming) 有知识和理解 (参见 AS 内容部分 11.3 的详细信息)。
      • 理解并能够编写使用变量、构造、过程和函数 (procedures and functions) 的命令式 (procedural) 编程代码。参见 AS 内容。
    • 面向对象 (Object-Oriented):
      • 理解与面向对象编程 (OOP) 相关的术语 (包括对象 (objects), 属性/属性 (properties/attributes), 方法 (methods), 类 (classes), 继承 (inheritance), 多态 (polymorphism), 包含 (contain), 封装 (encapsulation), getters, setters, 实例 (instances))。
      • 理解如何通过设计合适的类来解决问题。
      • 理解并能够编写代码展示 OOP 的使用。
    • 声明式 (Declarative):
      • 理解并能够通过编写适当的基于给定信息的规则和事实 (facts and rules) 来解决问题。
      • 理解并能够编写代码使用规则和事实来满足目标。

**(2) 文件处理和异常处理 (20.2)

  • 编写代码执行文件处理操作,包括:
    • 打开 (以读取、写入、追加模式) 和关闭文件。
    • 从文件中读取记录并向文件中写入记录。
    • 对串行、顺序、随机文件执行文件处理操作。
  • 理解异常 (exception) 的概念以及异常处理的重要性。
    • 知道何时使用异常处理。
    • 编写程序代码使用异常处理。

剑桥国际 AS & A Level 计算机科学 9618 考纲考点整理 (适用于 2024-2025 年考试)
https://iben.fun/2025/07/03/A Level/9618考点梳理/
作者
Iben Zhou
发布于
2025年7月3日
许可协议