Notice: Undefined index: HTTP_REFERER in /www/wwwroot/www.onebest.cn/phpcms/statics/index on line 6
2017新增科目AP计算机科学的备考大纲 - 沃邦国际教育

2017新增科目AP计算机科学的备考大纲


来源:   时间:2017-03-03 13:22:06

  早在2016年年底的时候,我们总结过AP在2017将发生的政策变化,其中一个是新增一个科目,AP计算机科学考试,下面就分享AP计算机科学部分的考试大纲,今年打算参加考试的同学赶快收藏好。
 
\

  常见考试题型

 
  相信做过计算机科学真题或各种参考书上套题的同学们都有所体会,在此简单提一下。
 
  Section I: Multiple Choice [1 hour and 30minutes for 40 multiple-choice questions]
 
  Section II: Free-Response [1 hour and 30minutes for 4 problems involving extended reasoning]
 
  根据对AP Course Description的样题分析可以得出(括号里是样题的题号)
  Section I有以下几种题型:
 
  1. 对程序运行效果的分析(比如哪几个可以给出这个答案、这段程序会输出什么、运行了程序之后variable会变为什么,1、2、3、4、5、8、9、10、13、14、15、16、18、19、20、24)
 
  2. 错误分析和改正(题目原意是如此,然后接着下面函数哪个能达到目的、为什么这段程序不能达到目标,怎么才可以最终达到目标,11、12、23、25)
 
  3. 面向对象程序设计(主要是考如何把生活中的事情抽象成计算机的方式来描述,6、7、22)
 
  4. 程序运行效率、代码的最佳位置等其他题(17、21)
 

  考试内容

 
  AP编程所用的语言是Java,一门经典的面向对象编程语言,就是书上的Object-Oriented Program Design。
 
  主要要求我们掌握两大模块,一是如何才能用对象的思维抽象问题,如把数据抽象成各种变量及数组;二是如何才能使用算法将抽象的内容(题目可能会给出抽象好的内容,如变量定义)。
 
  以下的内容供大家参照初步了解AP计算机科学A的具体要求。
 
  Object-OrientedProgram Design 面向对象编程
 
  1. 我们需要明白如何用计算机的方式来看待问题
 
  2. 需要明白怎么把现实生活中的数据用计算机的方式描述
 
  3. 需要知道类和接口的特点以及两种关系(“is-a”就是inheritance relationship继承,“has-a”就是composition relationship组成关系)
 
  4. 需要明白code reuse和code overload这两种易混淆的概念
 
  5. 需要明白数据呈现形式和算法实现形式
 
  6. 需要明白如何把操作分解,简单地说就是把一个操作变为很多子操作
 
  ProgramImplementation
 
  程序的实现方法
 
  (这里面的内容巴朗讲得很清楚,还有生动形象的例子)
 
  1. op-down 从上到下
 
  2. Bottom-up 从下到上
 
  3. Object-oriented 面向对象式
 
  4. Encapsulation and information hiding 把一定对象封包和隐藏信息
 
  5. Procedural abstraction 过程抽象
 
  程序结构
 
  1. 知道primitive types和reference types的特点和区别
 
  2. 知道常量、变量、方法及其参数、类、接口的定义和应用(这个及其重要,例如要学会如何使用extend、implement来创建子类和实现接口)
 
  3. 知道如何使用System.out.print、System.out.println输出数据(或其他有特殊说明的输出方式)
 
  4. 学会如何调用方法、如何顺序执行和条件执行、循环遍历、递归
 
  5. 知道数字的表达式、字符串表达式和布尔表达式的计算
 
  AP要求的Java类(String等里面的方法和参数需要记忆,考过很多次)
 
  程序分析
 
  测试
 
  1. test case的开发(包括boundary case,巴朗有详细说明测试数据的选取)
 
  2. 单元测试
 
  3. 整体测试
 
  调试
 
  1. 要知道不同分类的错误,compile-time error,run-time error和logic error
 
  2. 要知道错误的辨别和改正
 
  3. 要知道如何使用调试器、添加输出语句或手动跟踪代码
 
  运行出的exceptions
 
  程序更正
 
  1. 前提条件和后来条件(就是执行前需要什么,执行后会是什么)
 
  2. 断言
 
  算法分析
 
  1. 要会分析出语句执行次数
 
  2. 要会大体比较运行的时间(一般双方所用的时间和效率会差距很大)
 
  要学会用不同进制表示一个非负数,还要知道整数的最大最小限制integer.MAX_VALUE和integer.MIN_VALUE,知道计算机储存数的方式,如整数的最高位是用来判断正负的。这里需要注意:不是最高位从0变为1就变成相反数了。
 
  标准数据结构(如何把题目的概念抽象成数据等)
 
  1. 前面说的primitive data types如int, boolean, double
 
  2. 字符串
 
  3. 类
 
  4. List
 
  5. 一维和二维数组
 
  标准操作和算法
 
  1. 数据结构操作,如截断、添加、删除
 
  2. 顺序搜索和二叉树搜索
 
  计算机在实际应用方面的问题(很少涉及,大家就简单看看)
 
  1. 系统可靠性
 
  2. 隐私
 
  3. 法律条例和知识产权
 
  4. 计算机使用在社会和道德方面的后果
 
  大家可以把参考书看一遍(如果有空的话做做每章的检测)以后再来看看Course Description中的考纲看有没有不会的知识,如果基本没有就可以开始练题了。
 
  最后补充一下,AP计算机科学A只是大学的入门课,其实很早以前还有计算机科学AB,这里面包含所有A的知识,还加上了数据结构等更深入的概念(这也就是很多学生很奇怪为什么计算机科学只有A)。(From 美国考试日报)
 


延伸阅读

2016-2017最新AP考试政策与时间变动

美国名校对AP分数要求及换学分政策盘点

ACT阅读拿32+文章要会分层读,这5款APP拿去练手

2017年SAT/托福/AP最利于申请的考试节点