# AP Computer Science A: The Complete Guide to the Four-Unit Course, the Exam & How to Prepare

> 自 2025 年秋季起，AP Computer Science A 依据新的 Course and Exam Description 重组为四个单元。考试为 42 道选择题（占 55%）与 4 道自由作答题（占 45%），全长三小时，全程数字化，不允许使用计算器。本指南涵盖选择题各单元权重、四项自由作答任务、经核实的 2025 年成绩数据、阅卷主管指出的具体错误、德州考试费用补助，以及 CS A 与 CS Principles 的区别。

**Source:** https://www.texascbe.com/cn/blog/ap-computer-science-a-2026-complete-guide  
**Published:** 2026-07-18  
**Updated:** 2026-09-01

Texas CBE™ — independently authored practice exams for Texas Credit by Examination, AP, SAT/PSAT and AMC. Not affiliated with, endorsed by or sponsored by the Texas Education Agency, any school district, the College Board, or the Mathematical Association of America.

---

**在开始之前，先做一项声明。**Texas CBE™ 是一个独立的备考平台。我们与 College Board 没有任何隶属、认可或关联关系。AP® 是 College Board 注册的商标，在此仅用于指明我们所服务的学生正在备考的那项考试。我们不复制 College Board 的试题、评分标准或 Course and Exam Description（课程与考试说明）的文字——以下所写的每一项内容，要么是关于该考试的可核实事实，要么是我们独立撰写的材料。

AP Computer Science A 是一门 Java 编程课。它不是计算机概论，也不是一门讲“计算机如何工作”的课——而是一门需要你亲手写出 Java 代码的课，没有编译器来告诉你分号漏在了哪里。这一点比本文其他几乎所有内容都更重要，因为有相当多的学生走进这门课，是因为家长或升学顾问说了一句“去上一门计算机课吧”，而这往往是他们人生中的第一门编程课。

这门课还经历了结构重组。自 2025 年秋季起生效的 Course and Exam Description 用**四个单元**取代了此前的十单元框架。任何仍在带你学习“Unit 7: ArrayList”和“Unit 10: Recursion”的指南、家教或教辅书，讲的都是已经退役的课程结构。本文是依据现行的四单元框架撰写的。

## 考试概览

College Board 公布的 AP Computer Science A 考试形式如下。考试全长三小时，通过 Bluebook 考试应用以数字化方式进行，答案在结束时自动提交。

- **第一部分——选择题：**42 道题，1 小时 30 分钟，占考试成绩的 55%。
- **第二部分——自由作答题：**4 道题，1 小时 30 分钟，占考试成绩的 45%。

这里要纠正你在别处仍会读到的两点。第一，第一部分是 **42 道题**。40 道题这个数字在较旧的备考资料中广泛流传，已不是 College Board 现在公布的数字。第二，**不允许使用计算器**。College Board 的计算器政策规定，除明确列出的考试外，其余 AP 考试均不得使用计算器，Computer Science A 与 Computer Science Principles 都属于不得使用之列，除非学生获批了使用四则运算计算器的特殊便利。有些学生因为其他 AP 理科考试允许带计算器，就以为这门也可以。他们并不需要，也不会拿到。

考试期间会向学生提供 **Java Quick Reference**（Java 速查表），选择题和自由作答题两部分都有。根据现行 Course and Exam Description 的附录，它涵盖 *String*、*Integer*、*Double*、*Math*、*ArrayList*、*File*、*Scanner* 和 *Object* 这几个类。学生练习时应当把它放在手边使用，而不是靠死记硬背绕开它，因为在压力之下，知道某个方法签名在那张表的哪个位置，比凭记忆回想要快得多。

关于时间安排：2026 年的考试于 2026 年 5 月 15 日（星期五）当地时间中午 12 点举行。截至撰稿时，College Board 尚未公布 2027 年的日期，而且这个日期每年都会在五月内浮动，所以请查阅 College Board 官方的考试日期页面确认下一次考试时间，不要假定它会重复。确实存在补考时段，但那不是学生可以自行选择的——必须由学校批准有据可查的时间冲突或紧急情况，并且会使用另一套试卷。

## 四个单元，以及那些百分比的真正含义

这里有一个多数摘要都弄错的精确要点。在现行 Course and Exam Description 中，这一列标注的是*选择题*部分的大致权重，周围的文字也明确说明这些是各单元在考试选择题部分的权重。它们不是整份考试的百分比，你也不应当把它们当成整卷百分比来安排复习，因为第二部分是独立的 45%。

- **Unit 1 — Using Objects and Methods（使用对象与方法）：**约占选择题部分的 15–25%。
- **Unit 2 — Selection and Iteration（选择与迭代）：**约 25–35%。
- **Unit 3 — Class Creation（类的创建）：**约 10–18%。
- **Unit 4 — Data Collections（数据集合）：**约 30–40%。

**Unit 4 是重心所在。**它约占选择题部分的 30–40%，是分量最重的单元，而且它恰好对应着历年学生表现最差的那几道自由作答题。Data Collections 涵盖数组、*ArrayList*、2D（二维）数组、遍历、查找与排序——递归现在也归在这里。

递归值得单独说一句，因为它的地位变了。它不再是一个独立单元，而是作为 Unit 4 内部的若干主题出现，涵盖递归与递归查找。更重要的是，现行 Course and Exam Description 载有一条排除说明，大意是**编写递归代码不在本课程与考试的范围之内**。落到实处：学生会被要求*追踪*递归调用并判断输出或行为，但不会被要求从零写出一个递归方法。这决定了在递归上值得花多少时间——足以自信地追踪即可，不必掌握递归设计。

Unit 3（Class Creation）在四个单元中选择题权重最低。但不要把这理解成“优先级低”。Class Design 是四道自由作答题之一，所以 Unit 3 在第一部分被低估，在第二部分被高估。这种不对称，恰恰会坑到那些只按百分比安排复习的学生。

## 第二部分：四道自由作答题

College Board 公布的四项自由作答任务顺序是固定的：

- **第 1 题——Methods and Control Structures（方法与控制结构）。**编写创建对象并调用方法的代码。
- **第 2 题——Class Design（类的设计）。**通过写一个类来定义一种新类型。
- **第 3 题——Data Analysis with *ArrayList*（用 ArrayList 做数据分析）。**操作列表结构。
- **第 4 题——2D Array（二维数组）。**创建、遍历并操作二维数组中的元素。

这里有一处刻意的省略：我们不会公布现行考试各题的分值细目。备考网站上流传着各种言之凿凿的分值分配，但我们无法从 College Board 自己公布的材料中确认现行的版本，所以我们宁愿什么都不说，也不愿重复一个听上去像模像样的数字。我们能够依据已公布的 2025 年 Chief Reader Report 陈述的是：在 *2025* 年那次考试中，每道自由作答题各计九个评分点。如果你在用往年释出的自由作答题练习——你应该练，能力是可以迁移的——请把那些评分指引当作理解阅卷人看重什么的参考，而不是换算当前原始分的换算器。任何与分值有关的内容，请以最新的官方释出材料为准。

九十分钟做四道题，平均下来每题约 22 分钟，但那是平均值，不是计划。第 1 题和第 3 题往往是较为收敛的任务；第 2 题和第 4 题才是时间消失的地方。从一开始就掐着表练，并在最后预留五分钟，别等到五月才发现节奏有问题。

## 典型的失败方式：第 2 题面对空白编辑器

下面这个模式，让初学编程的学生丢分最多，直说好了。

一个学生上了这门课，整年都跟得上，Java 读得毫无障碍。给他一个带循环的方法，他能告诉你会打印什么。给他四个选项，他能排除掉三个。但他从来没有做过——一次都没有——的事情是：从一个空文件开始，依据一份文字规格说明，写出一个完整的类。在多数课堂上，老师会给出类的骨架，学生只填方法体。那和 Class Design 这道题要求的，完全是两回事。

第 2 题给出一个情境加一份规格说明，要求学生写出类头、私有实例变量、一个或多个构造方法，以及各个方法的实现——整个成品。一个只在别人的类里补过方法的学生，会卡在第一行。不是因为他不理解，而是因为他从未演练过这个动作。整整一道自由作答题，就压在一项完全可以刻意练习、却常常无人练习的技能上。

补救办法不起眼，但有效：反复地从空白编辑器出发，依据文字规格写出完整的类，直到开头那四行成为本能。类头。私有实例变量。把参数赋给字段的构造方法。然后是规定的各个方法。如果一个学生能在九十秒内不假思索地写出这套骨架，第 2 题就不再是一堵墙，而变成了填空题。

## 成绩数据到底说明了什么

截至撰稿时最新公布的分数分布来自 **2025 年 5 月**那次考试。College Board 公布的百分比为：5 分——25.6%；4 分——21.8%；3 分——19.8%；2 分——10.9%；1 分——22.0%。也就是说约有 **67% 的学生取得 3 分或以上**，考生规模约 94,000 人，当年 Chief Reader Report 报告的全球平均分为 3.18。

有两点提醒，而且很关键。第一，该分布反映的是在*旧*框架下举行的考试。2025 年的 Chief Reader Report 直接说明，新的 Course and Exam Description 自 2025–26 学年授课起生效，并适用于 2026 年 5 月举行的考试。所以 2025 年是现存最新的完整数据，但它并不是当前所教课程的分布。请把它当作对学生群体和难度区间的描述，而不是预测——更绝不是对任何一名学生结果的预言。

第二——这也是对家长最有用的一条观察——看它的**形状**。大约四分之一的学生拿到 5 分。大约四分之一的学生拿到 1 分。顶端接近四分之一，底端接近四分之一，中间相对稀薄。这门考试不会产生一条平缓的正态曲线。它是在做筛选。真正学会写代码的学生往往考得很好；只学会看懂代码而不动手写的学生往往掉下去，两种结果之间几乎没有缓冲地带。这就是要及早介入、而不是等到三月的模考才发现问题的理由。

## 阅卷人亲口指出的失分点

College Board 每年都会发布 Chief Reader Report，说明学生实际错在哪里。2025 年的报告很具体，尽管其评分结构未必仍适用，但其中的错误模式是可以迁移的。当年各题满分九分的平均分为：第 1 题 4.54，第 2 题 5.24，第 3 题 4.12，第 4 题 3.96。**数组/ArrayList 题与 2D 数组题最为薄弱**——而这正是 Unit 4，现行框架中分量最重的单元。这种一致并非巧合，它告诉你练习时间该花在哪里。

报告所描述的错误模式，用我们自己的话来说：

- **类设计的基本功。**有些作答完全漏写了必需的行，或者错误地把类头与构造方法头合并，在类头上加了圆括号或参数。实例变量漏写 *private* 会丢掉实例变量那一分，因为把属性保持在类内部是课程要求，公有字段不满足这一点。
- **随机值的强制类型转换与取值范围错误。**在 2D 数组那道题中，多数作答能正确调用 *Math.random()*，但许多人无法把结果转换成所需范围内的整数。先转换再相乘——把 *(int)* 用在原始随机值上然后再乘——每次都会把结果压成零。还有人放大的倍数不对，或者忘了平移范围。把这个通用写法练到括号位置成为本能。
- **漏掉自身配对的排除条件。**这是整个 2025 年自由作答部分中最难拿到的一个评分点。题目要求不能把一个元素与它自身配对；绝大多数作答完全没有做这项排除，而在尝试了的人当中，多数排除了整行整列，而不是仅仅那一个元素。正确的写法是只排除单个元素的条件——*if (r != row || c != col)*——而不是用逻辑与连接的条件。
- **字符串的差一错误。***substring* 调用多取了一个字符，或者在从头部或尾部截取时算错了下标。把两参数形式反复读到“上界不包含”成为直觉为止。
- **过早返回。**在 2D 数组那道题中，一个常见的算法错误是：第一对元素不满足条件就返回 false，而不是等所有配对都检查完；或者在最后干脆忘了返回。

还有一条，属于数字化考试特有的现象，值得告诉每一个学生。报告指出，提交上来的作答中有出乎意料多的一部分几乎没有缩进。Java 并不要求缩进，一份没有缩进但正确的作答仍然可以拿满分。但当某个花括号缺失时，没有缩进的代码极难阅读——学生自己也找不出错误。请在 Bluebook 编辑器里练习缩进，让它在时间压力下成为习惯。它只花几秒钟，却能救回一道题。

## AP Computer Science A 与 AP Computer Science Principles 的区别

这是两门不同的考试，考查不同的能力。它们不是同一门课的两个层级，而家庭却经常选错。

- **性质。**CS A 是一门编程课，专门针对 Java。CSP 涵盖宽泛的计算概念，不绑定任何一种语言。
- **第一部分。**CS A：42 道选择题，90 分钟，占 55%。CSP：70 道选择题，120 分钟，占 70%。
- **第二部分。**CS A：考试当天现场写四道自由作答题，90 分钟，占 45%。CSP：一项贯穿课程的 Create 表现性任务，加上一个课程结束时的书面作答部分，两者合计占 30%。
- **贯穿课程的作业。**CS A 没有。CSP 的学生有 9 小时课堂时间用于开发一个程序、录制演示视频并撰写 Personalized Project Reference（个性化项目参考资料）。
- **考试当天的写作。**CS A：依据规格说明从零写 Java。CSP：围绕学生自己的项目作答，并可查阅自己的参考材料。

对于要在两者之间做选择的家庭，实际的分界在于：CSP 把一部分工作分摊到全年，落到一个学生可以在提交前反复修改改进的项目上，而考试当天的写作围绕的是他们自己熟悉的代码。在 CS A 中，45% 的分数是在九十分钟内徒手、无准备地写 Java 时决出的。一个从未编过程、只因家长说了句“去上一门计算机课”而来的学生，应当清楚自己报的是这两种情形中的哪一种。

两者本身并无优劣。CSP 适合想探索自己是否对计算感兴趣的学生，或者课业安排无法承受每晚繁重习题量的学生。CS A 适合打算继续编程下去的学生。有两点必须诚实提醒：两门考试的大学学分与免修政策因学校而异，差别极大，而且会随时间变化，所以请直接向你名单上的具体大学核实，不要凭假设；另外，先修 CSP 是通向 CS A 的一条合理坡道，但它并不是 CS A 明文规定的先修要求。

## 先修要求，以及谁真的适合上这门课

现行 Course and Exam Description 建议，进入 AP Computer Science A 的学生应已成功修完高中第一年的代数课程，在基本线性函数、函数复合，以及需要多种思路的问题解决策略方面有扎实基础。它还期望学生能够使用笛卡尔坐标系来表示平面上的点。

请留意它说了什么、又没说什么。它并未断言先前的编程经验不必要，我们也不会代 College Board 对此作出主张。阅卷人报告所提示的结论更窄，也更有用：完全没有编程经验的学生完全可以成功，但前提是这一年里他必须在*写*代码，而不是在读代码。

函数这项先修要求比看上去更相关。一个能自然理解“函数接收输入、做一些事情、返回一个输出”的学生，已经具备了理解方法所需要的心智模型。而一个在代数里对这一点还含糊的学生，头两个月会觉得方法、参数和返回值实在让人晕头转向。

## 考试费用，含德州补助

根据 College Board 公布的德州州级补助页面，标准费用为**每科 $99**，若学校放弃其 $9 的返还额则为 $90。对于符合 College Board 减免标准的学生，减免额为**每科 $37**。

德州还更进一步。**德克萨斯州为符合条件的公立学校学生每科额外补贴 $27**，使得已获减免学生的最终费用降至 **$26**。这是一笔实实在在的减免，而且被申领得太少。有三件事需要知道：就读 CEP 或 Title I 学校或学区并不自动获得资格——学生需要逐个核验；州补贴面向公立学校学生，在公立学校参加考试的在家自学学生即使符合 College Board 的减免条件，也被排除在州补贴之外；每年在 AP Registration and Ordering 系统中标记减免身份都有一个硬性的协调员截止日期——2026 年那次考试的截止日为 2026 年 4 月 30 日。所以这是一场应当在秋季、而不是四月才和 AP 协调员进行的对话。

## 一份切合实际的备考时间表

**九月到十一月。**Unit 1 和 Unit 2。目标不是求快，而是把基础练熟：对象与方法调用、条件语句、循环，以及准确手工追踪代码的能力。在纸上追踪。一个预测不出嵌套循环会打印什么的学生，撑不过 Unit 4。

**十二月到二月。**Unit 3（Class Creation）以及 Unit 4 的开头部分。类的书写训练从这时开始——依据文字规格、从空白文件写出完整的类，至少每周一次。如果一个学生到了三月还从未独立写过一个类，那么三月到五月这段窗口要补上它就相当紧张了。

**三月。**正式攻 Unit 4：*ArrayList*、2D 数组、遍历、查找、排序，以及足以应付选择题的递归追踪能力。开始限时做整套自由作答题。对照参考答案诚实地打分——打分宽松的练习比不练更糟。

**四月。**完整限时分卷。至少做两套完整的 90 分钟选择题，以及三到四套完整的自由作答题。在没有自动补全、语法高亮或编译器的纯文本编辑器里做，因为那才是考场条件。反复演练 Java Quick Reference，直到找到一个方法签名只需几秒。

**最后两周。**不学新内容。把之前得分最低的自由作答题重做一遍。复查上面那份具体的错误清单——转换顺序、循环边界、自身配对的排除条件、实例变量的 *private*、*substring* 的边界、过早返回——并确认每一项都不再是现实风险。睡觉的时间要多于学习的时间。

## 周一就可以做的事

具体来说，如果你是正在上这门课或即将上这门课的学生：

- 打开一个空文件，依据一份文字规格独立写出一个完整的类。如果写不出来，那就是你未来一个月的全部优先事项。
- 把 Java Quick Reference 从头到尾读一遍，做到心里有数它上面有什么。
- 把“生成指定范围内随机整数”的通用转换与平移写法反复写到括号位置形成肌肉记忆。
- 在纸上手工追踪十次嵌套循环和递归调用，不用编译器。
- 今年秋天就去问你的 AP 协调员，你是否符合费用减免资格——在德州，这可以把一科 $99 的考试降到 $26。
- 如果你还在 CS A 和 CSP 之间犹豫，请依据你希望这一年的工作量如何分布来决定，而不是依据哪个名字听起来更唬人。

## Texas CBE™ 能提供什么

我们的 AP Computer Science A 备考内容是依据现行的四单元框架搭建的，练习按单元组织，因此学生可以专门针对 Unit 4 训练，而不是漫无目的地做混合复习。我们提供**无需注册账号的免费测验**——在做任何决定之前先试一试。正价为**每门 AP 课程 $39.99，含三个月使用权**。

两点诚实的局限。第一，**我们平台上的自由作答题由学生对照参考答案自评**。我们不批改自由作答题，也不会假装机器打分等同于阅卷人打分。我们提供的是规格说明、参考答案，以及“先写完再看答案”的纪律。第二，我们不对任何分数或结果作出保证，也无法告诉你某所具体大学会认可什么——学分与免修政策因校而异且会变动，请直接向大学核实。

再说一遍，因为这很重要：Texas CBE™ 是独立的，与 College Board 没有隶属关系，也未获其认可。我们不是官方考试，也不主办该考试。我们不复制 College Board 的试题、评分标准或 Course and Exam Description 的文字。我们平台上的一切内容均为独立撰写，以匹配已公布的考试形式与能力要求；本文中的每一项数据均取自 College Board 自己公布的材料，来源链接见下方。
