随着计算机对各个科技领域的创新、创业影响越来越大,计算机科学Computer Science已经毫无疑问成为美国各个大学最为热门的申请专业。当然名校的计算机录取标准也水涨船高。即使是申请非计算机专业,具备基本的计算机编程技能也成为越来越重要的一项要求。
因此,近年来越来越多的高中同学选择参加大学先修课 CS(Computer Science)考试来证明自己的计算机能力。 CS课程被大部分美国分大学认可。通过考试,一方面可以免掉大学的基础计算机课,另一方面可以有效的为自己的大学申请增加亮点。随着最新的课程 Computer Science Principles( CSP)的开启,学生又多了一种计算机课程的选择。
传统的 CS考试也称为 CS A,过去分为 CS A和 CS AB两种,现在取消了 CS AB。已经有超过30年历史的第一次 CS考试是在1984年。考试的编程语言由早期的Pascal换成C++,后来又在2004年换为现在的Java。考试大纲要求学生对Java编程语言有比较全面和深入的了解和应用基础。考试的形式由选择题和程序作答题两部分组成,各占成绩的50%。选择题大约40题,考察学生对Java语言的概念、逻辑和算法思想的理解。程序作答题需要手写Java程序代码来解决一系列问题。
CS的要求相当于多数大学的计算机专业的基础编程课,所以通过 CS考试一般都可以在大学免修相关的基础课程。与此同时,通过 CS的学习和考试,可以对Java和编程计算思想达到一个比较全面的理解和训练,非常有助于学生进一步的计算机科学的学习和完成更加复杂的编程项目。
CS虽然有利于训练和强化计算机编程技能,但是其专业和逻辑要求较高,对于申请非理工科的同学学习起来往往会感觉有些吃力。因此,为了进一步鼓励和推动对美国中学生的计算机教育,2016年秋美国大学委员会College Board推出一门全新的高中课程 - Computer Science Principles ( CSP),致力于让更多的中学生参与到计算机的学习当中。因为计算机已经成为当今任何行业都不可或缺的一项技能。2016到2017学年美国已经有超过2700个学校开设了 CSP课程,2017年五月有超过45000名学生参加了第一次的 CSP的考试。
CSP的大纲一改传统 CS专注于一种编程语言Java课程要求,设计了以7个Big Ideas为核心的教学大纲:
从以上的7个知识重点可以很清楚的看出, CSP完全是为了满足当今信息化趋势而设计,为了让每一个学生无论是否选择计算机专业,都可以掌握各行各业都必需的计算机基本技能。
CSP课程的一个最主要特点是,教学大纲不再要求具体的编程语言,任课老师可以根据学生的具体情况,选择一个或多个编程语言和方法,并且鼓励使用图形化语言。以下是 CSP课程大纲所建议使用的编程语言或平台:
编程语言或工具 | 简要介绍 | 编程形式 |
Alice | 3D动画建模与游戏开发平台 | 图形化 |
App Inventor | MIT研制的手机APP开发平台 | 图形化 |
App Lab | 基于网页版开发的手机APP开发平台 | 图形编码 |
EarSketch | 基于程序的音乐制作工具 | 编码 |
Greenfoot | 2D多媒体应用程序开发平台 | 编码 |
Java | 传统面向对象的高级编程语言 | 编码 |
JavaScript | 浏览器运行的网页交互控制编程语言 | 编码 |
Lego EV3 | 乐高机器人编程平台 | 图形编码 |
Processing | 数字艺术作品编程语言 | 编码 |
Python | 现代流行通用高级编程语言 | 编码 |
Scratch | 基于图形的动画交互程序开发平台 | 图形化 |
Snap! | 基于Scratch图形语言的扩展增强平台 | 图形化 |
Swift | 苹果系统开发主打编程语言 | 编码 |
该信息来自于College Board AP CSP教学大纲
AP CSP的考试由两部分组成。一是参加五月份的AP CSP笔考。该考试和AP CS的考试类似,由74道多项选择题组成单选或者双选,考察学生对7个Big Ideas的理解。另一部分是在4月15号到4月30号之前,在网上提交2个完整的作业项目,该作业项目可以使用任何AP CSP大纲所建议的编程语言或工具,学生需要按照要求完成项目并上传电子版本到考试中心。注意由于学生可以使用的编程工具多种多样,所以项目的电子版本一般是以录像、视频、幻灯片讲解的形式提交而非是源程序和代码,以便大规模的人工阅卷评分。同时学生还要回答有关项目的一些问题。两个项目占AP CSP考试的40%,笔考选择题占60%。
AP CSP课程推出的目的在于进一步推广计算机科学教育,更新计算机科学教育的内容体系而不是去替代传统AP CS课程,因为二者有不同的侧重和特点。AP CS训练扎实的Java编程技能,通过考试的同学相当于完成正规大学计算机系基础编程课程,所以该课程需要学生对Java的编程概念和细节有比较全面的理解。而AP CSP则更加强调计算机科学领域知识的广度,对具体编程语言不做过深的要求,目的在于鼓励更多的学生参与计算机科学学习,因此难度相对简单适合各个专业兴趣背景不同的同学。
尽管美国大学委员会并不对两门计算机AP课的学习顺序有任何要求,但是从课程内容的要求来看,这两个AP课程是相辅相成的。目前在美国一些有能力开设两门AP课程的学校,普遍认为AP CSP可以作为AP CS的一个的先修课程。
对于这两门AP计算机课程的选择,主要应该考虑的是个人的专业兴趣。如果有明确的选择计算机科学或工程专业的打算,基于Java的传统AP CS对未来的申请和专业学习更有帮助,建议作为最终的目标。但是如果目前还不确定将来是否想要选择计算机专业,AP CSP将是一个很好的体验、学习计算机科学的机会,对于打算申请攻读非理工科专业的同学,AP CSP将会是招生委员会衡量申请学生科学背景的一个很好的指标。
另外一个考虑这两门课的因素是个人的年级和编程背景。一般来说AP CSP可以考虑作为AP CS的先修课,因此对于9-10年级的同学,可以考虑优先学习AP CSP。有了AP CSP之后可以对AP CS学习打下一个坚实的基础。对于11年级的同学一般来说要根据自己的时间和申请打算确定一门进行准备。如果个人有比较良好的计算机科学或编程基础,可以考虑直接准备AP CS或者两门同时准备。
(信息来源: CodingMinds编程思维)
© 2024. All Rights Reserved. 沪ICP备2023009024号-1