ap计算机科学a考纲,AP计算机考试考点分析_备考规划指导_5分容错率介绍-程序员宅基地

技术标签: ap计算机科学a考纲  

9de93eef0cbe0444559a01a6e69d9184.png

离五月的日子越近,就越想要打醒一月报名时信心膨胀的自己。随着AP考试在国内的普及率越来越高,越来越多的出国党也开始不仅把眼光放在托福和SAT的考试上,而是挑战更高的难度的AP。今天,笔者将为大家带来AP备考系列最后一篇:Computer Science A考试分享。

为了帮助AP考生备考,TD近期推出了《考前1月AP复习救命稻草》系列推文,这是本系列的11号文章 — 关于AP CS A那些事儿。

考试介绍

与大多数其他AP考试类似,AP CS A分为两个部分:

Section I:

Multiple Choice Question [1 hour and 30 minutes for 40 multiple-choice questions]

Section II:

Free-Response Question [1 hour and 30 minutes for 4 problems involving extended reasoning]

Section I的选择题就不多说,Section II的FRQ一般是让我们补充完整类的方法。

技能点分析

在对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,一门经典的面向对象编程语言,AP主要要求我们掌握如何才能用对象的思维抽象问题,如把一个棋盘抽象成二维数组;二是如何才能使用算法用抽象的内容来进行各种操作(题目可能会给出抽象好的内容,如变量定义,让我们完善一个类的方法)。 以下的考试内容供大家参照初步了解AP计算机科学A的具体要求:

I. Object-Oriented Program Design 面向对象编程

1. 我们需要明白如何用计算机的方式来看待问题

2. 需要明白怎么把现实生活中的数据用计算机的方式描述

3. 我们要知道类和接口的特点以及两种关系(“is-a”是继承关系,“has-a”是组成关系)

4. 明白code reuse和code overload这两种易混淆的概念

5. 需要明白数据呈现形式和算法实现形式

6. 需要明白如何把操作分解,简单地说就是把一个操作变为很多子操作

II. Program Implementation

A. 程序的实现方法(这里面的内容巴朗讲得很清楚,还有生动形象的例子)

1.Top-down 从上到下

2. Bottom-up 从下到上

3. Object-oriented 面向对象式

4. Encapsulation and information hiding 把一定对象封包和隐藏信息

5. Procedural abstraction 过程抽象

B. 程序结构

1.知道primitive types和reference types的特点和区别

2.知道常量、变量、方法及其参数、类、接口的定义和应用(这个及其重要,例如要学会如何使用extend、implement来创建子类和实现接口)

3.知道如何使用System.out.print、System.out.println输出数据(或其他有特殊说明的输出方式)

4.学会如何调用方法、如何顺序执行和条件执行、循环遍历、递归

5.知道数字的表达式、字符串表达式和布尔表达式的计算

C. AP要求的Java类(String等里面的方法和参数需要记忆,考过很多次)

III. 程序分析

A. 测试

1. test case的开发(包括boundary case,巴朗有详细说明测试数据的选取)

2. 单元测试

3. 整体测试

B. 调试

1. 要知道不同分类的错误,compile-time error,run-time error和logic error

2. 错误的辨别和改正

3. 如何使用调试器、添加输出语句或手动跟踪代码

C. 运行出的exceptions

D. 程序更正

1. 前提条件和后来条件(就是执行前需要什么,执行后会是什么)

2. 断言

E. 算法分析

1. 要会分析出语句执行次数

2. 要会大体比较运行的时间(一般双方所用的时间和效率会差距很大)

F. 要学会用不同进制表示一个非负数,还要知道整数的最大最小限制

integer.MAX_VALUE和integer.MIN_VALUE,知道计算机储存数的方式,如整数的最高位是用来判断正负的。这里需要注意:不是最高位从0变为1就变成相反数了 。

IV. 标准数据结构(如何把题目的概念抽象成数据等)

A. 前面说的primitive data types如int, boolean, double

B. 字符串

C. 类

D. List

E. 一维和二维数组

V. 标准操作和算法

A. 数据结构操作,如截断、添加、删除

B. 顺序搜索和二叉树搜索

荐参考书

巴朗AP 计算机科学A

如果你的时间充裕而且有一定的计算机编程基础知识,推荐用巴朗AP 计算机科学A来做第一次阅读和做练习,它的优点在于把概念写得很完整很详细。上面的考纲的内容巴朗里都基本都有详细介绍。里面的题目也都很不错,选择题和大题都很适合练习和模考,引进版的巴朗还配有中英目录翻译,对专有名词的理解还是很有帮助的。

不过其中的内容有点超纲,而且介绍的内容过于复杂(例如第一章出现的package基本都不考),不适合复习的时候使用。内容的排序也要求读者有一定的计算机编程基础,不然很容易被绕晕,也不太适合新手入门。

程谱CodeRecipe

如果你觉得自己理解不了巴朗的英文描述和比较有挑战性的编排体系,或者是已经到了不足一个月的紧要关头还觉得自己有知识空缺,推荐一个专门做计算机教程的公众号:程谱CodeRecipe,里面专门为AP设计的知识树体系,而且语言比较活泼好理解。如果是还没有对AP CS A有一个完整的理解(比如认真读过一遍参考书或者跟着老师上过一遍课),那么可以直接学习整个AP CS A知识树。

如果你只是想要差缺补漏(比如看书做题的时候发现了没有理解的知识点),可以去看程谱的抱佛脚知识树,里面有对知识点的完整梳理而且每一个知识点都链接到教程原文,做得很完善。当然如果用中文教程学AP的话,那么教程括号里的英文单词也是需要掌握的(AP CS A不需要写文章,因此会认即可)。电脑可能看公众号不太方便,也直接登录官网看: https://coderecipe.cn

最后一个月简单规划

大家可以把参考书看一遍,之后再来看看这篇文章,过一遍考点分析和知识点梳理,确定内容中没有不会的知识之后就可以开始练题了,如果有不会的知识的话,可以程谱参考手册中直接查理解一下。

对于往年的选择题官网基本没有放出,Course Description里面有一套参考题,推荐大家作为考前训练用,当然也可以做做练手,其他时候考前有时间的话每天一套参考书的选择题来防止知识的遗忘。

对于FRQ问答题,建议大家练习时拿HB铅笔(到时候会要求用铅笔写而不是水笔)和橡皮自己计时完成,一套题大概留出15分钟左右的时间,最后可以重新读一下题和自己的答案试着用参考数据模拟运行一下,看一看结果是不是和参考相同。题目内容优先练2014年以后的年的官方问答题,实在不够再练参考书的。

一开始写出的程序和参考答案不像不要紧,尽量靠近就好了,但参考答案上的算法一般效率都会比较高,而自己写的可能存在一些运行的问题或效率低。(当然高手们练到后期会发现自己写的答案比参考效率还要高,那就另当别论,不过建议考试和练习的时候不要炫技,分数要紧,最好稳扎稳打,不然老师要是看不懂或者自己写错某个步骤就不太好了)

跟我一起划非重点

看了那么多内容,你是不是觉得超累。接下来让我们来放轻松,划一划非重点。因为近年来AP计算机科学一直在删减内容,有一些内容已经不要了,做往年卷子时可能会遇到,这些题可以直接跳过:

GridWorld Case Study(在前年的卷子中开始消失,在这之前的卷子每套一般会有一个大题考这个,当时我还问了深圳的老师,得到消息说不考了后就只是尝试着写一写,被换成了三个labs)

instanceOf 这个以前在标准答案中出现过,现在Course Description中的描述是not tested in the exam but potentially relevant/useful三个labs (The Magpie Lab, The Elevens Lab, The Picture Lab,在巴朗的计算机科学的书里面有,但是现在的描述是optional and are not tested on the exam,对于这些labs,只需知道内容和其中面向对象编程概念就好)

AP各科选择题真题打包下载福利(超过10科)

请扫码添加TD客服微信

并发送关键字「AP真题」领取~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_29978783/article/details/118207361

智能推荐

学习CSS3这一篇就够了-程序员宅基地

文章浏览阅读4w次,点赞443次,收藏3.1k次。目录CSS第一章 CSS概述1.1、概述1.2、语法1.3、注释1.4、如何创建并引用1.4.1、外部样式表(外联式)1.4.2、内部样式表(内联式)1.4.3、内联样式(行内式)1.5、三种引入优先级第二章 CSS选择器2.1、id选择器2.2、class选择器2.3、标签选择器2.4、子代选择器2.5、后代选择器2.6、相邻兄弟选择器2.7、后续兄弟选择器2.8、交集选择器2.9、并集选择器2.10、通配符选择器2.11、伪类选择器2.11.1、anchor伪类2.11.2、input伪类2.11.3、_学习css3这一篇就够了

全网疯传,谷歌BAT员工「LeetCode刷题手册」,1400+超详细算法题讲解。_halfrost@github-程序员宅基地

文章浏览阅读1k次,点赞2次,收藏5次。本文原文地址:全网疯传!BAT大佬「LeetCode刷题手册」,1400+超详细算法题讲解!算法,在众多大厂研发岗面试中常常涉及,头部大厂比如头条更是看重。所以,如果想进大厂,也建议多刷刷算法题。或许大家都有这个意识,但就是不知从何处看起。最近我在整理一些刷题资料,无意中发现两个巨大宝藏: 第一个是一位 BAT 大佬霜神(halfrost@github)写的 LeetCode 刷题笔记; 第二个是一位谷歌大佬整理的 LeetCode 101道题目。 看过这两份题..._halfrost@github

Matplotlib - 柱状图、直方图、条形图 bar() & barh() 所有用法详解_matplotlib barh-程序员宅基地

文章浏览阅读4.1w次,点赞47次,收藏285次。目录基本用法 多个直方图并列显示显示直方图上的数值多个直方图堆叠显示水平直方图相较散点图和折线图,柱状图(直方图、条形图)、饼图、箱线图是另外 3 种数据分析常用的图形,主要用于分析数据内部的分布状态或分散状态。柱状图(直方图、条形图)主要用于查看各分组数据的数量分布,以及各个分组数据之间的数量比较。Matplotlib 中绘制柱状图(直方图、条形图)的函数为 ba..._matplotlib barh

[Elasticsearch]集群X-Pack安全加固_安全 x-pack 加固-程序员宅基地

文章浏览阅读1.9k次。elasticsearch的更新速度飞快,刚开始玩还是elasticsearch5,现在已经发展到elasticsearch7的版本了。听说elasticsearch7.X已经支持XPack部分功能不再需要付费,可以直接加固了,但是很多公司的elasticsearch还是基于es6.X的版本。elasticsearch存在一个最大的问题,就是版本不向下兼容,比如elasticsearch5还是多..._安全 x-pack 加固

java FFT的实现及部分个人理解_fft 2的倍数-程序员宅基地

文章浏览阅读1.2k次。理论准备:1.复数复数分为实部和虚部复数的模=实部和虚部的平方之和(实部,虚部类比x,y轴,模为到原点的距离)复数运算:加减法:实部虚部分开进行 加减乘法:(a1+b1j) * (a2+b2j)=(a1a2 -b1b2) + (a1b2j+b1a2j)(j^2=-1)类比乘法(a1+b1)*( a2+b2)2.DFT因子(也有叫旋转因子的)如何理解:将一个单位圆N等分..._fft 2的倍数

关于修改my.ini后mysql5.7服务重启停止的问题_mysql5.7.37版本 修改配置ini文件后重启服务报错-程序员宅基地

文章浏览阅读707次。在向数据库上传mp3文件时,发现文件5M多,超过4M大小限制从而报错。去my.ini配置文件中添加max_allowed_packed=10485760是能解决问题的由于我安装的mysql是5.7版本,此版本my.ini并未在安装目录下C:\Program Files\MySQL\MySQL_Server_5.7路径下只有my-defaukt.ini其实,此版本的my.ini文件在ProgramData的MySQL路径下添加后保存,重启MySQL服务报错!在my.ini中ctrl+_mysql5.7.37版本 修改配置ini文件后重启服务报错

随便推点

什么叫linux-程序员宅基地

文章浏览阅读49次。第一章明白运维是干什么的?1.数据不能丢失2.网站优化3.提升用户体验服务器的类型:1.)机架式服务器(抽屉式)2.)刀片式服务器3.)塔式服务器服务器尺寸:厚度(高度 1u=4.45.cm)服务器的厂商:DELL(戴尔)(国内主要用的服务器)联想HPIBM(牛逼的公司一般用它,太贵了)浪潮dell服务器为例时间...

Springboot全局事务配置:XML配置和java类配置_xml 配置全局事务-程序员宅基地

文章浏览阅读856次。第一种方式:XML配置;首先要在启动类配置引入注解:然后配置XML:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchem..._xml 配置全局事务

Linux挂载ios文件设置软件源_rhel ios软件源配置-程序员宅基地

文章浏览阅读761次。查找文件的命令查找文件find / -name *.iso全盘查找以.iso结尾的文件配置光盘镜像为软件源1. 创建两个文件夹,iso存储光盘镜像,rhel7.3存储镜像包解压的文件mkdir /iso /rhel7.3 2. 复制/root/内的镜像包到/iso目录mv /root/rhel-server-7.3-x86_64-dvd.iso /is..._rhel ios软件源配置

Docker后台进程参数-------更改Docker运行根目录的方法_#如何修改(举例):#execstart=最后追加--graph=/mnt/upan/docker-程序员宅基地

文章浏览阅读1.3k次。Docker 后台进程参数-------更改Docker运行根目录的方法参数 介绍 --api-enable-cors=false 远程API调用。 -b, --bridge="" 桥接一个系统上的网桥设备到 Docker 容器里,当使用 none 可以停用容器里的网络 --bip="" 使用 CIDR 地址来设定网络桥的 IP。此参数和 -b 不能一起使用..._#如何修改(举例):#execstart=最后追加--graph=/mnt/upan/docker

解决mysql导出scv文件乱码、蹿行的问题_mysql导出csv文件,数据粘在一起了-程序员宅基地

文章浏览阅读5.8k次,点赞2次,收藏4次。工作原因,常常不能实现完全的线上化(即,所有数据都在线上完成,不需要导入导出),而导出Excel常常比修炼成仙还慢,因此,我们将数据库文件导出到本地使用的时候,常常使用的方法的是导成CSV格式。而csv格式的也常常出现导出的中文乱码,或者蹿行等问题,从而陷入两难境地。老板要数据,你却导不出来,急死人了。1.问题:我们原本要把如左图所示的数据库中的数据导出成他原本的样子,无奈成了右边的乱七八糟的东西..._mysql导出csv文件,数据粘在一起了

在MFC中给按钮添加图标_mfcseticon-程序员宅基地

文章浏览阅读1.3w次。在MFC中的按钮,本身只有文字,比较简单,现在想实现在按钮上添加图标(.ico格式)的效果。如果想改变窗体的Icon利用的是SetIcon函数,而SetIcon函数其实是CWnd的成员函数。而CButton也是一种窗口,即继承自CWnd,所以Button也可以利用这个函数来实现自定义的图标。_mfcseticon

推荐文章

热门文章

相关标签