AP计算机科学A课程的目标与大部分美国大学计算机系讲授的计算机专业导论课相近。我们并不期望所有学习AP Computer Science A课程的学生最终在大学学习计算机专业。AP计算机既可以作为计算机专业的导论课,也可以作为其他专业学生成为当今信息社会合格公民的桥梁。

AP Computer Science A课程的具体目标如下:

  • 设计、实现并分析问题解决方案。
  • 使用与实现常见算法(algorithm)。
  • 使用标准数据结构(data structure)。
  • 开发并选择适当的算法与数据结构以解决新问题。
  • 流畅运用面向对象范式(object-oriented paradigm)解决问题。
  • 编程、运行、测试并调试Java程序,使用AP Java子集中的标准Java library class与interface。
  • 阅读理解含有数个class与彼此交互object的程序。
  • 阅读理解上述程序设计和开发过程的描述。(例子参见AP计算机科学实验)
  • 理解计算机使用的道德和社会影响。


计算机语言

因为计算机科学强调解决问题,对学科的学习需要一种能精确简明表达可能解法的机制。任何自然语言(如英语)都会带来不一致和模棱两可,因此计算机科学的解法需要一种相较自然语言更严谨的沟通媒介。出于这个考虑,AP Computer Science A课程要求用Java编程语言来记录问题的可能解法。在精确表达之外,Java还支持解决问题的重要元素,包括面向对象(object-orientation)、抽象(abstraction)和封装(encapsulation)。使用Java还让学生们可以实际运行程序来测试解决方案。

因为Java语言本身非常复杂,提供很多在单门导论课程里无法涵盖的特性。AP Computer Science A考试仅考察Java的一个子集

资源

学生们需要有条件使用相对较现代的计算机系统。学校需要确保每个学生每周至少三小时的上机时间,多多益善。在课堂上学生与教师都应该能使用电脑作为教具,但学生也需要用额外的时间独立解决问题。

计算机系统必须让学生创建、编辑、迅速编译(compile)并执行大小如AP计算机科学实验中所示的Java程序。推荐学生使用的计算机系统有因特网连接。教师则必须能够上网。

学校必须确保每位学生拥有大学等级的课本以在课堂内外使用。推荐学校为每位学生提供打印的实验指南和报告。

先修课程(Prerequisite)

AP Computer Science A课程的先修课程是基本的英语与代数。学生需要熟知函数以及函数记号使用所涉及的相关概念(如\(f(x)=x+2\)与\(f(x)=g(h(x))\))。学生和他们的导师需要理解任何正规计算机课程都是构筑在需要预先准备学习的数理推理的基石上的。

课程教学

教师们需要进行类同于准备大学导论课的备课。课程强调解决问题、过程式与数据抽象(procedural and data abstraction)、面向对象编程与设计方法(object-oriented programming and design methodology)、算法(algorithm)与数据结构(data structure)。教师们需要注意计算机科学是日新月异的,因而应该与时俱进,了解问题解决方法、Java编程语言与囊括主动学习的教学思路等的新变化。一些有助于教师提升专业素养的资源包括AP Computer Science研讨班和暑校、AP教师在线社区与AP中心网站。

最新文章