想要未来往物联网、大数据、电子工程相关的专业方向去发展的同学,往往对CSA这门学科比较感兴趣。
AP CSA考察同学们对于Java这门编程语言的理解,考试时长3小时,分为单项选择和自由问答两个部分,两部分各占一个半小时,50%的分数。不同于AP物理,化学,很多报名参加AP CSA考试的同学以前根本就没有接触过计算机编程,在入门阶段会感到难以理解知识点。但同时,AP CSA考察的是Java语言中最为基础的知识点,所以同学们只要上手了,5分不是问题。
科目及考试介绍
1、什么是CSA
Computer Science A主要为Java编程语言入门和基本知识,考察的是逻辑思维以及解决问题的能力。
Java语言比Python语言更有深度且面向范围更广,它是C++语言的优化,相比C++更简单也更容易掌握,学会Java后再接触其他编程更有触类旁通之感。
CSA课程学到Java语言的原始类型、类的使用、类的创建和继承,此外还有布尔表达式 if语句,还有迭代、数组和数组列表、二维数组、编程中的递归思维等这些知识点。
2、考试简述
考试分为选择题和简答题。
第一部分:
多项选择题 | 40题 | 90分钟 | 占考试成绩的50%
主要是独立问题,有一到两组成组的问题 (通常每组两到三个问题)
考核范围包括计算思维实践1、2、4和5
多项选择题的考试重点仍然是在于for循环、while循环、if语句部分,和字符串、数组(包括二维数组)、数组列表等知识点的结合。选择题中耗时较多的题目主要都集中在代码追踪和条件添加的题目, 对学生阅读代码的能力要求比较高。
尤其是对于数组、数组列表、字符串的遍历,和循环、条件句之间的嵌套考查的题目出现的比较频繁。导致选择题部分整体耗时明显增加。相反,对于递归、继承、多态等传统难点的考查题目反而要少了一些,大概只占据了40道选择题中的10道题左右。
第二部分:
解答题 | 4道问题 | 90分钟|占考试成绩的50%
问题1:方法和控制结构(9分)
问题2:类别(9分)
问题3:数组/数组列表(9分)
问题4:二维数组(9分)
考核计算思维练习3
解答题部分仍然持续传统的考点分配。完整的类的撰写仍然是四道题目中相对难度最低的,也是四道大题中考生平均拿到的分数最高的题目。
最难的题目是第四题,考察关于二维数组的知识。需要考生熟悉二维数组的定义、遍历(尤其是for-each循环)、搜索等常见的算法,再结合调用函数、利用函数返回值等知识点才能解出题目。
其余的两道题目分别考察了对于字符串的相关操作,包括搜索,遍历,切割,和对于数组列表的添加和删除操作,整体难度适中,所考查的易错点也是我们课上反复强调过的内容。
3、5分率
CSA这门学科难度上很温和,它的5分率在25-27%,得到4分以上的同学占到了46.8%,所以大家能拿到5分的机会还是很大的。从数据来看,4、5分占比比较多,所以只要大家很认真的去学习,对Java编程有一个很好的理解,不是纯裸考的话,拿到高分的概率是很大的!
重点知识模块
1、单元概述
从第4-9单元是考试的核心重点,FRQ中50%的题目都会从这几个单元中出题,但是其他部分的内容也是很重要的,第1-3单元是CSA的基础单元,需要大家打好基础。
从第5单元开始难度会有一些提升,需要花时间去理解计算机语言,之后的单元会深入数组、数组列表、二维数组等内容的学习,学完第5单元之后难度会保持平稳。
第4单元是迭代的知识内容,会经常考到,这一单元的题目大家可以多做,把题型掌握好,题目考察知识点去吃透,考试的时候会比较有把握一些。
2、重点知识
(1)重点:类相关知识
· OOP:面对对象编程语言的简写
· 继承、多态:属于“类”的学习内容
“类”是编程语言对于实际情况的抽象化,例如如何形容一个学生呢?学生会有学习新知识、写好作业,拥有假期等等特点(功能),那在代码中呢,我们就要将这些形容学生的特点代码化和抽象化。
继承和多态的问题也是很容易混淆的,涉及到superclass父类和subclass子类。
例如我们上面说的学生,首先学生首先是一个具体的人,然后才是一个学生。学生本身不仅拥有人的特性,还拥有学生的特性,所以学生这一类别是建立在人的类别之上的,在计算机中,学生就成为了人的延伸和继承。因为人类除了学生还可以是其他像老师、律师等的类别,所以学生是作为人这一大类superclass的一个subclass(子类)所存在的。
多态的概念可以理解为同一个动作,有不同的表现形式,例如吃饭一个动作,学生吃饭可能在食堂,但是大众可能又在另一个地方。这种同一动作的多种表现即为多态。
(2)数组,数组列表,二维数组的使用
这部分占据了CSA第6-8单元的内容,首先数组是一种数据结构,可以理解为是电脑对于所有数据储存以及运转的方式,用数据结构这种方式能够更好的帮助我们去管理以及操作这些数据。
数组考察涉及到数组和数组列表的建立和遍历、增删改查、数组的算法(Reverse、最大值、最小值)。
(3)循环结构的理解,基本排序算法
这部分是第4单元的学习内容,CSA中会学到While循环、For循环、循环嵌套、循环算法(查找、二分查找等)。
3、学习建议
?学习建议1:Coding
同学要多写代码,将自己的思路呈现在计算机上,毕竟任何代码问题都可以输入给计算机,看运行的结果,查找自己的问题,多敲代码才是学好的王道。
?学习建议2:
勇于试错,探寻代码的秘密,Bug是常见的,遇见就别灰心,多思考,多调整代码内容。
备考建议
备考时间一般在3-4个月左右,建议每周花6-7小时。
用2个月系统的学习知识点并同步练习,再用1个月进行复习,真题刷题,根据做题情况补充知识和重难点突破,最后考前半个月左右进行知识点查缺补漏。
记得一定要记录经典错题和习惯性错题,后期复习再进行重做。要总结、对比、归类,找到共性问题,以及要及时解决习惯性错题、回顾知识点,分析错题的原因,记录在错题本上,分析错题要比疯狂刷题更重要。
AP计算机科学A考试是用笔写代码,需要大家训练手写代码的感觉。建议复习后期丢弃电脑,全部采用笔写代码。在手写代码时,记得多留些空隙,方便修改代码。 但是,虽然考试不是上机考试,但是笔试时遇到的很多问题都是实际编程中的bug,通过自己在电脑上写代码可以清楚的认识常见的语法错误和逻辑错误,所以推荐大家在前期学习时一定要上机写程序。前期使用电脑写代码,后期使用笔写代码。
教材教辅建议
1、Java Software Solutions for AP Computer Science, Pearson, 3 Edition
这本书是Computer Science专为AP考试设计,内容非常贴合考纲,许多学校都在使用
2、Absolute Java, Pearson, 6 Edition
这本教材中提供了大量课内外知识,适合大家长期备考,比较深入的去学习计算机,归纳了知识要点,而且重点比较突出。
3、Barron's AP CSA with 6 Practice Tests, 9 Edition
巴朗的这本书的内容全面,包含知识点讲解、图像说明、公式强调、概念陈列、练习题等,比较适合初步学习,也适合大家综合复习的时候使用,它的更新比较及时,内容比较贴合考纲。
来源 | AP考试研习社。本文版权归属作者/原载媒体所有。