




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机专业毕业生应具备哪些能力
我是2010届毕业的美国DartmouthCollege(达特茅斯学
院)的计算机专业本科生。DartmouthCollege位于美国东北
部新英格兰地区的NewHampshire(新罕布什尔州),一年中
有将近五个月的漫长冬季。从学校向北开车三小时可以到达
加拿大的Montreal(蒙特利尔)大都市练习法语口语,往南
开车三小时可以到达美国Massachusetts州的港口城市
Boston吃小绵羊火锅。Dartmouth成立于1769年,作为美国
常春藤大学联盟之一,在2016年U.S.News的美国本科院校
排名榜中的占第11位。
起始:抱着对计算机的好奇心
在开始大学生涯之前,我对计算机这一门学科的接触
不多,唯一记得的大概就是中学时代上计算机课时用Visual
Basic写过几个小程序。用周围爸爸妈妈的话来讲,就是远
远地输在了未来要当程序员的起跑线上。不过对于这一切,
当时的我是并不知道的。
Dartmouth一年有四个学期,也就是美国俗称的Quarter
Systemo每个Quarter学期的时间是10个礼拜上下,一般修
3门课,一门课一个学分。毕业时每个学生要修满36个学分,
并且有三分之一的课程(12个学分)是致力于某一个专业。
Dartmouth有一点不同于其他七所常春藤联盟学校,它
属于LiberalArtsCollege(文理学院卜
LiberalArtsCollege有一个我很喜欢的地方,就是刚进大
学的前两年可以自由选修不同领域的课程,发掘自己的兴趣
爱好,找到合适的专业。然后,在大二结束之前必须确立好
专业,用剩下两年的大学时间来主修自己的专业课程。
每年的春季学期都会有一门计算机入门课,叫作CS5
IntroductiontoComputerScienceo抱着对计算机的好奇心,
我在大一春季修了这门课。因为CS5是计算机入门课,选课
的同学还是很多的,人数大约在70人左右,是我在计算机
系修过的人数最多的课程了。
CS5比较hands-on,一半是学习Java这一编程语言,另
一半是通过Java编程为媒介来学习递归、模块化编程、面向
对象编程的概念,同时还涉及了一些用户界面实现的内容。
一个学期10个礼拜,每个礼拜3堂课,包含了11个short
assignment,5个labassignment,2个期中考试和1个期末考
试。Shortassignment的概念是正常花1到2个小时就能完成
的编程作业。Labassignment是相当于完成3到4个short
assignment作业量的任务,涉及到编写比较大的程序,代码
量在500-1000行左右。考试的话就是一个小时的试卷答题。
课程还配备一个TeachingAssistant(TA)和多个Section
Leaders(SL)O
TA会在每周固定的时间设置officehours,学生可以在
officehour时间去找TA开开小灶,对课上未能理解的内容提
问求解。而SectionLeader则会负责对学生讲解short
assignment和labassignment的需求,并为这些作业打分。TA
主要来自计算机系的研究生,而SL主要来自上过该门课程
并且当时成绩是A的高年级本科学生。
现在回想起来,我对TA没什么印象,应该是从来没有
去过officehours。SL倒是还记得,是一个叫Luke的高年级
学生,经常在作业布置的时间迟到早退,一副无精打采的样
子,批作业也是经常出错,常需要找他去改正分数。说到分
数,不得不说明一下,美国大学是按GradePointAverage来
计算成绩的,也就是俗称的GPAo课程得分为A对应的point
是4.0,A-是3.66,B+是3.33,B是3,以此类推。大学四年
毕业的时候满分是4.0,也就是全部都拿了A,用现在时髦
的话讲是学霸级人物的存在。
CS5这门课,如果是100分的总分,只有拿到92分以
上才能拿A的成绩,因为这门课学生的成绩普遍都比较高。
学生对于包括10%的上课出勤分在内的每一分都是很在意
的,所以对于作业或者考卷被扣错分数是无法容忍的,这大
概也就是为什么我到今天还记得当时修这门课的SLo
进阶:定义功能需求与开发实现
虽然修CS5的整个体验中有些小小的不愉快,但我还是
受到了howtosolveproblemscomputationally的启发产生了
一种想要去学习更多的热情。于是乎,在大二的第一个秋季
学期,我修了第二门计算机课程CS8oCS8也是入门级的课
程,但是它的curriculum在当时是全新的,是用Haskell语言
编程来学习FunctionalProgrammingo能够学以前别人没有学
过的内容总是很令人兴奋,课程的内容也很丰富,包括用
FunctionalProgramming来实现动画,分析生物序列,搜索社
交网络,解析和操纵HTML,识别数据集群,解决Sudoku
难题,编写俄罗斯方块游戏等等。记得当时第一个Lab任务
就是用递归的方式去画一个雪花fracud,如图所示,短短50
行Haskell代码,就可以画出这么一个界面上显示复杂但是
逻辑很清晰的图形,在当时觉得非常得酷。
图片
一个学期学下来,最后一个Lab从UI设计到代码编写
完成了一个俄罗斯方块的游戏,如图所示。对于这个Lab的
印象我也比较深刻,因为花了很大力气去自定义和完成了
extracredits的功能来获取附加分。既担任了产品经理的角色
来定义功能需求,又担任开发实现了这些功能。同时也第
一次深刻地认识了80:20rule。做出一款产品去实现基本的功
能或许只要花20%的力气,但要去把这个产品做好做精彩,
却要付出80%的力气,甚至更多。一路前行,保持谦虚谨慎
的心态很重要。
图片
修CS8这门课的时候,我会经常往计算机系的实验室
跑,在那里见到过DouglasMcIlroy,著名数学家和工程师,
Unix系统里的很多命令行工具都是他开发的。以及算法导论
uIntroductiontoAlgorithms”这本书的作者之一的Thomas
CormenoDouglas是一个很安静的人,每次路过他办公室的
时候都看到他静静地写着一些代码。Tom则很风趣,很喜欢
和学生们讲美食,每年的夏季学期他都会在他家的院子里组
织一个盛大的Barbeque,他和他的太太会一起烹饪食物,邀
请计算机系所有的老师和学生来品尝。我开始喜欢上了计算
机系的氛围。
在接下来大二的冬季学期里,同时修了两门计算机课程,
CS19DiscreteMathematicsinComputerScience和CS23
SoftwareDesignandImplementationoCS19是一门理论课,
偏向计算机方向的离散数学课。而CS23则是注重实践的
软件设计和开发课程。CS23让我接触了C语言,并用10
周的时间从novice变成了一名C语言小能手,上半学期编写
了一个WebSearchengine,包括webcrawler%document
indexer和queryengine三个部分。下半学期编写了一个
Robotics应用,通过与电动玩具车上装有的wirelesssensor
API沟通,从而实现操纵玩具车行驶并沿途打开摄像头拍摄
照片的功能。
人工智能、拓扑学、算法思维
整个冬季学期比较深的印象就是一天课上好以后傍晚
去计算机系实验室开始写程序,到差不多凌晨1,2点钟开
始离开实验室,看着漫天大雪飘落,又给整个校园覆盖了一
层新的银装的画面。那个时候头脑会觉得特别清醒,如果适
逢正好又把程序跑通了的话,会特别地开心,会顺道去附近
的fraternity喝一杯social一下。
刚才说到过CS19,是一门计算机理论课。我在这门课
中认识了我未来两年的计算机'导师"Afra。
跟着Afra在大三修了他的CS44ArtificialIntelligence
人工智能,CS85ComputationalTopology研究生课程计算拓
扑学,以及大四的毕业论文课程。CS44还是一贯保持着编
程的重心,写了偏向搜索、逻辑、概率推理,以及通过神经
网络做人脸识别的多个程序。而CS85则是非常的难,我记
得当时全班只有五个学生,如果少一个学生,那么课就开不
了了。我也算是支持我喜欢的教授去修的这门课。我已经不
太记得自己当时是如何去度过那一个学期,有很长一段时间
看着桌上的咖啡杯都感觉它是一个非常美味的甜甜圈,想要
—口吃下去。
之后的两年的大学生涯,我陆续修习了Introductionto
Algorithms,TheoryofComputation,OperatingSystem,
MachineLearningandStatisticalDataAnalysis等课程。学会了
用算法的思维综合考虑时间复杂度和空间复杂度去寻找最
优的方案来解决问题,去够判断什么样的问题是NP-Hard,
并编写一个简单的操作系统,运用一些机器学习的方法和模
型去做一些数据上的预测和分类等等。那是一段非常快乐且
有些孤独的时光。
如果别人告诉你美国大学生是不在乎成绩的,那绝对是
个笑话
越往上修高级的课程,需要花的精力越多,自己的思维
逻辑和编程的能力也会变得越强。但同时,同年级的同学也
会变得越来越少。从一开始的CS5班上有70个学生,到大
二以后基本上修的每一门计算机课不会超过15个学生。
Dartmouth每年大概会招1000/200位本科生,但是每年毕业
的计算机专业学生不会超过20个,淘汰率如此可见一般。
大部分的美国大学都会给予想留下来继续读硕士的大
四学生一定的优待,Dartmouth也不例外。本科四年一般只
要再多读一年完成一个4+1项目就可以拿到计算机硕士学位。
而外校的报考生却要花至少两年才可以。尽管如此,愿意留
下来读计算机硕士的Dartmouth本科生却是少之又少。一是
因为大家能在计算机系的实验室写满四年程序差不多都已
是到达了极限,已经迫不及待加入Google、Oracle这样的对
口公司快乐地工作起来。二是Dartmouth全校的硕士Program
很小,学校本身注重的是对本科生的教育,不像麻省理工或
者斯坦福那些注重研究生教育的院校,硕士生在校园里反而
没那么强的归属感。
去任何一个美国的一流大学,大学四年都不会轻松。如
果选择了计算机专业,就要付出更多的努力。每一门课的分
数matters,大学四年最后的GPAmatterso如果别人告诉你
美国大学生是不在乎成绩的,那绝对是个笑话。我读大三为
CS19的教授打工做grader给学生批作业和试卷的时候,每
周都会有学生来找我,希望给做错的题目少扣点分。因为,
大部分的一流公司每年校招只去一流的大学招生,并且对学
生都会有GPAcutoff标准。如果GPA分数不到,那么简历就
会被丢弃,电话面试的机会也不会给。但不管分数有多重要,
既然选择了计算机专业,还是要尽可能多地去havesomefun,
不管是lecture上听教授讲课的时候,TAofficehour求助解惑
的时候,还是深夜和同学们在实验室一起编写程序的时候。
只有自己喜欢,才会有动力坚持到底。读计算机专业如此,
人生中的很多其他事情也是一样。
最后,附上Dartmouth2017年校友日历的封面图,祝
CSDN和大家在新的一年心想事成,程序员进阶之路越走越
好。
图片
计算机专业毕业生应具备的核心能力
在ACM最新制定的计算机科学专业课程体系标准
ComputerScienceCurricula2013(CS2013)4>(注:CS2013已
由ACM中国教育委员会与教育部计算机类专业教学指导委
员会翻译完成,本文内容亦来源于此,在此表示感谢),对
计算机专业毕业生应该具备的核心能力进行了归纳和总结,
其内容如下:
计算机科学专业的毕业生应掌握计算机科学知识体中
各领域的基本知识(注:可参见ACMCS2013),尤其是列
入核心知识点的那些知识领域,具备这些领域要求的基本能
力。他们还应具备一些在知识体中没有明确列出的基本能力,
因为该领域的专业人士通常会表现出一些独特的思维和解
决问题的风格特征,这些特征通常是从具体的学习和工作经
历中获得。下面描述的这些特征或者称为核心能力,我们认
为计算机科学专业的毕业生们应该至少达到某种初级水平。
这些特征可以使他们在计算领域内获得成功,并有更好的职
业发展。当然,其中的一些特征和技巧也适用于其他领域,
但我们还是把它们包括在这里,因为在计算机科学专业计划
中,应该明确地鼓励学生们努力发展这些技能和特征。以下
这个列表基于CC2001和CS2008中出现过的类似列表,但
新版列表也包含了一些实质性的修改,这些实质性的修改是
在CS2013指导委员会进行调研的结果下做出的。
在一个广义层面上,计算机专业的毕业生应具有以下特
征(核心能力):
对计算机科学在技术层面上的理解
毕业生应该对计算机科学有所掌握,具体体现在掌握知
识体中的核心部分。
熟悉通用的主题和原则
毕业生需要对一些反复出现的知识点有所理解,如抽象
化、复杂性、渐进式改变等,也要对一些通用原则有所掌握,
如共享资源、安全性、并发性等。毕业生应该认识到,尽管
这些知识点和原则是在介绍某具体知识领域时引入的,但它
们在计算机科学领域有着广泛的应用,并不限于这些具体的
知识领域。
对理论与实践之间的相互作用有所理解
计算机科学的一个基本特点就是要理解理论与实践的
相互作用以及它们之间基本的关联性。计算机科学专业的毕
业生需要了解理论与实践是如何相互作用的。
系统分层观点
计算机科学的毕业生需要在多种细节程度、多个抽象层
面上思考问题。这种思考方式能够超脱于各部件实现细节之
上,达到对计算机系统整体结构的理解,并理解其组建的过
程及分析的过程。他们还需要了解一个计算机系统会在怎样
的环境中运行,会怎样与人类用户、物理世界进行交互。
解决问题的能力
毕业生要了解如何运用自己学到的知识来解决实际问
题,而不仅仅是编写代码或搬动比特位。他们应该能够对一
个系统的功能、实用性、性能等方面做出定量和定性的评估,
并能设计和改善此系统。他们应该认识到,对一个给定的问
题可能有多种解决方案,做出合理的选择并不是一个纯粹的
技术问题,因为这些解决方案将对人们的生活产生真正的影
响。毕业生也应该能够把自己的解决方案向别人做清晰的表
述,解释一个解决方案为什么能解决给定的问题、是怎样解
决了这个问题以及是在什么假设下解决这个问题的。
项目经验
为确保毕业生能够成功地应用他们所学到的知识,所有
的计算机科学专业毕业生都应该参与过至少一个重要的项
目。在大多数的情况下,这个项目可以是一个软件开发项目,
但在特殊情况下,其他方面的项目也是适宜的。这些项目应
以激励学生发挥综合性能力为主,要求学生对潜在的解决方
案进行评估,其规模应大于一般课程下的项目规模。作为项
目经验的一部分,学生应该抓住机会开发和训练人际交往的
沟通能力。
致力于终身学习
毕业生应该认识到,计算机领域的进步速度可以用迅猛
来形容,毕业生必须拥有一个坚实的基础,使得他们能够而
且乐于在领域进步时跟上步伐,保持相关的技能。编程语言
和技术平台会随时间而改变,因此,毕业生需要认识到在他
们的整个职业生涯中,必须不断地学习和调整他们的技能。
要获得这种能力,学生们应该接触多种编程语言、工具、范
式和技术,并在受教育的全过程中,始终坚持对底层基本原
理的学习。此外,与前辈们不同,当代毕业生们需要管理他
们自己的职业发展和提升。在寻求职业发展时,毕业生需常
常参与专业活动,如获取认证证书、参加管理培训及获得其
它领域的知识等。
承担职业责任
毕业生应该认识到计算学科内含有的社会、法律、伦理
和文化问题,他们也必须认识到,不同的国家有不同的社会、
法律和道德标准。他们应该熟知,伦理问题、技术问题、审
美价值的相互交织,在开发计算系统时将会起到非常重要的
作用。从业人员必须了解他们个人和集体所承担的责任及系
统故障可能导致的严重后果,但他们也必须了解自己的局限
性,以及他们所使用工具的局限性。
沟通和组织能力
毕业生应有能力向各类听众解释清楚技术问题及其解
决方案,这可能涉及面对面的、书面的及电子的通信方式。
他们应准备好作为团队的一员进行有效的工作,并能够管理
好自己的学习和发展过程,包括对时间的管理、重点任务的
安排及进度的管理等。
对计算广泛适用性的认识
计算平台的范围很广,小可以到嵌入式微型传感器,大
可以到高性能集群和分布式云计算中心。计算机应用几乎影
响到现代生活的所有方面,毕业生应了解计算技术所有可能
的应用方向。
对特定领域知识的鉴赏
毕业生应理解计算技术会与许多不同的领域接触,很多
特定领域内问题的解决同时需要计算技能和特定领域知识。
因此,毕业生在其职业生涯里,要能够与来自不同领域的专
家进行交流,并向其学习。
注:ACM,即AssociationforComputingMachinery,
美国计算机学会,创立于1947年,是全球历史最悠久和最
大的计算机教育和科研机构。目前ACM提供的服务遍及100
余国家,会员人数达80,000多位专业人士,涵盖工商业,学
术界及政府单位,并有近1000个机构会员。
当代计算机专业本科生必须掌握的技能
由于工作的原因,经常看到很多同学:Windows里DOS
命令不会,MSSQLSever安装不上,JDK环境变量不会配
置,我是真得替他们着急,我想这个水平作为一个计算机专
业的本科生肯定不达标啊。
我常常在想:作为一个计算机毕业的本科生,到底需要
掌握哪些技能,才能成为一个合格的毕业生走向社会呢?到
底应该在哪些地方投入精力,才能成为一个优秀的青年,才
俊迎接更大的挑战呢?
本文拟从计算机操作技能、计算机基础知识、编程技能
等六个方面,为广大计算机专业同学总结当前最为关键和实
用的技能指南。这些建议综合了业内专家和我的个人经验思
考,可以作为同学们日常练习提高的参考,也是我一直在课
堂上想传达给学生的方向。
一、计算机操作技能
计算机操作技能是计算机专业同学们最基础和首要掌
握的能力。具备灵活熟练的操作技能,将大大提高我们的工作
和学习效率。主要包含以下几个方面:
1.熟练掌握Windows和Linux等操作系统的使用。包括
系统的安装、配置、维护、部署等方面。要熟悉系统的图形
界面操作以及命令行界面使用。
2.硬件方面要了解主板、CPU、内存、硬盘等组件的工
作原理、规格参数等知识。起码你要认识吧?能够正确安装
各种硬件设备,并能进行简单的组装调试。
3.掌握常见硬件故障的排查思路和方法。遇到打印机、
外接设备等问题要能快速定位、解决故障。
4.会搭建和配置本地区域网络,熟悉各种网络硬件的原
理、安装和配置。要能对网络故障进行快速排查。
5.熟练使用数据备份和恢复工具。定期对重要数据和系
统进行备份,必要时能够恢复系统。
6.注重新技术新设备的学习,如会使用云端同步工具、
熟悉移动设备的操作等。
如果同学们在这些方面都能有强硬的操作技能,将可以
事半功倍地提升工作学习效率,极大地增强个人竞争力。
二、计算机基础知识
计算机基础知识包括数据库原理、操作系统、数据结构
和算法等理论知识,是计算机专业不可或缺的基石。这些知识
可能比较抽象和艰涩,但系统掌握后会对我们的编程能力产
生深远的帮助。主要包含以下方面:
1.深入理解计算机网络的工作原理,掌握TCP/IP、HTTP、
DNS等网络协议、模型的原理及应用。可以针对网络常见问
题更好地分析和解决。
2.学习操作系统内核的基本结构,了解进程/线程调度、
死锁、内存管理、文件系统等操作系统知识,这对编程非常重
要。
3.掌握数据结构,如数组、链表、树、图等的存储结构
及算法。要能熟练实现和应用各种数据结构。
4.学习主要的算法设计方法,如分治法、回溯法、动态
规划等,并能应用到实际问题解决中。
5.熟练使用常用数据处理工具,如SQL、Excel等进行数
据管理、分析和可视化。
这些计算机基础知识是我们必须扎实掌握的理论基础。
建议大家通过课内学习结合课外自学的方式,逐步加强这方
面的知识。这将使我们具备更强的编程和问题解析能力。
三、编程技能
编程技能是计算机专业同学的关键能力之一,是你区别
于其他专业学生的独特技能。想要掌握扎实的编程技能,我们
需要在以下几个方面下功夫:
1.掌握至少一门热门的编程语言(Python、Java,C++等)
的基本语法及面向对象编程方法。至少课堂上学习过的,要
能熟练地读懂、编写简单程序。
2.在一门或多门语言上,要有较强的编程能力,能独立设
计、实现中等复杂度的应用程序。
3,注重代码的可读性、可维护性,遵循代码注释、格式
规范,给变量、函数取有意义的名称。
4.使用版本控制系统(如Git),进行代码修改和协作。会
使用GitHub等平台参与开源项目。
5.学习框架/类库的使用如JavaSpring、PythonDjango
等,提高开发效率。
6.掌握代码调试的方法,使用debugger,日志打印等技
术分析和修复bugo
7.参加编程竞赛,完成编程相关项目,不断提升编码能力。
要有良好的编程习惯。
如果大家能在这些方面不断进步,必将拥有出色的编程
技能,独立设计、开发各种应用程序。这是计算机专业同学的
必备技能之一。
四、热门技术
随着信息技术的快速更新换代,许多热门的新技术应运
而生。作为计算机专业的学生,我们有必要对这些热门技术保
持关注,并适当学习掌握。主要的热门技术包括:
1.人工智能:了解包括机器学习、深度学习、自然语言
处理等技术,已经广泛应用于图像识别、语音交互、推荐系统
等领域°我们可以学习Python等语言中的机器学习相关工具
库,进行入门。
2.大数据:了解HadoopxSpark等大数据框架,以及SQL、
NoSQL数据库的使用。了解数据采集、处理、分析和可视化
等方面的知识。
3.云计算:了解公有云平台的使用,如AWS、Azure、阿
里云等。了解SaaS、PaaS、laaS等服务模式。掌握虚拟化、
容器技术的应用。
4.区块链:了解区块链的基本原理,学习以太坊、超级账
本等主流开发平台。可以基于区块链实现简单应用程序或
prototypeso
这些都是计算机行业的新趋势和热点,适当学习一些热
门技术,将让我们在就业时更有竞争力。但入门学习后还需要
根据自身兴趣进一步深入。
五、实习经历
在校期间,通过各种途径积累实习经历,是计算机专业学
生非常必要的,是大学生学以致用的最好方式。良好的实习
经历不仅能加强我们的技术能力,更可以让我们对就业企业
有一个直接的了解,以及了解自身与职场的契合度。主要可以
从以下几个方面获得实习机会:
1.学校组织的实习项目。学校可能会与企业合作,举办
产学研项目,选拔部分学生参与实习,这是很好的实习机会。
2.个人主动在企事业单位申请实习。可以通过互联网查
找提供实习职位的公司,直接通过邮箱等方式提供简历和实
习申请。
3.网络求职平台。可以在Boss直聘、实习僧等网站注
册账号,搜索并报名自己感兴趣的实习职位。
4.按企业直接投递简历。可以主动关注感兴趣的公司,
直接将简历发送给HR,争取实习机会。
5.参加编程大赛,表现优异可获得部分公司提供的实习
offero
6.主动参与开源项目组织,通过自己的代码贡献得到实
习offer。
相信我,只要大家主动一点,每个同学都可以在校期间获
得至少1-2次实习经历。这些宝贵的经历将使我们在职场中
如鱼得水。
六、软实力培养
除了计算机技能外,我们还需要注重软实力的培养。软实
力主要包括沟通表达能力、团队协作能力、时间管理能力、
学习能力等。这些都是任何行业都迫切需要的通用能力。我
们可以通过以下方式培养软实力:
1.多参加课内外的小组活动和团队项目,在合作中练就
协调沟通的能力,解决分歧的智慧。并在团队中适当承担不同
角色。
2.参加社团活动,担任组织工作,这可以增强责任感和协
调能力。组织活动也可以强化沟通表达能力。
3.参加一些交流性的比赛或活动,如演讲、辩论比赛等。
这可以使表达能力得到提高。
4.合理安排每天的学习和生活时间,培养良好的时间管
理习惯。避免拖延症。
5.多阅读非计算机类书籍,开阔视野。课余可以适当选
择一项兴趣爱好进行学习。
6.在互联网上关注前沿技术动态,养成终身学习的习惯。
如果大家在这些方面都能有所重视并付诸行动,软实力
的提高将令我们的综合竞争力得到大幅增强。这些都是面试
中非常会关注的要点。
综上,我们总结出当代计算机专业学习中最为关键和不
可或缺的6大类核心技能:计算机操作技能、基础知识、编
程技能、热门技术、实习经历以及软实力。在此,我还要特别
强调,这些只是技能框架和学习方向的参考建议。每一位同学
都需要根据自身情况,找到最适合自己的学习路径。不要被标
签化的技能要求束缚,要敢于开拓创新。同时,我们要时刻保
持技术学习的热情,以终身学习的心态看待知识的掌握。记住,
成功来自於积累和坚持,而非一蹴而就。我相信,如果大家保
持热情和毅力,终将在计算机专业的路上走向更加广阔的前
景。
计算机专业毕业生应具备的核心能力
在ACM制定的计算机科学专业课程体系标准
ComputerScienceCurricula2013(CS2013)中,对计算机专业
毕业生应该具备的核心能力进行了归纳和总结,其内容如下:
核心能力
计算机科学专业的毕业生应掌握计算机科学知识体中
各领域的基本知识(注:可参见ACMCS2013),尤其是列
入核心知识点的那些知识领域,具备这些领域要求的基本能
力。他们还应具备一些在知识体中没有明确列出的基本能力,
因为该领域的专业人士通常会表现出一些独特的思维和解
决问题的风格特征,这些特征通常是从具体的学习和工作经
历中获得。
下面描述的这些特征或者称为核心能力,我们认为计算
机科学专业的毕业生们应该至少达到某种初级水平。这些特
征可以使他们在计算领域内获得成功,并有更好的职业发展。
当然,其中的一些特征和技巧也适用于其他领域,但我
们还是把它们包括在这里,因为在计算机科学专业计划中,
应该明确地鼓励学生们努力发展这些技能和特征。
以下这个列表基于CC2001和CS2008中出现过的类似
列表,但新版列表也包含了一些实质性的修改,这些实质性
的修改是在CS2013指导委员会进行调研的结果下做出的。
在一个广义层面上,计算机专业的毕业生应具有以下特
征(核心能力):
01
对计算机科学在技术层面上的理解
毕业生应该对计算机科学有所掌握,具体体现在掌握知
识体中的核心部分。
熟悉通用的主题和原则
02
毕业生需要对一些反复出现的知识点有所理解,如抽象
化、复杂性、渐进式改变等,也要对一些通用原则有所掌握,
如共享资源、安全性、并发性等。毕业生应该认识到,尽管
这些知识点和原则是在介绍某具体知识领域时引入的,但它
们在计算机科学领域有着广泛的应用,并不限于这些具体的
知识领域。
03
对理论与实践之间的相互作用有所理解
计算机科学的一个基本特点就是要理解理论与实践的
相互作用以及它们之间基本的关联性。计算机科学专业的毕
业生需要了解理论与实践是如何相互作用的。
系统分层观点
04
计算机科学的毕业生需要在多种细节程度、多个抽象层
面上思考问题。这种思考方式能够超脱于各部件实现细节之
上,达到对计算机系统整体结构的理解,并理解其组建的过
程及分析的过程。他们还需要了解一个计算机系统会在怎样
的环境中运行,会怎样与人类用户、物理世界进行交互。
05
解决问题的能力
毕业生要了解如何运用自己学到的知识来解决实际问
题,而不仅仅是编写代码或搬动比特位。他们应该能够对一
个系统的功能、实用性、性能等方面做出定量和定性的评估,
并能设计和改善此系统。他们应该认识到,对一个给定的问
题可能有多种解决方案,做出合理的选择并不是一个纯粹的
技术问题,因为这些解决方案将对人们的生活产生真正的影
响。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版二年级数学下册期末测试卷(含答案)
- 湖南省九校联盟2025届高三上学期第一次联考-生物试题(含答案)
- 人教版(2019)高中化学必修第一册第一章1.1物质的分类及转化第一课时教案+学案+习题精炼(含答案)
- 第17课《短文两篇》课件 2024-2025学年统编版语文七年级下册
- 初中数学简单的轴对称图形第2课时线段垂直平分线的性质课件 2024-2025学年七年级数学下册北师大版2024
- 【核心素养】第2课《学做“快乐鸟”》第1课时《我很快乐和也有不开心的事》+公开课一等奖创新教案+素材
- 智能物流配送管理制度
- 八年级体育 教学设计 人教新课标版
- 高钾血症患者的护理
- 第一单元第1课《网络发展简述》教学设计 2023-2024学年浙教版(2020)初中信息技术八年级下册
- 综合执法改革试题及答案
- 2024年泉州实验中学初一新生入学考试数学试卷
- 人工智能在航班调度中的未来应用探讨
- 内蒙古自治区赤峰第四中学2024-2025学年高一下学期4月月考历史试题(含答案)
- 糖尿病酮症酸中毒护理
- 陕西气象部门招聘笔试真题2024
- 学校中层干部选拔任用实施方案
- 电气工程及其自动化毕业论文-基于PLC的高空作业车电控系统设计
- 云南省昭通市2024-2025学年七年级上学期期末地理试题(含答案)
- 2025年湖南省新华书店有限责任公司招聘笔试参考题库含答案解析
- 福格行为模型(中文版)
评论
0/150
提交评论