学编程的人都知道,“计算机大师”冯-诺依曼曾经有一个经典的算法 – Divide and Conquer,叫做“分而治之”。任何一门学科、技艺和考试的学习,我们都可以运用这样的经典算法来处理,即:将一个目标拆分成相应的小目标,然后“各个击破”。对于AP计算机考试知识点,我们也可以做如下划分:
JAVA基础语法部分在考试中所包含的知识点为:关键字与保留字、标识符、变量(重点)、运算符及流程结构这几部分。虽然,除流程控制以外,其他几个知识点难度相对较低,但这一部分是AP考试,甚至是JAVA这一门语言的预备阶段,可以说,如果学生们无法“扛”过这一阶段,就根本无法继续其他章节的学习。因此,学生们在学习JAVA基础部分时,应该以概念“记忆为主,练习为辅”的策略,加深对零散知识点的记忆,为下一阶段的学习打好基础。
今年考情分析:今年这一部分的考题依然以选择题为主,重点考察部分为流程控制中的if-else选择结构、for循环结构以及循环嵌套结构。这类题型通常是将一道数学计算题,以代码的形式演示出来,考生在掌握基本编程语法的基础上,通过数学计算即可解答成功。
在面向对象这一章的学习中,学生要着重理解面向“对象”的编程思想(OOP)和面向“过程”的编程思想(OPP)的区别。学习面向对象的这一章,我们需要从三条主线依次展开,分别是:方法-属性-构造器;三大特性(封装、继承、多态);以及关键字(this, super, static,final)等。在面向对象的学习过程中,同学们还要注重一个难点:方法的值传递;以及对于“方法的重载”和“方法的重写”这两个概念的区分。
今年考情分析:今年大题第一道和部分选择题考察了“面向对象”这一部分的知识点。编写面向对象大题实际上要求学生设计一个类(class),并实例化其对象(object),我们都知道设计一个类实际上就是设计一个类中的三个部分:属性(field)、方法(method)和构造器(constructor),在解答大题的时候,考生应当根据题目要求来设计这三个部分的访问权限、返回值类型及实现目的。
在数组的学习过程中,我们需要着重从以下几个维度来学习数组的相应操作:数组的声明(创建)、数组的静态初始化和动态初始化、数组的length属性调用、数组在底层内存空间的存储模式、数组的默认初始化值以及数组的循环遍历模式。不论是一维数组,还是多维数组,我们都应该从上述几个维度进行学习。在数组学习的过程中,我们应该结合循环结构和嵌套循环结构进行数组的遍历学习。数组作为AP计算机考试的重点和难点,串联起Java流程控制部门及拍讯算法部分。因此,AP计算机考试中,有“得数组者得天下”这样一种说法。
今年考情分析:今年的大题第二道和第三道,分别考察了二维数组和ArrayList两个知识点。数组这一部分的考察是历年AP计算机考试的热点和难点。围绕着二维数组(大题第二题)的考查内容为:二维数组的声明、二维数组的初始化以及遍历数组二维数组这三大块来出题。考生只要掌握这三个部分的出题点并加以练习即可。在ArrayList动态数组的考题中,题目主要考察考生对动态数组对应方法的应用,例如:添加元素至数组(bollean add(E e)、void add(int index, E element))、移除列表元素(void clear())、查找数组元素(boolean contains(Object o))以及返回列表指定元素(E get(int index))。
在大题部分,考察的点在于排序算法,从易到难依次为:冒泡排序(BubbleSorting)、直接选择排序(StraightSelectSorting)、直接插入排序(StraightInsertSorting)以及经典的归并排序(MergeSorting)。具体算法及优化如下图:
今年考情分析:今年在大题部分并没有考察数组的排序,说明AP计算机的对逻辑思维的考察难度比前几年有所降低,但考生依然要掌握相关排序算法及相应算法思想。
“行百里者半九十”,很多学习计算机的同学们没能坚持到最后,这是令人很惋惜的。毕竟,计算机编程这类学科既考察了我们的逻辑思维能力和解题能力,也考差了我们设计能力和算数能力。可以说,计算机编程实际上就是把一道道数学题嵌套至“电脑”中,通过“电脑”进行运算的过程。
© 2024. All Rights Reserved. 沪ICP备2023009024号-1