无忧得胜-网上国际课程 (5edu.win)

 找回密码
 立即注册

手机扫一扫,访问本页面

开启左侧

【AP备考】计算机科学A 2020考情分析

[复制链接]
cs_ginobili 发表于 2020-4-27 10:30:32 | 显示全部楼层 |阅读模式
                                                                                                   
【试卷分析】
本次特殊的AP计算机科学A考试共有两道大题,每道题所考查的知识点、答题时间、分值如下表所示:
& `% S8 b: S! {  O; n  P

【AP备考】计算机科学A 2020考情分析

【AP备考】计算机科学A 2020考情分析
" E1 C- S2 e0 X; A" K$ I0 B- U
; ~) g. M% x& h' S" x, x
答题形式
根据CB官方说法,考生既可以选择以打字的形式输入代码,也可以选择纸笔的形式书写,然后拍照上传图片。考试属于开卷考试,但在整个过程中考生无需使用任何IDE软件进行辅助。也就是说,这次疫情下的特殊AP CSA的答题形式,和往年的大题没什么区别。

- f& [* `7 g3 I% J8 b6 ^, X  W6 Z0 c
题目分析与知识点总结
从上面的表格可以看出,本次AP CSA考试的两道试题分值和答题时间都有所不同。第一道大题的分值占比达到65%,明显高于第二道题目。可以看出第一道题的难度或题量都要相比第二题要更大一些。同学们在复习的时候,也应该更着重复习第一题所涵盖的知识点。
' T* b, |7 X4 [) Y4 U% Z" X
第一道题目所考查的知识点是Array/ArrayList。同学们要对这两种结构都非常熟悉。考试中既可能单独挑出一种结构来出题,也有可能两种结构相结合来出题。

+ I7 {9 d, [- A1 s; s* \0 ?
对于array来说,同学们需要掌握的主要知识点如下
) h' {  H+ j. x/ L) F
array 的定义语句,例如
int [] arr = new int[10];

5 `3 p) d8 Y; m9 ]* i' L1 A' v
利用for循环对array进行遍历,例如
for (int i=0; i < arr.length; i++)
{
}

% \5 M8 j# ^- N8 B3 X7 F
利用for each循环对array进行遍历,例如
for (int x : arr)
{
}
3 X' |! b- j/ d7 H. [( c
array中相邻元素的比较,例如:
boolean isIncreasing = true;
for(int i=0; i<arr.length-1; i++)
{
if(arr > arr[i+1])  { isIncreasing = false; }
}
( I8 r. Z; t$ L1 z/ l! T( K
对于ArrayList,题目出题思路和array类似,但ArrayList的语法不同,以下是我们需要格外注意的语句:

+ p- ^- U% h3 p/ u" Q
ArrayList的定义语句,比如8 O+ v' c1 G; r  F5 ^
ArrayList<Integer> iList = new ArrayList<Integer>();
; R1 |4 f' \7 Q, w% J
利用for循环对ArrayList进行遍历,例如
for (int i=0; i < iList.size(); i++)
{
    System.out.println(iList.get(i));
}

$ F. Y0 l0 {! M1 n! D0 I
利用for循环对ArrayList进行清空,例如
for (int i=iList.size()-1; i >= 0; i--)
{
iList.remove(i);
}

7 ~( v1 v: _8 I7 v  \
除了上面说到的array和ArrayList中同学们需要注意的语句,我们还需要掌握array和ArrayList的主要区别。具体内容可以参考下表:

) u% |+ \6 ^. d' X
$ v* c* z; ]" l5 N1 Q. D

【AP备考】计算机科学A 2020考情分析

【AP备考】计算机科学A 2020考情分析
( l2 N. o; l( K) B

/ w; O( H: C  g0 m, H
简要来说,如果存储的是primitive types例如int,double,并且需要大量的数学运算(加减乘除求余)或数值之间的比较,我们一般选用array。如果经常需要执行插入、删除等操作,或者我们希望列表的长度可以变化,我们就选用ArrayList。如果数组没有装满,那么array.length 体现的只是数组的容量,而arraylist 返回的是元素个数

1 m. ^3 w: D. P) V/ p' Q
第二道题目的知识点不像第一道题这么复杂。同学们主要注意以下几点:
1 f* ]( F3 v# T1 w) d
方法中每个要素的含义:access type, return type, id, parameter list;
7 C& e( k( D3 U: p
一个Class的定义里面主要分为两个部分:variables和methods;

' I# D* \. T0 v( v: k! f+ Y2 B6 ^# j6 R
methods中必不可少的是constructor,用来构造这个Class的object;

1 f$ `9 ~5 I; `' y8 C8 i
constructor的主要作用就是(利用parameters)给前文提到的variables赋值。
' W. n' ?, ^$ A" f; c- q9 ~* L4 K
使用constructor来创建该Class object的语句,要重点掌握。比如创建Person这个Class的object,假设Person class有两个variables,分别是一个代表名字的String和一个代表年龄的int:

' P2 @5 D2 e5 u2 E5 Z
Person p1 = new Person(“Jack”, 18);
" A- L( B2 h2 r! m2 N
利用dot operator来调用某个object中方法的语句,例如:
p1.printPerson();
String s = p1.getName();
& R) R9 p2 F3 K) o  u3 z/ u- i1 M
除了上文提到的知识点之外,还建议大家多复习Standard Classes中关于String, Integer, Double和Math中的部分。熟悉这些标准类中每个方法如何使用。考试的时候,强烈建议把官方的AP CS A Reference Sheet放在旁边,随时参考。
+ \1 y& Y6 X3 \7 b) x0 ?) ^

6 F+ t) F% L* e7 `
复习建议
1. 重点关注2010至2019的官方FRQ
2. 在题目中如果包含下面字样之一,同学们就可以跳过该题目:
case study; 2D array; interface; abstract class; inheritance; subclass/superclass;

& {. W+ Z1 O0 p5 v1 a

微信扫一扫,分享更方便

帖子地址: 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

浏览记录|手机版首页|手机版试卷|使用帮助|无忧得胜-网上国际课程 (https://5edu.win)

GMT+8, 2025-9-19 11:24 , Processed in 0.047288 second(s), 35 queries , Redis On.

搜索
快速回复 返回顶部 返回列表