Computer Science 计算机科学
作者:张睿泽
维护更新人员:杨铭添
最近更新:2019年4月15日
什么是计算机科学
首先计算机科学是一门科学,虽然PSU把它归到了工程院,但是严格意义上讲,计算机科学同数学,物理等专业一样,都是一门科学。物理学试图了解物理世界,化学试图了解物质的构成,生物学试图了解生命,那么计算机科学试图了解什么呢?不同于自然科学,计算机科学是人类创造出的一门新科学,计算机科学源自不同的领域,包括工程学、数学、认知科学等等。一些计算机科学家设计事物,非常类似工程师。其他的则探求解决计算问题的新方法,分析他们的方案,证明它们的正确性,非常类似数学家。还有其他的则思考人类如何与计算机和软件交互,这与认知科学和心理学密切相关。换一种说法,计算机科学家致力于为各种各样的计算问题寻找解决方案。他们分析这些方案,以确定它们的 “优点”,然后根据这些优良方案为人们创造有用的软件。这种多方的努力,在某种程度上来说,使CS变得如此有趣。
计算机科学都有那些内容?
数据
从Amazon购物到订机票,送大学选课到周边美食排行,现在的生活,处处包含着数据处理。计算机科学很大一部分就是数据的采集处理与分析。处理大数据,需要来自计算机科学的思想和工具。PSU计算机科学专业有很多学习database的课程(比如必修课之一:CMPSC431w),对于数据库感兴趣的同学可以考虑修相关的课程。
算法
一个算法就是针对如何完成一项任务的精确步骤序列。算法通常能类比作用于菜谱。通过不停的寻找并优化算法使程序的运行时间达到最短,效率更高。必修课之一,CMPSC465,就是系统学习算法的课程。
编程
学习编程有点像学习用一门新语言来说话和写作。通过编程语言使计算机明白我们想让他做什么。主校的同学可以提前自学一下Python,其他校区的同学可以先自学一下C++,会很有帮助。必修课之一,CMPSC461,就是系统学习编程语言的课程。
抽象
设计软件要求我们思考抽象,从而确保多人能共同在一个项目上合作,而无需每人个都需要了解每一个部件,从而使软件能被有条理地测试,从而在以后能够简单地通过更换一个新的组件实现更新。因此抽象是设计复杂系统,特别是软件系统的关键思想。
问题解决和创造力
计算机科学是一种巨大的创造性努力,需要创新的解决问题,探索甚至实验。
选课及建议
PSU进CS专业的最低GPA要求是3.0 with credit window: 40-59. PSU的CS课没有水课(残酷的现实), 希望大家认认真真上课!因为CS课程较难,如果担心会影响GPA,可以选一些其他相对简单的课程来保持自己的GPA。如果已经确认要学CS,主校的同学可以利用暑假的时间自学一下Python以及CS相关知识,其他校区的同学可以先自学一下C++,会很有帮助。
更详细的CS介绍:
https://bulletins.psu.edu/undergraduate/colleges/engineering/computer-science-bs/#text
编程学习
很多新生会问学CS是不是就要上很多编程课啊,其实并不是。PSU的本科计算机科学课程更多的是着重于计算机原理,编程只占一小部分(与大家平日对于程序员的印象相比)。同学更多会学习计算机软硬件的底层实现,编程的project当然也有,但都是基于你对于软件硬件的理解的基础上来进行的。好多同学会花很多时间在coding的project中,可能会觉得自己因为编程的基础不行所以导致花了过多的时间,但实际上是对于计算机底层内容的理解程度不足。小编建议大家上计算机相关的课程要好好理解背后的原理,把编程作为自己的工具而不是目标。
由于大学里并不会教你很多当下软件行业的编程技术,你可以通过自学来加强自己对于编程语言的熟练度。例如你可以上 https://www.codecademy.com/ 这类的网站来学习。
最后再多说几句
很多人问我CS难吗,我的回答是难。没有丝毫夸大其词,虚张声势的意思,CS真的是相对来说比较难的学科。如果CS不是你热爱的,那么最好不要选这个专业。如果你确定自己要靠着这满腔的热爱要走上这条路,那么请一定坚持下去,未来是属于你们的!
Last updated