论文部分内容阅读
做过太多年的学生,很多习惯总是顽固得如影随形,以至于毕业多年仍无法改变。譬如偏执地喜欢9月,喜欢暑气消散后的清新,更喜欢同学们小别重逢的欣喜,最喜欢的还是每年9月在校园里看到一张张青涩又满是憧憬的脸庞。大学,是老师和家长对这些新生们集体许下的一个看上去很美的承诺。
然而,事实也许有点残酷——学校能教给我们的东西,总是和社会的需求差得太远太远,尤其是热门了很多年的计算机专业。那么,当象牙塔里悠闲的步伐早已跟不上业界日新月异的发展,我们应该怎样在四年里奋斗自己的人生呢?
一直很喜欢一句话:凡事预则立,不预则废。我也喜欢用这句话来告诫我的学生们。因为很多学生在入校的时候对计算机这门学科完全不了解,懵懂地过了两三年才逐渐了解计算机的庞大知识体系。然而,四年大学时光已过去大半,所学知识广而不精,缺乏针对性,动手能力弱,进入IT职场后力不从心。因此,每当我的学生问我“怎样让四年后的自己更有竞争力”时,我总会告诉他们:学习切忌没有目标,从大一开始规划你的大学。
修炼“内功”
每个计算机专业的新生拿到第一学期的课程表时总是有点小小的失落:没有想象中高深的专业课,除了政治、体育之外,课时数最多的便是数学和英语,这和中学有什么区别?
不要小看这两门学习了多年的科目。我们都知道,数学是一切理工学科的基础,对于计算机专业而言,数学更是金字塔底部最稳固的那块基石。无论你以后是往算法分析等理论方向发展,还是往网络安全、视频音频处理等应用方向发展,数学都至关重要。
英语的重要性则更是不言而喻的。既然选择了计算机专业,就意味着英语能力根本就不是对你的要求,而是默认值。英语是IT业的默认语言,你必须习惯看英文技术文档,阅读经典的英文理论著作,从英文网页中获取最新资讯。
尽管只有数学和英语的大一很枯燥,但这是修炼内功的阶段,为以后的专业课做准备。如果内功不深厚,就算你以后炼成了“降龙十八掌”,也难免会后劲不足。
有目标才有动力
学好了数学和英语是远远不够的,毕竟它们只是基础。计算机的专业知识体系十分庞大,根据我国高等学校本科专业目录,计算机科学与技术专业下设计算机系统结构、计算机软件与理论、计算机应用技术三个二级学科,其中还包括若干研究方向。想在四年时间里学习所有专业方向,并达到精通的程度,几乎是不可能的。
目前,热门的研究方向主要有嵌入式系统、计算机网络与通讯、企业计算、软件开发、图形图像与多媒体、网络与信息安全等。因此我通常建议我的学生及早选定自己的发展方向,有目标地学习。
·嵌入式系统开发
大家都知道,目前计算机专业一般分为硬件、软件、网络三个大方向。一般来说,选择硬件的同学比较少,大多数人就算选了硬件,研究的也是软硬结合方向。那么说到软硬结合,嵌入式系统便是近年来最火的研究热点。它是针对某种特定应用设计的系统,日常生活中的手机、MP3播放器、数码相机、高清电视都离不开它。目前我国40%的软件产值都来自嵌入式软件,而且这项技术的人才缺口高达15万。无疑,嵌入式系统开发是当前最热门、最有发展前途的方向之一。
虽然嵌入式开发对人才的要求是软硬兼通,但计算机专业的学生选择这个方向时,通常会从事软件开发,毕竟嵌入式设备的增值很大程度上依赖于软件。所以对于数字电路、计算机组成原理、微处理器结构等硬件基础课程,学懂即可,不必深究。
在软件学习方面。首先,C语言、数据结构、算法分析以及操作系统这些软件基础课的重要性自然是毋庸置疑的;其次,不要死抠书本,要多了解业界动态,自学一点业界流行的程序开发语言,掌握主流嵌入式微处理器的结构,最好能掌握一个或多个嵌入式操作系统,求职时才不至于与单位需求脱节。
另外,很多同学不重视汇编语言。其实,进行嵌入式开发时,若能在高级语言里嵌一点汇编语言,对进行操作系统级软件(即底层软件)开发非常有优势。
对于有意于这个方向的同学,我还有一个建议。嵌入式系统开发是一个应用型非常强的方向,求职时实战经历极为重要,最好从大三开始联系实习单位并参与项目。毕业求职时,完整参与过嵌入式项目的经历,比成绩单上一片90分更能俘获面试官的芳心。
·计算机网络技术
在这个互联网将全世界连成了整体的时代,网络技术的热门程度与嵌入式开发不相上下,它的就业前景甚至比后者更广阔。而且新兴的高层次网络安全工程师无论是职业前景、提升空间还是薪酬基数、薪酬增长,都更加优越。可以说,这个方向的前景和“钱景”都是非常不错的。
但是,目前很多高校不太重视网络方向的课程,所以选择这个方向的同学会比较辛苦。首先,和所有同学一样,在大一大二打牢基础,其间学校会开设一门《计算机网络》,属于专业基础课,要好好学。这门课最经典的教材推荐Andrew S. Tanenbaum的《计算机网络》。然后,结合程序设计,自学掌握Internet编程基础、网络多媒体相关应用等网络应用技术。
对于这样一个应用性较强的方向,在学校课程设置较弱的情况下,自学就显得格外重要。比如,目前复杂的网络在线应用呼唤一个新的网络体系结构,那么,同学们可通过《高级网络体系结构》、《网络协议》等书籍了解相关技术。另外,网络与信息安全也是一个重点研究方向,对这个方向感兴趣的同学应该多掌握一些安全协议的形式化分析、密码算法设计与分析、数据库隐藏技术。总之,要随时关注技术的发展,让自己的步伐跟上业界日新月异的变化。
·软件开发
软件开发方向是绝大多数学生的选择,它不是最实用的,但却是最好的。因为只要有了过硬的软件开发能力,就可以与任意具体应用相结合,能够非常灵活地转入各种应用领域:学点图形图像技术就可以去做多媒体应用软件开发,学点网络与通讯就可以去做网络方面的研发。
我的学生经常和我讨论一个问题:计算机语言很多,应该学哪一种?我始终认为,不管哪一种,只要精通一门,其他语言学起来相对就容易了。建议大家先精通一门高级语言,例如学校开设的C语言。到了大二后期,在此基础上加上面向对象的元素,学习C 或者VC ,精通之后你就算上路了。接下来可以触类旁通地自学Java、.NET等多种流行语言。如果自我感觉“功力”修炼得差不多了,可以尝试着参加程序员考试,不少单位对它的认同度还是很高的。
此外,从事软件开发的人仅仅精通写程序是不够的,时间长了你就会发现,这不过是熟练工的活罢了。而且一味埋头写程序,你永远只是最底层的程序员,很难有大的发展。只有统领着团队,策划完整的软件项目,你才能成为软件业的高层次人才。所以,建议具有组织才能的同学,一定要学好《软件工程》这门课,课外还可以读读《人月神话》,这是软件工程的经典著作,很有启发意义。说不定你就是未来的项目经理哦!
为求职准备两块敲门砖
对于大多数同学来说,四年的积累,就是为了毕业时找份好工作。每年11月,看着大四学长为了找工作四处奔波形色匆匆的样子,大一的新生们是不是心里有一丝庆幸:还好,这样的日子离我还远!可是,当你抬起头看看就业形势,你还会这样想吗?所以,我的学生一入学,我就会告诉他们,从一开始就要为自己的前程打算了,应该早早准备两块敲门砖——证书、实习经历。
证书也许不能反应一个人的全部能力,但是在同等条件下,它能让你比其他竞争者更有优势。考证书不宜太早,最好是到了大三之后再进行,否则会影响正常的课程学习。另外,也不宜考太多证书,会牵扯太多精力。网络技术方向的同学可以考比较权威的思科系列认证;软件开发方向的同学可以考微软的系列认证,涵盖面很广,业界的认可度也高。
作为求职的另一块敲门砖,实习经历比证书更有分量。从大一开始,最好每年暑假都能找一家单位实习,也许一开始你做不了太多事情,但是在实践中学到的东西可以让你在以后的课程学习中更加游刃有余。到了大四上期,就该找正式的实习单位了,建议提前半年留意心仪公司的招聘流程,尤其是技术要求,尽量弥补自己的软肋,让自己的实习表现更好,毕业后留在这个单位的几率也就更大。即或不能留下,过硬的实习经历可以为你以后的求职增添重重的砝码。
作为一名教师,深知学习计算机专业的辛苦与艰难。但是既然选择了,就不要因为困难而轻言放弃。只要扎扎实实地学好每一门基础课,确立一个属于自己的目标,掌握市场需求的最新潮流,我想每个同学的未来都会充满阳光!
学长经验谈:
有的放矢,时间不浪费
小郑 男 软件公司程序员
我敢说,60%的同学入学时,根本不清楚计算机到底是怎么回事,更不知道自己的兴趣点在哪里。这部分同学不必着急确定发展方向,可以一边学基础课,一边关注行业动态,看看自己哪些课程学得好,看看哪些业界热点能吸引自己,一般到了大二就可以判断出自己的兴趣所在。
这个时候,恰好专业基础课开始了。以我的经验,学习专业课要“有的放矢”,尤其要懂得合理分配时间。对于与自己的发展方向关系不大的科目,没必要浪费太多时间,大致学懂就行。应该把时间和精力分配给符合自己发展方向的专业课,深入钻研并加强课外学习,怎样精益求精都不为过。
考研,从大一抓起
小高 男
北京理工大学计算机应用专业硕士
很多考研的同学都是从大三开始准备。一复习才发现自己的知识盲点到处都是,只好又把大一、大二的课本翻出来几乎重学一遍,费神费时。
所以,如果你有考研的打算,不如从大一就开始,把每一天都当成高中来学习,把每一门课都学得扎扎实实,避免考研复习时“炒回锅菜”。保证大四时有足够的精力进行考前冲刺。
然而,事实也许有点残酷——学校能教给我们的东西,总是和社会的需求差得太远太远,尤其是热门了很多年的计算机专业。那么,当象牙塔里悠闲的步伐早已跟不上业界日新月异的发展,我们应该怎样在四年里奋斗自己的人生呢?
一直很喜欢一句话:凡事预则立,不预则废。我也喜欢用这句话来告诫我的学生们。因为很多学生在入校的时候对计算机这门学科完全不了解,懵懂地过了两三年才逐渐了解计算机的庞大知识体系。然而,四年大学时光已过去大半,所学知识广而不精,缺乏针对性,动手能力弱,进入IT职场后力不从心。因此,每当我的学生问我“怎样让四年后的自己更有竞争力”时,我总会告诉他们:学习切忌没有目标,从大一开始规划你的大学。
修炼“内功”
每个计算机专业的新生拿到第一学期的课程表时总是有点小小的失落:没有想象中高深的专业课,除了政治、体育之外,课时数最多的便是数学和英语,这和中学有什么区别?
不要小看这两门学习了多年的科目。我们都知道,数学是一切理工学科的基础,对于计算机专业而言,数学更是金字塔底部最稳固的那块基石。无论你以后是往算法分析等理论方向发展,还是往网络安全、视频音频处理等应用方向发展,数学都至关重要。
英语的重要性则更是不言而喻的。既然选择了计算机专业,就意味着英语能力根本就不是对你的要求,而是默认值。英语是IT业的默认语言,你必须习惯看英文技术文档,阅读经典的英文理论著作,从英文网页中获取最新资讯。
尽管只有数学和英语的大一很枯燥,但这是修炼内功的阶段,为以后的专业课做准备。如果内功不深厚,就算你以后炼成了“降龙十八掌”,也难免会后劲不足。
有目标才有动力
学好了数学和英语是远远不够的,毕竟它们只是基础。计算机的专业知识体系十分庞大,根据我国高等学校本科专业目录,计算机科学与技术专业下设计算机系统结构、计算机软件与理论、计算机应用技术三个二级学科,其中还包括若干研究方向。想在四年时间里学习所有专业方向,并达到精通的程度,几乎是不可能的。
目前,热门的研究方向主要有嵌入式系统、计算机网络与通讯、企业计算、软件开发、图形图像与多媒体、网络与信息安全等。因此我通常建议我的学生及早选定自己的发展方向,有目标地学习。
·嵌入式系统开发
大家都知道,目前计算机专业一般分为硬件、软件、网络三个大方向。一般来说,选择硬件的同学比较少,大多数人就算选了硬件,研究的也是软硬结合方向。那么说到软硬结合,嵌入式系统便是近年来最火的研究热点。它是针对某种特定应用设计的系统,日常生活中的手机、MP3播放器、数码相机、高清电视都离不开它。目前我国40%的软件产值都来自嵌入式软件,而且这项技术的人才缺口高达15万。无疑,嵌入式系统开发是当前最热门、最有发展前途的方向之一。
虽然嵌入式开发对人才的要求是软硬兼通,但计算机专业的学生选择这个方向时,通常会从事软件开发,毕竟嵌入式设备的增值很大程度上依赖于软件。所以对于数字电路、计算机组成原理、微处理器结构等硬件基础课程,学懂即可,不必深究。
在软件学习方面。首先,C语言、数据结构、算法分析以及操作系统这些软件基础课的重要性自然是毋庸置疑的;其次,不要死抠书本,要多了解业界动态,自学一点业界流行的程序开发语言,掌握主流嵌入式微处理器的结构,最好能掌握一个或多个嵌入式操作系统,求职时才不至于与单位需求脱节。
另外,很多同学不重视汇编语言。其实,进行嵌入式开发时,若能在高级语言里嵌一点汇编语言,对进行操作系统级软件(即底层软件)开发非常有优势。
对于有意于这个方向的同学,我还有一个建议。嵌入式系统开发是一个应用型非常强的方向,求职时实战经历极为重要,最好从大三开始联系实习单位并参与项目。毕业求职时,完整参与过嵌入式项目的经历,比成绩单上一片90分更能俘获面试官的芳心。
·计算机网络技术
在这个互联网将全世界连成了整体的时代,网络技术的热门程度与嵌入式开发不相上下,它的就业前景甚至比后者更广阔。而且新兴的高层次网络安全工程师无论是职业前景、提升空间还是薪酬基数、薪酬增长,都更加优越。可以说,这个方向的前景和“钱景”都是非常不错的。
但是,目前很多高校不太重视网络方向的课程,所以选择这个方向的同学会比较辛苦。首先,和所有同学一样,在大一大二打牢基础,其间学校会开设一门《计算机网络》,属于专业基础课,要好好学。这门课最经典的教材推荐Andrew S. Tanenbaum的《计算机网络》。然后,结合程序设计,自学掌握Internet编程基础、网络多媒体相关应用等网络应用技术。
对于这样一个应用性较强的方向,在学校课程设置较弱的情况下,自学就显得格外重要。比如,目前复杂的网络在线应用呼唤一个新的网络体系结构,那么,同学们可通过《高级网络体系结构》、《网络协议》等书籍了解相关技术。另外,网络与信息安全也是一个重点研究方向,对这个方向感兴趣的同学应该多掌握一些安全协议的形式化分析、密码算法设计与分析、数据库隐藏技术。总之,要随时关注技术的发展,让自己的步伐跟上业界日新月异的变化。
·软件开发
软件开发方向是绝大多数学生的选择,它不是最实用的,但却是最好的。因为只要有了过硬的软件开发能力,就可以与任意具体应用相结合,能够非常灵活地转入各种应用领域:学点图形图像技术就可以去做多媒体应用软件开发,学点网络与通讯就可以去做网络方面的研发。
我的学生经常和我讨论一个问题:计算机语言很多,应该学哪一种?我始终认为,不管哪一种,只要精通一门,其他语言学起来相对就容易了。建议大家先精通一门高级语言,例如学校开设的C语言。到了大二后期,在此基础上加上面向对象的元素,学习C 或者VC ,精通之后你就算上路了。接下来可以触类旁通地自学Java、.NET等多种流行语言。如果自我感觉“功力”修炼得差不多了,可以尝试着参加程序员考试,不少单位对它的认同度还是很高的。
此外,从事软件开发的人仅仅精通写程序是不够的,时间长了你就会发现,这不过是熟练工的活罢了。而且一味埋头写程序,你永远只是最底层的程序员,很难有大的发展。只有统领着团队,策划完整的软件项目,你才能成为软件业的高层次人才。所以,建议具有组织才能的同学,一定要学好《软件工程》这门课,课外还可以读读《人月神话》,这是软件工程的经典著作,很有启发意义。说不定你就是未来的项目经理哦!
为求职准备两块敲门砖
对于大多数同学来说,四年的积累,就是为了毕业时找份好工作。每年11月,看着大四学长为了找工作四处奔波形色匆匆的样子,大一的新生们是不是心里有一丝庆幸:还好,这样的日子离我还远!可是,当你抬起头看看就业形势,你还会这样想吗?所以,我的学生一入学,我就会告诉他们,从一开始就要为自己的前程打算了,应该早早准备两块敲门砖——证书、实习经历。
证书也许不能反应一个人的全部能力,但是在同等条件下,它能让你比其他竞争者更有优势。考证书不宜太早,最好是到了大三之后再进行,否则会影响正常的课程学习。另外,也不宜考太多证书,会牵扯太多精力。网络技术方向的同学可以考比较权威的思科系列认证;软件开发方向的同学可以考微软的系列认证,涵盖面很广,业界的认可度也高。
作为求职的另一块敲门砖,实习经历比证书更有分量。从大一开始,最好每年暑假都能找一家单位实习,也许一开始你做不了太多事情,但是在实践中学到的东西可以让你在以后的课程学习中更加游刃有余。到了大四上期,就该找正式的实习单位了,建议提前半年留意心仪公司的招聘流程,尤其是技术要求,尽量弥补自己的软肋,让自己的实习表现更好,毕业后留在这个单位的几率也就更大。即或不能留下,过硬的实习经历可以为你以后的求职增添重重的砝码。
作为一名教师,深知学习计算机专业的辛苦与艰难。但是既然选择了,就不要因为困难而轻言放弃。只要扎扎实实地学好每一门基础课,确立一个属于自己的目标,掌握市场需求的最新潮流,我想每个同学的未来都会充满阳光!
学长经验谈:
有的放矢,时间不浪费
小郑 男 软件公司程序员
我敢说,60%的同学入学时,根本不清楚计算机到底是怎么回事,更不知道自己的兴趣点在哪里。这部分同学不必着急确定发展方向,可以一边学基础课,一边关注行业动态,看看自己哪些课程学得好,看看哪些业界热点能吸引自己,一般到了大二就可以判断出自己的兴趣所在。
这个时候,恰好专业基础课开始了。以我的经验,学习专业课要“有的放矢”,尤其要懂得合理分配时间。对于与自己的发展方向关系不大的科目,没必要浪费太多时间,大致学懂就行。应该把时间和精力分配给符合自己发展方向的专业课,深入钻研并加强课外学习,怎样精益求精都不为过。
考研,从大一抓起
小高 男
北京理工大学计算机应用专业硕士
很多考研的同学都是从大三开始准备。一复习才发现自己的知识盲点到处都是,只好又把大一、大二的课本翻出来几乎重学一遍,费神费时。
所以,如果你有考研的打算,不如从大一就开始,把每一天都当成高中来学习,把每一门课都学得扎扎实实,避免考研复习时“炒回锅菜”。保证大四时有足够的精力进行考前冲刺。