计算机科学(Computer Science)是美本申请中当之无愧的大热门专业,竞争非常激烈。那么如何在竞选者当中脱颖而出,我们一般会考虑选修计算机相关的美国大学先修课程(Advanced Placement),简称AP课程。
AP课程由美国大学理事会(The College Board)在高中阶段开设,在世界范围内都有很高的认可度,每年5月开设大考,分数为0-5分,一个较高的分数不仅代表着学生在这个领域的出色表现,也可以未来在大学中换学分。
本文主要介绍AP计算机课程的内容和该课程两门考试的区别,还会包括相关的备考建议,千万不要错过哦~
|
|
|
|
肆、AP Computer Science Principles |
|
|
|
|
计算机相关的AP课程科目包括AP Computer Science A和AP Computer Science Principles。
根据College Board(简称CB)发布的考试介绍,AP计算机课程的目的在于为计算机科学的基础领域提供强有力的、引人入胜的介绍。
CSA的内容集中在对具体编程语言Java的学习和运用(美本一般从Java入门),而CSP的内容更多的是对整个计算机相关领域介绍。
两门课都是计算机领域的基础知识,一个更偏应用,另一个更偏理论。
在官方的建议中,计算机课程的学习不需要有编程的经验,但对学生的数学能力有所要求。
“学生最好已经完成了高中一年级的代数课程(Algebra),在基本线性函数(Linear Function)、函数组合(Composition of Functions)和需要多种方法和协作努力的问题解决策略(Problem-Solving Strategies)方面打下坚实的基础。
此外,学生应该能够使用Cartesian (x, y)笛卡尔坐标系来表示平面上的点。重要的是,任何重要的计算机科学课程都是建立在数学推理的基础上的,在尝试这样的课程之前,应该获得数学推理的基础。”
—— College Board
换句话说,计算机课程需要有坚实的数学基础,尤其是解决应用题的时候,对问题分解的能力。
上图是2023年的分数分布,其中CSA的5分率达到了27%,而CSP则是12%。
作为一个先修内容不算严苛的学科,CSA的5分率仅排在除语言类的 微积分BC 和 物理C电磁学 之后,算得上是非常高了。
就算是没有想好要不要去学计算机,如果自认为数学还不错,也都强烈建议选修这门课,不仅是因为它Easy 5。
其次就是对未来大学的学习也非常有帮助,很多学校会要求学生在毕业前完成至少一门计算机相关课程(虽然不局限于Java),一个较好的分数有机会置换大学的学分,就算不参与大考也能够为大学学习打好基础。
这个数据差不是特别的意外,因为Principles的内容有大量的文字信息,而且知识点相对较为零碎,不仅要编写代码,还有非常多需要背诵记忆的理论内容,考试甚至有多选题。
因此学生也需要花费较多的时间在这门科目上以精确全面地了解各个方面的知识。
不过从学习内容的总体而言,虽然知识点较多,但内容在很多人看来其实只是广度变宽而相对没那么深入,反而会偏简单,如果学校开设这门课,也可以去学一下。
Anyway,个人会建议如果是以出分为目的,在AP课程不是特别紧张的情况下,或者是在学完CSA后想要进一步深入研究计算机领域的情况下选修这门课,这样会相对轻松很多。
CSA注重实践,CSP注重理论,精力有限就二选一(偏文科考虑CSP,偏理科考虑CSA),想学计算机就两门都去考虑。
AP Computer Science A通过编程向学生介绍计算机科学。
课程的基本主题包括问题解决方案的设计,使用数据结构来组织大量数据,算法的开发和实现来处理数据和发现新信息,潜在解决方案的分析,以及计算机系统的道德和社会影响。
课程强调使用Java编程语言进行面向对象编程和设计。
首先是需要能够解读问题,学生需要能够理解题目的意思,然后细分问题,把题目分解成不同的任务目标,并分别解决,这就像是数学中用方程的方法解决应用题。
其次,在编程的过程中,学生需要能够读懂代码,包括确定产生给定输出所需的代码段,在给定初始值的情况下确定给定程序代码的输出、值或结果,分析程序代码的正确性、等价性和错误,以及描述程序中产生已识别结果的行为和条件。
最重要的是,学生需要能够编写和实现程序代码。
这需要大量的实机练习,才能够对解决问题得心应手,所以上课的时候一定要带上电脑、跟着老师一起coding。
最后,大量的练习还是必不可少的,计算机其实也算得上是熟能生巧的范畴,不要怕运行不成功,而是要去分析自己为什么会出错、忽略了什么信息。
考试时长3小时,分为两个部分:40 multiple choice questions(选择题)和4 free-response question(代码题),全程纸笔作答,也就是要手写代码。
考试会提供Java Quick Reference,它列出了考试中可能包含的Java库中的可访问方法。
AP Computer Science Principles
AP Computer Science Principles向学生介绍计算机科学领域的广度。
在这个课程中,学生需要学习设计和评估解决方案,并通过算法和程序的开发、应用计算机科学来解决问题。把抽象概念融入到程序中,并利用数据来发现新知识。
学生还需要解释计算机新技术和计算机系统(包括互联网)是如何工作的,探索它们的潜在影响,并为协作和有道德的计算机文化做出贡献。
课程本身没有指定的计算机语言,但考试有一个部分需要运行自己写的程序,所以学生需要掌握至少一门编程语言。
如果学生已经上过或者同时在学CSA,建议选择Java来完成这个任务;只规划了一门计算机课程就选Python。
CSP的第三部分Algorithms and Programming会与CSA有一定的重合,不过大体来说会相对简单一点,所以其实也是可以先学CSP,对计算机领域有一个更好地铺垫。
CSA聚焦在如何设计方案解决问题和开发实现算法,而CSP还需要学生研究计算机新技术,为包容、安全、协作和有道德的计算机文化做出贡献。
所以学习的时候不仅同样要通过大量练习来熟悉算法的应用,解读每行代码的含义与目的。也需要花时间把理论知识点背下来,诸如二进制的转换、图片及音频的储存方式、压缩的工作流程等等,对内容的理解需要非常的精确到位。
可以试一下把内容导入Quizlet当中,方便随时记忆。
考试分为两个部分👇
五月大考:时长2小时,包括70 multiple choice questions,占比70%
十二月-次年四月底的Performance Task:需要实际设计和运行一个程序去解决问题,包含程序代码、运行程序的视频和一个书面的回答,占比30%
大量的练习非常重要!
除了平时的编程,还有较多概念类型的题目,所以最好在考试前把题目过一遍。
随着上课进度完成的课本后的习题,如Barron巴朗、CSA还会有CB官方提供的11 Labs,除此之外在校学生也可以去问一下任课老师开一下AP Classroom的权限,这里面的题目和考试非常相似,质量非常高。
在考前冲刺阶段就要去刷真题了,一定要计时完成。
CSP平时的performance task一定要尽早开始,尽可能地完成Rubric上的要求,没什么思路可以去翻翻往届学生的例子,但不要照抄哦~
AP计算机分为了A和Principles两门课,两门课都需要一个较好的数学基础,前者实践为主5分率较高 --- 适合偏理科的学生选择,后者偏理论 --- 背诵内容较多适合偏文科的学生选择;
编程部分无疑是计算机课程的难点,一定要勤加练习,在自己的电脑上写下代码并且尝试运行;
最后到了考前冲刺阶段,一定要拿出真题,熟悉题型、提高做题速度!
祝大家考试顺利,门门5分!
如果这篇内容对你有帮助的话,不要忘了点个赞或者在看,分享给更多有需要的人!
(悄声)听说点了赞的观众老爷都能去到心仪的学校~
|