论文部分内容阅读
1946年2月14日,世界上第一台电子计算机Eniac诞生于美国宾夕法尼亚大学,这台重达30吨的庞然大物每秒可进行5000次计算。2011年6月21日国际top500组织宣布,日本超级计算机“京”(K computer)以每秒8162万亿次运算速度成为全球最快的超级计算机,这个速度已比它的老祖宗Eniac快了近2万亿倍。
计算机学科虽然年轻,但凭借其无与伦比的发展速度,迅速渗透到了其他学科和领域,覆盖各行各业的工作。时至今日,我们已经很难看到不用电脑的行业了,而计算机科学的普及,也大大节省了人力成本,提高了人们的工作效率,极大地促进了人类文明的发展。
走进计算机世界
在大多数人眼中,这样的人会被认为是电脑高手:整天鼓捣电脑、对计算机有着浓厚的兴趣、同学的电脑出了什么问题他都能解决……而“电脑高手”所研究的,自然就是计算机科学咯。是这样吗?是,也不是。之所以说“是”,因为计算机软硬件应用的确是计算机科学的一部分,在企业里负责相关工作的部门叫做“技术支持”,比如我的Windows不能正常启动了,打电话给微软公司,指导我解决问题的就是技术支持人员。之所以说“不是”,因为解决故障只是较为边缘化的一部分,远未触及计算机科学的核心。
计算机学科,顾名思义,是研究计算机及其周围各种现象和规律的科学。如果把计算机学科比作一棵大树,那么根基便是电脑的硬件组成,包括cpu、内存、硬盘、输入输出设备等。由根基向上,是为软件提供运行环境,并操控硬件完成计算的操作系统,也是大树的主干,那么主干上的枝干便是各种软件和程序了。在这些枝干上,有些工程师负责用c++/java等语言设计程序,这个过程就是编译;还有如亚马逊或淘宝一类的电子商务网站,每天的交易量可能有数十万单,为了要录入、查询、维护这些大规模的数据量,于是产生了数据库;为了实现多点间的数据传输,计算机网络应运而生;数据在传输过程中可能泄漏,同时也有些技艺高超的黑客试图入侵他人计算机、传播病毒,于是衍生出了信息安全。近年来随着技术的进步,机器人走进了大众的视野,远到战胜象棋冠军的深蓝,近到目前非常火的iPhone 4S的问答机器人Siri,而这些则属于人工智能的研究范畴。人工智能在电子游戏方面的运用也颇多并且由来已久,电子游戏作为一种特殊的软件,在设计过程中还用到了计算图形学知识。
由此可知,计算机科学的核心是研究计算机的结构和为解决某方面问题而提出的创造性的解决方案。“会用”或“会修”电脑,只是大树上的几片叶子。计算机科学的分支领域庞多,但无论科研还是工作,人们往往都只专注于具体的某个领域。如果你能同时精通两个或以上领域,那便是安德鲁·塔南鲍姆这样的大师了。
夯实理论,注重实践
计算机类专业的核心课程,分为数学和计算机两大类。数学是计算机科学的基础,但我们对数学的要求更多是“运用”而不是“证明”,所以计算机类专业的同学在本科和研究生阶段会学习大量的工科数学课程,如微积分、线性代数、概率论、离散数学、数值分析。有了数学的基础,我们就可以开始计算机基础课程的学习了,这个阶段首先要了解程序设计的知识,掌握一门编程语言,然后学习数据结构和算法这些编程必须的知识。大学一般会在学生大二结束前完成这部分的培养计划,此时大家应该已经具备了一定的编程能力,可以进行更深入的原理学习了。
计算机类专业不同于其他工科专业,理论学习固然不可或缺,课后的个人修炼也同样重要,这就是让每个计算机学子痛并快乐着的编程。计算机世界高楼大厦都是建立在程序的基石之上的。编程是我们的看家本领,是人与计算机交流的必由之路,通过编程可以测试一个人是否适合读计算机类专业,计算机行业几乎所有职位都要从编程做起。对于初学者来说,程序中的一个bug可能浪费你一整天甚至更久的时间来排查,这个过程是非常痛苦的。而当你成功解决这些小错误使程序运行出正确的结果时,那种苦尽甘来的成就感是难以言表的。
随着学习的深入,大家还会越来越意识到“复用”和“协作”对编程的重要性。一个工程级的程序通常意味着几万至几十万行的代码量,随着程序复杂度的上升,建模难度和Debug(除错)难度是呈指数级增长的,这个时候程序员往往会复用前人的成果——引用已经写好的类库来实现某方面的功能。举个例子,游戏《仙剑奇侠传5》采用了RenderWare图像引擎,这个是别人已经开发好了的程序,所以程序员们因此减少了游戏画面处理方面的许多工作量,更高效地完成了开发任务。同样的,几十万行的程序一人独揽几乎也是“不可能完成的任务”,需要团队分工协作。在大三之后的专业学习过程中,会越来越多地遇到需要团队协作的课程设计,比如合作写一个数据库或设计一个支持多周期流水线指令集的cpu仿真程序。在与同伴的合作中,我们不仅锻炼了编程能力,学会了团队协作,建立了友情,也实现了自我的成长。
出国读研找工作,条条大路通罗马
由于计算机类专业培养计划的特殊性,大多数毕业生在本科毕业时已经具备了其他专业难以企及的实践经验,因而选择直接工作的同学不在少数。选择继续深造的同学未来还会面临从业还是留在大学里从事科研的选择,那时的你,站在更高的层次自会有明智的判断。
在计算机专业分类已经比较细的今天,如果选择继续深造,一定要对所学方向有所了解,在计算机系统结构上,华中科技大学、东北大学较强;在计算机软件与理论方向上,南京大学、武汉大学、上海交通大学优势比较明显;在计算机应用技术方向上,同济大学、东南大学、华南理工大学则各有特色。当然,目标是清华大学、北京大学这些国内一等一的学府的同学,那前面所说的方向选择就是浮云了,这两所大学的计算机专业在三大方向上都是排名前五的。如果你想申请国外大学,那么首选便是电子和计算机工程最发达的美国,卡内基梅隆、麻省理工学院、斯坦福和加州伯克利的计算机类专业被称为计算机界的“四大”,是莘莘学子梦寐以求的名校。除此之外,悉尼大学、新加坡国立大学、多伦多大学和香港大学等学校也因计算机专业优势、申请难度偏低而成为同学们的申请对象。
就业方面,由于计算机在各行业中覆盖面非常广,即使历经近几年的选专业热潮,计算机类专业的人才缺口还是非常大,无论是技术含量偏低的网站建设,还是经验导向的软件开发,无不虚位以待。分析谷歌、腾讯、新浪、百度、淘宝等企业的招聘计划你还可以发现,IT业研发相关职位是其他职位需求的5~10倍,即使是IT圈外的企业,IT部门也有一定需求。如果你不打算进入IT行业,金融界的投资银行或咨询公司也非常欢迎具有极强的解决问题能力的计算机专业毕业生。计算机可谓是“不愁找工作”的专业。
由于计算机行业天然具有的强大活力,创业也是很多计科学子实现梦想的高速公路。互联网行业的快速发展吸引了大量人才投身其中,国内每年有上万家互联网创业公司注册成立。同时,政府给予科技创业公司可观的资金支持和政策优惠,红杉资本、创新工场等投资基金也时刻关注着这个领域,这些有利条件形成了创业团队的温床,让互联网创业不断萌发出新芽。
计算机类专业有计算机科学与技术、计算机应用技术、电子科学与技术等,如果你怀有梦想、勇于挑战,请投身其中。
计算机学科虽然年轻,但凭借其无与伦比的发展速度,迅速渗透到了其他学科和领域,覆盖各行各业的工作。时至今日,我们已经很难看到不用电脑的行业了,而计算机科学的普及,也大大节省了人力成本,提高了人们的工作效率,极大地促进了人类文明的发展。
走进计算机世界
在大多数人眼中,这样的人会被认为是电脑高手:整天鼓捣电脑、对计算机有着浓厚的兴趣、同学的电脑出了什么问题他都能解决……而“电脑高手”所研究的,自然就是计算机科学咯。是这样吗?是,也不是。之所以说“是”,因为计算机软硬件应用的确是计算机科学的一部分,在企业里负责相关工作的部门叫做“技术支持”,比如我的Windows不能正常启动了,打电话给微软公司,指导我解决问题的就是技术支持人员。之所以说“不是”,因为解决故障只是较为边缘化的一部分,远未触及计算机科学的核心。
计算机学科,顾名思义,是研究计算机及其周围各种现象和规律的科学。如果把计算机学科比作一棵大树,那么根基便是电脑的硬件组成,包括cpu、内存、硬盘、输入输出设备等。由根基向上,是为软件提供运行环境,并操控硬件完成计算的操作系统,也是大树的主干,那么主干上的枝干便是各种软件和程序了。在这些枝干上,有些工程师负责用c++/java等语言设计程序,这个过程就是编译;还有如亚马逊或淘宝一类的电子商务网站,每天的交易量可能有数十万单,为了要录入、查询、维护这些大规模的数据量,于是产生了数据库;为了实现多点间的数据传输,计算机网络应运而生;数据在传输过程中可能泄漏,同时也有些技艺高超的黑客试图入侵他人计算机、传播病毒,于是衍生出了信息安全。近年来随着技术的进步,机器人走进了大众的视野,远到战胜象棋冠军的深蓝,近到目前非常火的iPhone 4S的问答机器人Siri,而这些则属于人工智能的研究范畴。人工智能在电子游戏方面的运用也颇多并且由来已久,电子游戏作为一种特殊的软件,在设计过程中还用到了计算图形学知识。
由此可知,计算机科学的核心是研究计算机的结构和为解决某方面问题而提出的创造性的解决方案。“会用”或“会修”电脑,只是大树上的几片叶子。计算机科学的分支领域庞多,但无论科研还是工作,人们往往都只专注于具体的某个领域。如果你能同时精通两个或以上领域,那便是安德鲁·塔南鲍姆这样的大师了。
夯实理论,注重实践
计算机类专业的核心课程,分为数学和计算机两大类。数学是计算机科学的基础,但我们对数学的要求更多是“运用”而不是“证明”,所以计算机类专业的同学在本科和研究生阶段会学习大量的工科数学课程,如微积分、线性代数、概率论、离散数学、数值分析。有了数学的基础,我们就可以开始计算机基础课程的学习了,这个阶段首先要了解程序设计的知识,掌握一门编程语言,然后学习数据结构和算法这些编程必须的知识。大学一般会在学生大二结束前完成这部分的培养计划,此时大家应该已经具备了一定的编程能力,可以进行更深入的原理学习了。
计算机类专业不同于其他工科专业,理论学习固然不可或缺,课后的个人修炼也同样重要,这就是让每个计算机学子痛并快乐着的编程。计算机世界高楼大厦都是建立在程序的基石之上的。编程是我们的看家本领,是人与计算机交流的必由之路,通过编程可以测试一个人是否适合读计算机类专业,计算机行业几乎所有职位都要从编程做起。对于初学者来说,程序中的一个bug可能浪费你一整天甚至更久的时间来排查,这个过程是非常痛苦的。而当你成功解决这些小错误使程序运行出正确的结果时,那种苦尽甘来的成就感是难以言表的。
随着学习的深入,大家还会越来越意识到“复用”和“协作”对编程的重要性。一个工程级的程序通常意味着几万至几十万行的代码量,随着程序复杂度的上升,建模难度和Debug(除错)难度是呈指数级增长的,这个时候程序员往往会复用前人的成果——引用已经写好的类库来实现某方面的功能。举个例子,游戏《仙剑奇侠传5》采用了RenderWare图像引擎,这个是别人已经开发好了的程序,所以程序员们因此减少了游戏画面处理方面的许多工作量,更高效地完成了开发任务。同样的,几十万行的程序一人独揽几乎也是“不可能完成的任务”,需要团队分工协作。在大三之后的专业学习过程中,会越来越多地遇到需要团队协作的课程设计,比如合作写一个数据库或设计一个支持多周期流水线指令集的cpu仿真程序。在与同伴的合作中,我们不仅锻炼了编程能力,学会了团队协作,建立了友情,也实现了自我的成长。
出国读研找工作,条条大路通罗马
由于计算机类专业培养计划的特殊性,大多数毕业生在本科毕业时已经具备了其他专业难以企及的实践经验,因而选择直接工作的同学不在少数。选择继续深造的同学未来还会面临从业还是留在大学里从事科研的选择,那时的你,站在更高的层次自会有明智的判断。
在计算机专业分类已经比较细的今天,如果选择继续深造,一定要对所学方向有所了解,在计算机系统结构上,华中科技大学、东北大学较强;在计算机软件与理论方向上,南京大学、武汉大学、上海交通大学优势比较明显;在计算机应用技术方向上,同济大学、东南大学、华南理工大学则各有特色。当然,目标是清华大学、北京大学这些国内一等一的学府的同学,那前面所说的方向选择就是浮云了,这两所大学的计算机专业在三大方向上都是排名前五的。如果你想申请国外大学,那么首选便是电子和计算机工程最发达的美国,卡内基梅隆、麻省理工学院、斯坦福和加州伯克利的计算机类专业被称为计算机界的“四大”,是莘莘学子梦寐以求的名校。除此之外,悉尼大学、新加坡国立大学、多伦多大学和香港大学等学校也因计算机专业优势、申请难度偏低而成为同学们的申请对象。
就业方面,由于计算机在各行业中覆盖面非常广,即使历经近几年的选专业热潮,计算机类专业的人才缺口还是非常大,无论是技术含量偏低的网站建设,还是经验导向的软件开发,无不虚位以待。分析谷歌、腾讯、新浪、百度、淘宝等企业的招聘计划你还可以发现,IT业研发相关职位是其他职位需求的5~10倍,即使是IT圈外的企业,IT部门也有一定需求。如果你不打算进入IT行业,金融界的投资银行或咨询公司也非常欢迎具有极强的解决问题能力的计算机专业毕业生。计算机可谓是“不愁找工作”的专业。
由于计算机行业天然具有的强大活力,创业也是很多计科学子实现梦想的高速公路。互联网行业的快速发展吸引了大量人才投身其中,国内每年有上万家互联网创业公司注册成立。同时,政府给予科技创业公司可观的资金支持和政策优惠,红杉资本、创新工场等投资基金也时刻关注着这个领域,这些有利条件形成了创业团队的温床,让互联网创业不断萌发出新芽。
计算机类专业有计算机科学与技术、计算机应用技术、电子科学与技术等,如果你怀有梦想、勇于挑战,请投身其中。