AP Computer Science A:四单元课程、考试与备考全指南
在开始之前,先做一项声明。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 自己公布的材料,来源链接见下方。
常见问题
AP® Computer Science A 考试有多少道题?考多长时间?
AP® Computer Science A 考试可以用计算器吗?
AP® Computer Science A 的四个单元是什么?各占多少权重?
AP® Computer Science A 比 AP® Computer Science Principles 更难吗?
AP® Computer Science A 的通过率是多少?
学生在哪一道自由问答题上最吃力?
AP® Computer Science A 考试要多少钱?德州有补助吗?
参加 AP® Computer Science A 需要有编程基础吗?
AP® Computer Science A 还考递归吗?
Texas CBE™ 的备考产品是怎么用的?价格是多少?
- AP Students — AP Computer Science A Exam (format, section weights, FRQ tasks)
- AP Central — AP Computer Science A Exam Page (42 MCQ, section timings)
- AP Computer Science A Course and Exam Description, Effective Fall 2025 (unit weightings, recursion exclusion, prerequisites, Java Quick Reference appendix)
- AP Students — AP Computer Science A Score Distributions (2025 percentages and cohort size)
- AP Students — Calculator Policies
- AP Central — 2025 Chief Reader Report, AP Computer Science A (per-question means, error patterns, global mean 3.18)
- AP Central — Texas AP Exam Fee Assistance ($99 / $37 / $27 / $26, eligibility, deadlines)
- AP Students — AP Computer Science Principles Assessment (70 MCQ, Create task, 30%)




