AP CSP北美卷考情回顾

整体难度分析:AP CSP北美卷

本次考试MCQ的难度相较于去年略有提升,许多算法题的题干篇幅变长,需要考生投入更多时间去思考分析,同时,部分题目的选项具有很强的迷惑性,极易干扰考生的判断。而FRQ部分则变得简单了,即便考生没有做非常充分的准备,也无需过度担忧。 

今年较为新颖的点依旧是改版后的FRQ,但新题的出题风格较为保守,大部分题目与以往6题版的考查方式有相似之处 。主要问题仍然围绕考生之前交给College Board的Creative Performance Task展开提问,这就要求大家对自己提交的代码有足够深入的了解,才能顺利答题。

MCQ题目分析

今年MCQ的整体难度与往年相比,没有特别显著的差异,不过其中大部分题目篇幅较长。虽说部分题目的难度不算高,但由于题干信息较多,考生需要花费更多时间去仔细分析。以下是各单元的具体考查情况:

 Unit1 Creative Development

此单元在本次考试中所占比重较小。主要考查了benefit of collaboration,以及对错误类型的识别,这类题目大概出现了3道左右。另外,还有三四道较长的文字题,主要询问根据给定信息能或不能得出哪些结论,涉及的内容包括volunteer websites, competition, car’s information on the road等。

 Unit2 Data

在本次考试中,该单元的占比不大,但相比去年和前年,题量有所增加。考查内容涵盖二进制与十进制的转换

例如,题目会询问哪一个decimal转换成binary rightmost 是110,有的直接考查转换后的二进制或十进制结果,还有的会问存储某个十进制数字时,二进制至少需要多少位。元数据(Metadata)、压缩、图像与视频中的二进制等知识点也有所涉及,不过更多是以选项的形式出现。数据处理(如过滤、排序)相关内容出现了一两次,比如让考生选择在图书馆找到一本书的正确步骤。

 Unit3 Algorithms and programming

这一单元在考试中占比极大。考查内容丰富,涵盖了赋值(value assignment)、取模(MOD)、嵌套条件语句(nested conditionals)、列表操作(如删除remove和插入insert)、二分查找(binary search)、过程(procedures)、随机值(random values)、模拟(simulations)、时间复杂度(time complexity)、不可判定问题(undecidable problems)等,几乎涵盖了该单元的所有重要知识点。

以下是一些具体的题目示例:

- 变量交换问题(swap algorithm),如x和y值的互换。
- 给出条件“若x在10 - 20之间,问z取什么值能使z = x MOD 3”,且为多选题。
- 考查模拟的适用场景,以多选形式呈现。
- 给出一个关于4个不同过程及其所需时间的表格,让考生选择哪个过程能在合理时间内完成,同样是多选题。
- 描述一种情景:某人运行程序,有时有解决方案,有时没有,有时解决方案需要很长时间才出现,要求考生判断该问题是可判定(decidable)还是不可判定(undecidable)。
- 机器人相关题目和笔画画图题目较多,大约有3 - 4道。
- 给出原始列表和目标列表,问通过怎样的删除、插入等操作能将原列表转换为目标列表,为多选题。
- 告知程序员列表中确定存在某个值,问在什么情况下使用二分查找会始终找不到该值。

 Unit4 Internet

从考查内容来看,这一单元涉及的知识点数量较以往有所减少。主要包括协议(protocols)、万维网(WWW)、容错(fault tolerance),以及顺序计算(sequential computing)与并行计算(parallel computing)。具体题目如协议的定义题、区分WWW和互联网的概念题;有两三道关于容错的题目,例如要切断多少条连接才能使某两点完全断联,以及怎样的连接方式最具容错性;还有三道左右关于顺序计算与并行计算的题目,如在某种条件下应选择并行计算还是顺序计算,使用并行计算完成给定任务需要多长时间,以及对于四个耗时不同的任务和两个处理器,如何分配任务能使总时间最短。

 Unit 5 Impact of computing 

这部分的难度适中,内容占比与之前大致相同。考查内容包括:

- 某些措施的有害影响。
- 如何缩短digital divide。
- 有两道关于众包(crowdsourcing)的题目,询问怎样执行任务能体现众包模式。
- 开源(open source)的具体体现。
- 版权方面的法律问题(legal concerns about copyright)。
- 解释为什么某人删除了浏览历史仍存在信息泄露的情况。
- 公钥加密(public key encryption)。
- 证书颁发机构(certificate authority)。
- 识别最不可能属于网络钓鱼攻击(phishing attack)的选项。
- 什么行为属于键盘记录(key - logging)。
- 公司如何避免流氓接入点(rogue access point)。
- 如何设置一个强密码。

FRQ整体分析

本次 FRQ 延续改版后的结构,共设置两大题,其中第二大题包含三个小问(2a、2b、2c)。答题核心仍围绕考生提前提交的 Performance Task 代码展开,需结合个人程序的具体逻辑作答。相较于去年,题目考查方向更聚焦代码逻辑的深度理解与批判性分析,对考生的程序设计思维和问题定位能力提出了更高要求。

Set 1题目分析

 FRQ-1

第一道题要求考生识别用户可能提供给程序的意外或无效输入,并描述程序接收此输入后的行为;若程序不可能接受意外或无效输入,则需解释原因。答题时,考生需紧密结合自身程序的具体功能,如涉及数值计算的程序,可分析负数或超出范围的数值输入会引发的情况;有格式要求的输入,可探讨非法字符或错误格式的处理逻辑,从实际代码实现角度阐述程序对异常输入的应对方式 。

 FRQ-2a

第二题的 a 问,要求考生参考个人项目代码,针对程序过程部分的第一个选择语句进行分析。需准确识别该选择语句中的布尔表达式,并找出会使此表达式计算结果为 false 的特定值或值集,同时解释为何这些值会导致表达式为 false。考生需精准定位代码中的条件判断语句,结合程序功能逻辑,清晰阐述布尔表达式与程序运行分支的关联。

 FRQ-2b

本题假设其他程序员修改了个人项目列表部分代码段(ii),要求考生描述一种可能导致逻辑错误的修改方式,并解释错误原因。考生需熟悉自身代码中列表操作、循环、条件判断等逻辑,例如循环条件的错误修改、列表元素删除与遍历顺序的改变等,通过合理假设修改场景,详细说明错误修改如何影响程序正常逻辑,导致运行结果异常。

 FRQ-2c

这道题围绕个人项目过程部分(i)中确定的过程展开,要求考生描述该过程提供的功能,并解释将此功能实现为过程,相较于不采用过程的方式,为何能使程序更易于维护。考生可从代码复用性、模块化调试、参数灵活性、可读性提升等角度入手,结合自身程序实际应用场景,对比说明过程抽象在简化开发、降低维护成本方面的优势。

Set 2题目分析

 FRQ-1

该题要求考生给出程序的一个输出示例,并解释此输出如何体现程序的某项功能。答题时,考生需选取能直观反映程序核心价值的输出结果,例如若程序是用于数据分析,可举例输出的统计图表、计算出的平均值等,并详细说明该输出是如何通过代码逻辑实现的,以及它对用户理解数据或完成任务的意义。比如以计算学生成绩排名的程序为例,输出的班级成绩排名表,能清晰展示学生成绩的相对位置,这依赖于程序中对成绩数据的排序和输出逻辑,从而体现程序的数据处理和展示功能。

 FRQ-2a

第二题的 a 问,要求考生参考个人项目代码,针对程序过程部分的第一个选择语句进行分析。需准确识别该选择语句中的布尔表达式,并找出会使此表达式计算结果为 false 的特定值或值集,同时解释为何这些值会导致表达式为 false。考生需精准定位代码中的条件判断语句,结合程序功能逻辑,清晰阐述布尔表达式与程序运行分支的关联。

 FRQ-2b

本题假设其他程序员修改了个人项目列表部分代码段(ii),要求考生描述一种可能导致逻辑错误的修改方式,并解释错误原因。考生需熟悉自身代码中列表操作、循环、条件判断等逻辑,例如循环条件的错误修改、列表元素删除与遍历顺序的改变等,通过合理假设修改场景,详细说明错误修改如何影响程序正常逻辑,导致运行结果异常。

 FRQ-2c

这道题围绕个人项目过程部分(i)中确定的过程展开,要求考生描述该过程提供的功能,并解释将此功能实现为过程,相较于不采用过程的方式,为何能使程序更易于维护。考生可从代码复用性、模块化调试、参数灵活性、可读性提升等角度入手,结合自身程序实际应用场景,对比说明过程抽象在简化开发、降低维护成本方面的优势。

总体来看,今年的FRQ 整体难度与去年持平,但更注重对考生自身代码逻辑的深度剖析与批判性思考。除 FRQ-1 外,2a、2b、2c 均紧密围绕考生提交的代码细节出题,只要考生熟悉自己的代码,掌握答题逻辑,就能较好应对。

本文作者

TD AP CSP老师AP备考资料:2025年FRQ真题免费下载领取

TD整理了CB目前在官网最新更新的2025年北美卷的AP FRQ真题免费分享给大家,有需要的同学可以扫下方二维码,添加TD客服马甲,给马甲发送暗号「2025frq」即可领取~其他科目真题将随官网更新陆续放入分享链接中,敬请关注~