关于AP计算机的那些事

1.AP计算机是什么?

 

AP 计算机科学(别称 AP编程, APCS, AP Java 或者是 CSAP) 是由美国大学理事会主持的课程和考试,以便提供给高中学生获得大学水平的计算机科学课程的大学学分。

AP计算机科学A相当于一个学期的大学计算机科学课程, 现在的AP考试考察的是学生对于Java的知识。考试以JAVA语言为基础,学习计算机的基本知识,了解JAVA语言的特点,学习计算机编程语言,学习面向对象程序设计的思想以及简单的算法。它注重于培养学生的能力,包括学习能力,计算机操作能力,分析问题能力,代码理解能力和程序设计的能力。

 

2016至2017学年新增一门AP考试科目——Computer SciencePrinciples(计算机科学原理),该课程是以计算机原理和基础知识为主,含编程方面的知识。通过AP计算机科学原理的学习,可以让学生了解计算机科学的概貌、内容、研究方法。这个课程也是是计算机专业的入门和基础课程,如果同学想了解并尝试学习计算机科学及相关领域,该课程可以作为程序设计语言的先导课程学习。但是,值得注意的是,这门学科目前仅开放给国际高中的学生,社会考生暂时未能可以考这门学科。

 

以上,AP计算机类别包含2门课程,计算机科学A和计算机科学原理。

 

计算机科学A怎么考?

 

常见考试题型:

 

做过计算机科学真题或各种参考书上套题的同学们对题型应该有大致的了解,在此简单提一下。

考试分为:

Section I: Multiple Choice [1 hour and30minutes for 40 multiple-choice questions]

Section II: Free-Response [1 hour and30minutes for 4 problems involving extended reasoning]

分数各占50%

 

Section I选择题考察以下几种题目:

 

1. 对程序运行效果的分析(比如哪几个可以给出这个答案、这段程序会输出什么、运行了程序之后variable会变 为什么

2. 错误分析和改正(题目原意是如此,然后接着下面函数哪个能达到目的、为什么这段程序不能达到目标,怎么才可以最终达到目标

3. 面向对象程序设计(主要是考如何把生活中的事情抽象成计算机的方式来描述)

4. 程序运行效率、代码的最佳位置等其他题

 

Section 2

1 简答题,每一道题都需要java的程序语言

2 解决问题,包括延伸的程序推理

 

计算机科学原理怎么考?

计算机科学原理(ComputerScience Principles)科目的考核由平时作业和考试两部分组成。

其中,平时作业要求学生完成一个项目,并进行描述和分析,包括研究过程、图表、PPT等要素,然后上传至网上。

考试采用笔试的形式,要求在100分钟内完成74道选择题,分单选题(4选1)和多选题(4选2)两种类型。

 

满分率

今年的AP计算机科学A分数趋势:

The 2017 AP Computer Science A scores:

5: 24.4%; 4: 20.9%; 3: 21.9%; 2: 11.5%; 1: 21.3%.

 


 

2 哪些学生适合学习这门课程?

第一是兴趣

学生本身对于计算机很感兴趣,尤其是对于编程有兴趣的同学,计算机科学A比较合适,主要是讲JAVA的编程。

 

第二是参加AP计算机考试

想要参加AP计算机考试,并想拿到满分抵扣学分的同学。

 

第三是某些专业必修

对于某些专业,计算机是必修课程。根据AP官方网站的指引,我们对计算机学科所对应的专业进行了总结。具体有哪些呢?我们一起来看一下:主要有航空航天工程,农业工程,应用物理,天文学,气象科学,植物学,工商管理,化学工程,土木工程,计算机工程,计算机取证,计算机图形学,计算机系统网络和电信,计算机科学,计算机软件工程,数据库管理,设计与视觉传播,生态学,经济学,教育学,电子工程,电子技术,环境研究学,运动科学,地理学,地质学,工业工程学,信息科学,信息技术,图书馆与信息科学,语言学,信息系统管理,管理信息系统,管理学,海洋生物学,材料工程,数学,机械工程,细胞生物学,自然资源管理和政策,神经系统科学,核工程,物理,机器人技术,统计,影音艺术,网络开发,动物学。

因此有意向选择以上专业的学生,最好提前学习计算机,为后期申请以及兑换学分做好准备。

 

第四是帮助背景提升

想要进行大学申请背景提升的同学,也需要修读计算机基础课程为后期背景提升做准备。比如参加机器人大赛,网页编程,开发软件等等相关的一些项目,都可以提前通过学习计算机这门学科,以便为之后进阶更好项目打下良好的基础。

 


 

3 考试考查的主要知识点(以计算机科学A为例)

第一 Java的发展历史以及Java特性

属于了解的知识点,作为学习java语法的背景切入。主要内容:1.java的由来,java的应用开发范围和领域2. Java编程语言和其他语言的特殊之处,编程做工程的特点。

 

第二 java 语言的基本数据类型

重点知识点,考试必考。 主要内容:1.java的数据类型的分类 2.primitive 数据类型和non-primitive数据类型特点,以及分类依据

 

第三 .class 和 Object 的定义 &类和对象的特性

重点知识点,必考。主要内容:1. Class 和Object的定义 2. Class 和object的区别和联系,以及各自的特点

 

第四 类的基本组成 以及所包含的函数类型

重点知识点,必考。主要内容:1. 一般类的两个组成部分 2.类的函数类型,以及各自的特点,特别是构造函数,定义,特点。

 

第五 继承的定义

重点知识点,必考。主要内容:1.继承的定义和特点。此讲只讲继承的定义主要是其非常重要以及不好理解。

 

第六 继承的特点以及继承的应用举例

重点知识点,必考。主要内容:1.继承发生的特点,哪些可以继承哪些不能继承以及继承后有什么特点必须要注意熟悉;2. 继承的应用例子解析

 

第七 多态的概念、特点及应用举例

重点知识点,必考。主要内容:1.多态的概念,由于多态很难理解,所以定义上并没有给出什么叫多态,通过一个例子来理解什么是多态以及发生多态时的特点;2. 多态的特点

 

第八 Java内置的一些类String,Integer,Double,Math

了解的知识点。 主要内容:1.考试大纲中要求了解,最好能熟记String,Integer,Double,Math这四个类都有哪些函数。

 

第九 程序设计的内涵

了解的知识点。此讲主要是为了大题写程序题。讲解下写程序的一般理念和主要原则,以及注意点的得分失分点。

 

第十 多态的概念

重点知识点,必考。主要内容:1.主要是从程序出发点讲解多态的概念。

 

第十一 ArrayList数组类

重点知识点,必考。主要内容:1.arraylist的概念以及主要的函数;2. Arraylist的数组应用,选择题和大题都涉及

 

第十二 递归函数概念及原理

重点内容,选择题必考。主要内容:1.递归的概念及原理;2.递归函数的应用,注意是惯考的;

 

第十三 算法

重点内容。主要内容:1.算法的概念;2. 4个排序函数和2个查找函数;

 

第十四 case study

重点内容,5-10个选择题和1个大题。主要内容:1.都有哪些actor ;2.这些actor都有哪些特殊行为

 


 

4 AP计算机科学A与计算机科学原理的区别

 

和计算机科学A(ComputerScience A)相比,新开的计算机科学原理(ComputerScience Principles)偏重于理论,即概念性的知识点和基础性的计算机知识,比如数据在底层存储的形态、进制是如何转换的、编码原理等,涉及的知识面广,但不会专门学习特定的计算机语言(如C++, Java)。

根据公布的大纲,该科目将聚焦于7大方面:

Creativity 创造力

Abstraction 抽象

Data and Information 数据信息

Algorithms 算法

Programming 程序设计

The Internet 网络

Global Impact 全球影响

计算机科学A(ComputerScience A)则偏重于实践,注重代码在继承、多态和算法上的具体实现,以及数据结构和算法,要专门学习一门计算机语言(Java)。

因此,对于大部分理科、工科、甚至部分文科方向的同学而言,计算机科学原理(Computer Science Principles)非常适合作为计算机学科的基础入门级课程;而计算机科学A(Computer ScienceA)更适合于理工科学生,并且可以作为前者课程的进阶课。

显而易见,在难易程度方面,计算机科学原理(ComputerScience Principles)< 计算机科学A(ComputerScience A)。

 


 

5.AP计算机在实际生活中的运用以及对于美国大学申请的帮助

AP Computer science A学完以后,我们get到了什么高大上的技能?

1. 用Java面向对象的思想设计、实现和分析问题的解决方法

2. 使用和了解重要的算法

3. 会使用标准的数据结构

4. 编程、运行、测试、debug你自己的小成果

5. 能使用Java类库和接口

 

Get到这些技能的实际运用和对申请的帮助:

首先,大学里80%的工科课程会用到计算机编程技能,不仅如此,理科、金融、经济等学科也非常重视计算机编程技术的应用。掌握编程的基础知识,必然对于大学里的课程是有很大帮助的。

 

其次,学完计算机科学A,可以基本掌握JAVA编程的基本运用,如果我们能编写一些小程序,例如开发简单的app,编制一个网页,肯定会有很大的成就感,也可以在专业老师的指导下完成计算机的一些美国大学认可的项目,作为留学申请中的背景提升重要一环。

更多AP课程
翰林国际教育资讯二维码