国际文凭组织 · IB Diploma
计算机科学 · HL
Papers, samples and curriculum documents for this course. · 本课程的文件、样卷和课程大纲。
Handouts, exercise sheets and slides · 讲义、练习卷与幻灯片
Shared topic documents retain their source course and topic titles. Use your chosen board’s specification for coverage, tier and exam requirements. · 共用专题资料保留原课程与专题名称。请按所选考试局的大纲核对内容、等级及考试要求。
Handouts · 讲义 · A-Level Computer Science · A-Level 计算机科学 (20)
- 1. Information representation · 1. 信息表示
- 2. Communication · 2. 通信
- 3. Hardware · 3. 硬件
- 4. Processor Fundamentals · 4. 处理器基础
- 5. System Software · 5. 系统软件
- 6. Security, privacy and data integrity · 6. 安全、隐私与数据完整性
- 7. Ethics and Ownership · 7. 伦理与所有权
- 8. Databases · 8. 数据库
- 9. Algorithm Design and Problem-solving · 9. 算法设计与问题求解
- 10. Data Types and Structures · 10. 数据类型与数据结构
- 11. Programming · 11. 程序设计
- 12. Software Development · 12. 软件开发
- 13. Data Representation · 13. 数据表示
- 14. Communication and internet technologies · 14. 通信与互联网技术
- 15. Hardware and Virtual Machines · 15. 硬件与虚拟机
- 16. System Software · 16. 系统软件
- 17. Security · 17. 安全
- 18. Artificial Intelligence (AI) · 18. 人工智能(AI)
- 19. Computational thinking and Problem-solving · 19. 计算思维与问题求解
- 20. Further Programming · 20. 进阶程序设计
Exercise sheets · 练习页 · A-Level Computer Science · A-Level 计算机科学 (85)
- 1.1 Data Representation · 1.1 数据表示
- 1.1.2 Binary magnitudes, one's complement, subtraction and where BCD and hex are used · 1.1.2 二进制数量级、反码、减法,以及 BCD 与十六进制的用途
- 1.2 Multimedia · 1.2 多媒体
- 1.2.1 Encoding a picture and a sound: the file header, the drawing list, and sampling
- 1.3 Compression · 1.3 压缩
- 2.1 Networks including the internet · 2.1 网络(含互联网)
- 2.1.1 Network types, client-server and peer-to-peer models, and topologies · 2.1.1 网络类型、客户端—服务器与对等模型,以及拓扑结构
- 2.1.2 Cloud computing, transmission media, Ethernet and CSMA/CD, and internet hardware · 2.1.2 云计算、传输介质、以太网与 CSMA/CD,以及互联网硬件
- 2.1.3 Finding a server: URLs, the Domain Name Service and IP addressing
- 3.1 Computers and their components · 3.1 计算机及其部件
- 3.1.1 Primary memory: RAM, ROM and their types
- 3.1.2 Secondary storage: magnetic, solid state and optical
- 3.1.3 Input and output devices, and buffers
- 3.1.4 Embedded systems, monitoring and control
- 3.2 Logic Gates and Logic Circuits · 3.2 逻辑门与逻辑电路
- 3.2.1 Truth tables and expressions from a logic circuit
- 3.2.2 Building logic circuits from expressions, problems and truth tables
- 4.1 Central Processing Unit (CPU) Architecture · 4.1 中央处理器(CPU)体系结构
- 4.1.1 Registers, interrupts, ports and performance · 4.1.1 寄存器、中断、端口与性能
- 4.2 Assembly Language · 4.2 汇编语言
- 4.3 Bit manipulation · 4.3 位操作
- 4.3.1 Arithmetic and cyclic shifts, and when a shift stops being a multiply or a divide · 4.3.1 算术移位与循环移位,以及移位何时不再等价于乘除
- 5.1 Operating Systems · 5.1 操作系统
- 5.1.1 Utility software
- 5.1.2 Program libraries and DLL files
- 5.2 Language Translators · 5.2 语言翻译程序
- 5.2.1 Partial compilation (Java) and the IDE
- 6.1 Data Security · 6.1 数据安全
- 6.2 Data Integrity · 6.2 数据完整性
- 7.1 Ethics and Ownership · 7.1 伦理与所有权
- 7.1.1 Professional bodies, justifying a software licence, and the impact of AI
- 8.1 Database Concepts · 8.1 数据库概念
- 8.1.1 Normalising to 3NF, E-R diagrams and the full relational vocabulary · 8.1.1 规范化到 3NF、E-R 图与关系数据库术语
- 8.2 Database Management Systems (DBMS) · 8.2 数据库管理系统(DBMS)
- 8.3 Data Definition Language (DDL) and Data Manipulation Language (DML) · 8.3 数据定义语言(DDL)与数据操纵语言(DML)
- 8.3.1 Joining two tables, aggregates with GROUP BY, and choosing SQL data types · 8.3.1 两表连接、GROUP BY 聚合,以及 SQL 数据类型的选择
- 9.1 Computational Thinking Skills · 9.1 计算思维技能
- 9.1.1 Abstraction and decomposition in practice
- 9.2 Algorithms · 9.2 算法
- 9.2.1 Logic statements and decisions in an algorithm
- 9.2.2 Flowcharts: reading, drawing and converting
- 9.2.3 Structured English, stepwise refinement and describing an algorithm
- 10.1 Data Types and Records · 10.1 数据类型与记录
- 10.2 Arrays · 10.2 数组
- 10.2.1 Bubble sort, array bounds and the standard array routines · 10.2.1 冒泡排序、数组边界与常用数组算法
- 10.3 Files · 10.3 文件
- 10.4 Introduction to Abstract Data Types (ADT) · 10.4 抽象数据类型(ADT)导论
- 10.4.1 The circular queue, a linked list in arrays, and choosing the right ADT · 10.4.1 循环队列、用数组实现链表,以及抽象数据类型的选择
- 11.1 Programming Basics · 11.1 编程基础
- 11.1.1 Operators and expressions
- 11.1.2 Built-in functions and library routines
- 11.2 Constructs · 11.2 程序结构
- 11.2.1 CASE structures, and choosing between IF and CASE
- 11.2.2 Count-controlled loops: FOR ... NEXT, totals and counts
- 11.2.3 WHILE and REPEAT loops, and choosing the right loop
- 11.2.4 Trace tables: dry-running an algorithm and finding logic errors
- 11.3 Structured Programming · 11.3 结构化编程
- 11.3.1 Functions, and choosing between a procedure and a function
- 11.3.2 Parameters by value and by reference, and variable scope · 11.3.2 传值与传引用参数,以及变量作用域
- 11.3.3 Efficient pseudocode and breaking a task into modules
- 12.1 Program Development Life cycle · 12.1 程序开发生命周期
- 12.2 Program Design · 12.2 程序设计
- 12.3 Program Testing and Maintenance · 12.3 程序测试与维护
- 12.3.1 Test strategy, test plans and choosing a testing method · 12.3.1 测试策略、测试计划与测试方法的选择
- 13.1 User-defined data types · 13.1 用户自定义数据类型
- 13.1.1 Designing a user-defined type for a problem, and the linked list
- 13.2 File organisation and access · 13.2 文件组织与访问
- 13.3 Floating-point numbers, representation and manipulation · 13.3 浮点数的表示与运算
- 13.3.1 The mantissa-exponent trade-off, normalisation, and overflow and underflow
- 14.1 Protocols · 14.1 协议
- 14.2 Circuit switching, packet switching · 14.2 电路交换与分组交换
- 15.1 Processors, Parallel Processing and Virtual Machines · 15.1 处理器、并行处理与虚拟机
- 15.2 Boolean Algebra and Logic Circuits · 15.2 布尔代数与逻辑电路
- 15.2.1 The full adder, flip-flops drawn and traced, and four-variable Karnaugh maps
- 16.1 Purposes of an Operating System (OS) · 16.1 操作系统(OS)的功能
- 16.2 Translation Software · 16.2 翻译软件
- 16.2.1 Recursive BNF, syntax diagrams, and RPN in both directions
- 17.1 Encryption, Encryption Protocols and Digital Certificates · 17.1 加密、加密协议与数字证书
- 18.1 Artificial Intelligence (AI) · 18.1 人工智能(AI)
- 19.1 Algorithms · 19.1 算法
- 19.1.1 ADT algorithms - linked lists, binary trees, graphs, and Big O
- 19.2 Recursion · 19.2 递归
- 20.1 Programming Paradigms · 20.1 编程范式
- 20.1.1 The five addressing modes, and declarative programming with facts, rules and goals
- 20.2 File Processing and Exception Handling · 20.2 文件处理与异常处理
Presentation slides · 演示文稿幻灯片 · A-Level Computer Science · A-Level 计算机科学 (20)
- 1. Information representation · 1. 信息表示
- 2. Communication · 2. 通信
- 3. Hardware · 3. 硬件
- 4. Processor Fundamentals · 4. 处理器基础
- 5. System Software · 5. 系统软件
- 6. Security, privacy and data integrity · 6. 安全、隐私与数据完整性
- 7. Ethics and Ownership · 7. 伦理与所有权
- 8. Databases · 8. 数据库
- 9. Algorithm Design and Problem-solving · 9. 算法设计与问题求解
- 10. Data Types and Structures · 10. 数据类型与数据结构
- 11. Programming · 11. 程序设计
- 12. Software Development · 12. 软件开发
- 13. Data Representation · 13. 数据表示
- 14. Communication and internet technologies · 14. 通信与互联网技术
- 15. Hardware and Virtual Machines · 15. 硬件与虚拟机
- 16. System Software · 16. 系统软件
- 17. Security · 17. 安全
- 18. Artificial Intelligence (AI) · 18. 人工智能(AI)
- 19. Computational thinking and Problem-solving · 19. 计算思维与问题求解
- 20. Further Programming · 20. 进阶程序设计
Course units and learning goals · 课程单元与学习目标
These lessons teach selected course objectives. Check the remaining coverage gaps; the material is not a complete preparation programme. · 这些课程教授选定的教学目标。请检查剩余的覆盖缺口;本材料并非完整的备考方案。
A.1 · Computer fundamentals
- Checking an asserted identity.
- Separate authentication from authorization. Authentication checks identity; authorization determines permitted actions. A threat model connects a valuable asset, a possible attack and an appropriate control.
- Use a fictitious school dataset to define users and permissions. Draw data flows, compare validation and verification, and specify tests for normal, boundary and invalid input. Do not use real credentials or student records in exercises.
- authentication
- Checking an asserted identity
- authorization
- Determining permitted actions
A.2 · Networks
- Achieved rate of useful data transfer.
- Transmission time depends on data size and rate. Total delay may also include propagation, processing and queueing. Encryption protects content under its assumptions but does not remove congestion or every metadata exposure.
- Trace a message route using a documented local model. Record payload size, units and measured time. Use school-approved networks and synthetic messages; do not scan or intercept another user traffic.
- throughput
- Achieved rate of useful data transfer
- latency
- Delay experienced in communication
A.3 · Databases
- Attribute set uniquely identifying a table row.
- A join combines rows according to a specified condition. The result count depends on relationship cardinality and filters. A foreign key constraint enforces a relationship rule; it does not automatically encrypt personal data.
- Design a small synthetic user-order dataset with no real personal information. Declare keys, test duplicate and missing-reference inserts, then check a query result against a hand-worked expected table.
- primary key
- Attribute set uniquely identifying a table row
- foreign key
- Attribute set referencing a key in another table
A.4 · Machine learning
- An attribute set uniquely identifying a record.
- A primary key uniquely identifies a record; a foreign key relates records. In prediction, leakage can expose information unavailable at the real decision time. Accuracy alone may hide an unbalanced target distribution.
- Use fictional booking records to identify entities, attributes and relationships. For a learning exercise, use a public non-sensitive dataset, separate training and test data, and describe who may be affected by errors. The current 2027 CS objective scope awaits the acquired guide.
- primary key
- An attribute set uniquely identifying a record
- data leakage
- Use of information unavailable at the intended prediction time
B.1 · Computational thinking
- A finite procedure solving a stated task.
- State input conditions and expected outputs. Use boundary cases, empty collections where allowed, duplicates and invalid values. Distinguish a wrong algorithm from a wrong implementation or an incomplete requirement.
- Trace a search over a small fictional sorted list. State the indexing convention. For binary search, update bounds so the remaining interval shrinks and reject unsorted input unless sorting is part of the task.
- algorithm
- A finite procedure solving a stated task
- boundary test
- A test at a limit of the allowed input range
B.2 · Programming
- A finite procedure solving a stated task.
- State input conditions and expected outputs. Use boundary cases, empty collections where allowed, duplicates and invalid values. Distinguish a wrong algorithm from a wrong implementation or an incomplete requirement.
- Trace a search over a small fictional sorted list. State the indexing convention. For binary search, update bounds so the remaining interval shrinks and reject unsorted input unless sorting is part of the task.
- algorithm
- A finite procedure solving a stated task
- boundary test
- A test at a limit of the allowed input range
B.3 · Object-oriented programming
- Controlling access to state through an interface.
- A method call acts on a particular instance. State changes should satisfy preconditions and postconditions. Polymorphism lets code use a common interface with different implementations when the contract is respected.
- Implement a small synthetic account or inventory model. Test two independent instances, rejected invalid operations and boundary values. Keep the model away from real financial accounts and credentials.
- encapsulation
- Controlling access to state through an interface
- instance
- An individual object of a class
B.4 · Abstract data types (HL only)
- A last-in-first-out abstract data type.
- Choose the structure for the required access pattern. Complexity depends on implementation and assumptions: removing the first item from a shifting array differs from advancing a head pointer in a queue.
- Trace operation sequences by hand, then compare a program with the expected states. Test empty, singleton and repeated operations. State overflow behaviour if capacity is fixed.
- stack · 栈
- A last-in-first-out abstract data type
- queue · 队列
- A first-in-first-out abstract data type
Case study · Case study
- Completed work per unit time under a stated workload.
- A recommendation should connect a requirement to a mechanism and an observable test. For example, a concurrency problem requires a strategy that prevents conflicting updates, plus tests demonstrating the invariant. A claim about faster response requires comparable workload measurements rather than only a complexity label. Evaluate alternatives under the same stated conditions.
- Use an original school-approved scenario and synthetic data. Build a matrix of claim, supporting scenario evidence, technical explanation, limitation and acceptance test. Mark missing facts explicitly and show how the recommendation would change if an assumption failed. This prepares case-based reasoning without reproducing an unavailable IB assessment case study or inventing its examination rubric.
- throughput
- Completed work per unit time under a stated workload
- acceptance test
- A test of whether a specified user requirement is met
IA · Computational solution
- A finite procedure solving a stated task.
- State input conditions and expected outputs. Use boundary cases, empty collections where allowed, duplicates and invalid values. Distinguish a wrong algorithm from a wrong implementation or an incomplete requirement.
- Trace a search over a small fictional sorted list. State the indexing convention. For binary search, update bounds so the remaining interval shrinks and reject unsorted input unless sorting is part of the task.
- algorithm
- A finite procedure solving a stated task
- boundary test
- A test at a limit of the allowed input range
Preparing for this qualification · 备考指南
- This ordering records the 2027 A/B structure separately from the 2014 course final assessment in 2026.
- Do not carry forward old Options A–D or the old assessment weights. A.4 machine learning and B.3 OOP are in the new public structure; B.4 is HL-only.
- Current paper marks, case-study assessment differences, approved language conventions and IA rubric remain blocked pending the current guide.
- The project is a school-supervised working computational solution with requirements, tests and user evaluation, never an invented written replacement.
Teaching coverage still needed · 仍需教学覆盖内容
- 2027 exact objectives/rubrics not verified from an acquired guide. These original foundation cases do not establish full current-course parity.
Specifications and sample documents · 课程大纲和样件文件
- 计算机科学 — 课程简介 · 2014 ↗
First assessment: 2014
- IB Computer Science first assessment 2027 subject brief ↗
Course materials · 课程资料
Course preparation · 课程准备
Documents are available. Board-specific notes, assessments and interactive past-paper practice are not yet available for every course. · 文档已提供。并非所有课程都具备考试局特定的注释、测评及交互式历年真题练习。
Lessons · 课程 →