想成为一名程序员,大学应该怎么选择专业?大学期间应该做些什么?

LOVE琪少

话说,能提出这个问题的同学,都是对以后生活有所规划的,对现在生活有所思考的。想当初,本人懵懵懂懂的,拿着招考指南,看着那个学校顺眼,结合自己的高考成绩,挨个填,想想都好笑,第一志愿滑档之后,被平行志愿的第二个学校调剂录取,从师范学校的化学师范专业调剂成师范学校的计算机科学与技术非师范专业,说多了都是泪,当时真心不知道计算机科学与技术是干嘛的。

就这样,稀里糊涂的上了大学,在大一打算转专业,打算了一年,最后还是没转,就这样,四年以计算机为伴,如果靠计算机谋生,成长为具有三年多工作经验的程序员,一路上,是运气,也是努力,走的平淡而踏实,不出意外,也将继续走下去。“意外的相遇,注定了一生的结局”,或许说的就是这样。

言归正传,当时上学时不晓得计算机科学与技术是干嘛的,但是工作这么久,对程序员这个职业了解已经较深了。想成为一名程序员,最直接的专业就是软件工程和计算机科学与技术,软件工程师专门培养软件开发人才的,从一开始就是各种语言的软件开发、系统性的学习软件工程的各个阶段,而计算机科学与技术是培养综合性的计算机人才,说的是这么好听,但是实际上从硬件、到组成原理、到软件开发、再到软件工程,都会学习,但学硬件没有电子物理深,学软件没有软件工程系统,这就要靠个人在学习专业知识的同时,具备一定的自学能力,在自己喜欢的方向上进行深入探究。总而言之,软件工程学的系统,对软件开发的各个环节讲的很透,有些学校还会提供一定的实践机会,与之相对的学费会高一些,普遍在1万上下,而计算机科学与技术学的很杂,涉及到计算机的各个层次、体系,有机会在计算机的各个环节中去寻找就业机会,其学费相对便宜一些,我们当初是5800。

除了上述说道的,软件工程和计算机科学与技术,网络工程、信息安全、物联网工程、数字媒体技术、智能科学与技术、空间信息与数字技术、电子与计算机工程等专业也属于计算机类专业,都有一定的可能去做程序员职业,除此之外,我遇到的很多同事是通信工程毕业的、或者直接是学经济类的,在一定的努力和个人的机遇之后,进入了互联网公司,成为了一名程序员,所以任何专业都有可能成长为程序员的,关键看个人的努力与选择。

至于大学期间应该做些什么?我要说的是,尽量要把学业搞好,对于应届生而言,学业是一个很重要的考量指标,不要等到遇到机会了,结果让这个给卡住。其他的,对于计算机类专业的同学,多参加一些技能竞赛是很有必要的,在这些活动中,结识朋友的同时,也让自己所学的东西有升华的可能,在此基础上,抓住一切机会,去实践软件开发的能力,从数据库设计、系统架构设计、最后到实现,部署运维,有机会经历过这些,你的大学应该是很有闪光点的,在这些实践中,你的软件架构思维就有一定的提升,在面试中都是很好的说辞。软件著作权,虽然很鸡肋,但是找工作时,还是一个比较重要的加分项,有机会也可以考虑去申请,或许这就是你脱颖而出的理由。英语,对于程序员而已,学好英语是一项基本技能,我在这方面比较糟糕,但是还是希望你们能做好,英语四级、六级有条件的话,多去尝试哈。

说了这么多,有自己的牢骚,有自己的懵懂,有自己的心得,不一定适用,但是可以参考,但愿对有缘看到的各位有所帮助。



夕阳雨晴

我在接近毕业的时候才觉得当年没有人来指引我,只有自己经历的这些事情才觉得自己缺少了什么。现在我来告诉你怎么做。

既然你对程序员世界感兴趣,这一点我觉得非常好,因为兴趣是最好的老师,相信你后面学习IT技术也比较方便。

大学及专业

能进985就进985,不能就退而求其次,像北邮、西电、杭电等IT强校也是不错的选择。现在各大高校中计算机相关专业的录取分数一般都在本校的前几名,所以你要考一个好成绩。

其实在找工作时只要你是计算机相关专业的学生,那么你都可以选择做一名程序员,当然很多其他专业的同学也会跨行做程序员。举个栗子,我是网络工程专业,但是我的工作是软件开发工程师,并不是什么网络工程师、运维工程师,没有人限制你一定按照自己的专业发展。在大学里一般第一年计算机各个专业的课程基本一致,都是基础的课程,比如C++、高等数学、大学物理、离散数学、计算机导论、模电、数据结构等等。后面到了专业课会有区别,担任这也是基础,你需要学好前面的知识,后面的课程才会更顺利。

计算机相关专业包括计算机科学与技术、软件工程、网络工程、数字媒体技术、信息安全等等,当然具体专业还得看你报考的学校的信息、计算机、软件等学院的情况。

大学应该这样做!

1.好好学习基础的课程,比如数学、C++、数据结构等等,后期的操作系统、计算机组成原理、计算机网络、编译原理等好好学习。

2.参加ACM比赛,因为你要做程序员,那就要有扎实的算法基础和良好的逻辑思维,积极参与ACM比赛对你找工作很有帮助。

3.做项目,通过做项目练手,提高自己的实践能力,最好你的项目不仅有横向的,还要有纵向的,项目经验对于以后找工作非常有帮助。

4.实习,如果你的计划是毕业后直接工作,那么我推荐你去尽早找实习,尽早确定自己的方向,实习经验对你进大厂有一定的帮助。

5.好好学习,争取保研,现在竞争这么激烈,能保研就保研,研究生可以有更多的选择,更有优势。


萌新程序猿

首先看到这个问题,非常恭喜提问者和关注这个问题的人,说明你们对自己的未来有一定的规划,是从兴趣入手,结合兴趣选择专业。选择个理想的专业,就是走向升职、加薪、赢取白富美、走上人生巅峰的开始。

闲话少说,下面开始回答这个问题。我打算从二个角度回答这个问题:

第一个角度是专业课程的角度,如果打算今后从软件开发这个行业,最直接的选择就是软件工程,这个专业不仅详细教授开发语言和原理,还讲解软件项目的管理以及生命周期等相关知识,对正确理解软件开发这个行业。

作为多年的从业者,经过多年的经验,发现开发这个职业的高级职位,对从业者的综合能力要求越高,举个例子,开发出一款C/S或者B/S架构的产品,当这款产品使用人越来越多的时候,软件中微小的瑕疵,都会引发一些问题,这些问题也许并不是代码逻辑的问题,也许是TCP的握手和挥手机制的问题,也许是操作系统缺少优化,也许是硬件的瓶颈等等问题,这些问题需要其他的专业知识才能够解决。因此才会有,类似计算机科学与技术、网络技术等计算机相关专业,这些专业是有着重讲解相关内容,这些课程的内容也是需要深入了解和探究的。

第二个角度是职业发展的角度,从1996年开始国内普及计算机和互联网,现在发展到移动互联网,软件开发这个职业,也从非常神秘、备受争议和崇拜,走向了妇孺皆知,而且触码(第一次接触代码)年龄也是趋于低龄化,现在很多家长已经在孩子上小学的时候作为兴趣班,开始学习编程,使用的语言不尽相同,但是这个趋势正在形成,而且据说国家开始着手制定升学考试中的编程证书的加分项(道听途说,如有雷同,纯属巧合),因此编程对于未来的孩子来说,可能更像一门技能,而非职业。虽然人人都会编程,并不代表人人都精通,但是编程也许就不像现在是一种职业了,编程也许就变成了一种工具,一种实现专业想法的工具,或者一种指挥AI的一种工具。

曾经的一家供职的公司是做农业相关,需要利用卫星数据对农田情况进行分析,这个时候用到的不仅仅是软件开发技术,一套遥感算法才是公司的核心竞争力。也是由此才感悟到,软件开发是靠高级语言来实现的,而核心算法是靠开发技术来设计的,而公司核心竞争力是靠核心算法来支撑的,因此对于一个公司来说,软件开发固然重要,但是算法工程师才能支撑公司走向明天。

扯远了,其实想表达意思,只有一个,软件开发在未来可能变成人人皆可的事情,选择这个职业,要么在专业领域高精尖,要么就是具有其他领域知识,通过开发的代码表达出来的复合型人才。


大海的欣

计算机专业出身的程序员与非计算机专业出身的程序员在基础编程方面的差别并不大,差别主要在成长空间上,非计算机专业的程序员由于知识结构的缺失,在计算机领域要想有所突破必须补学不少内容。

程序员岗位对大学期间的专业要求并没有那么强,目前很多程序员都是非计算机专业出身,甚至不少程序员在大学时期学习的是文科专业。

不少读计算机专业研究生的同学本科期间也是非计算机专业,通过以往的经验来看,这部分同学在初期会比较辛苦,经过一段时间的努力后也都能出色的完成任务,所以专业的影响会有,但是并不是非常大。

如果在读大学时就已经明确要做程序员工作,那么最好选择计算机相关专业,这样的话能打下更好的基础。另外,目前人工智能、大数据领域对数学的要求比较高,所以对程序员来说,数学专业也是一个不错的选择。数学专业的同学在日后的成长空间会很大,因为未来人工智能的发展对算法的要求越来越高,现在不少大数据、人工智能领域的专家都是数学专业出身。

目前随着大数据、人工智能的发展,很多专家都清楚的意识到基础学科的重要性,所以在大学期间一定要学好基础学科,比如数学,数学基础对计算机领域的研发人员来说还是非常重要的,计算机软件问题说到底就是个数学问题。

另外,计算机网络、计算机体系结构、数据库、数据结构、编程语言、算法导论等课程也是比较重要的,大学期间应该重点学习。如果有机会的话,可以参与一些小项目,一边学习语言一边使用。


IT人刘俊明

想成为程序员,看看到底你会是码农还是工程师?

计算机科学,软件工程等只要你学习C++,Java相关的高级程序设计的专业都可以去选择这条路。

当然,当程序员不仅仅是你学了C语言这个基础,你就可以从事的。每天敲代码的日子是非常痛苦的,小小的一个错误,可能就让你几个小时打的代码都白费。


码农的日子真的很辛苦,并不是所有人都能在键盘上妙笔生花,解决一切电脑问题。想象和实践真的差距非常大。如果不是真的喜欢,我不太建议选择这条路。

对于计科,软件工程等专业学习高级程序设计,我提供以下几点建议。理论要扎实,不然你打几个小时代码都不知道自己打的是什么,费时费力。其次重实践,多查错,学会在规则中创作。



要做就做工程师级别的程序员,纵横在电脑键盘上,指间飞舞,以自己的奋斗创造属于自己的辉煌。

你怎么看待程序员,请在下方留言。


烽爝爷

计算机专业,我不是内行,具体方向你还要参考其他兄弟的答案。

说说我舍友老张把,老张是一个胖子。就是周末穿着大裤衩,踩着拖鞋的那种屌丝形象。大一跟我们一起读的机械学院。挂了两科。但是是他对电脑一直挺有兴趣,高中就有去百脑汇帮忙修电脑。他就想着去转专业,本来有挂科在我们学校是不能转的。可能是面试的老师看到那股熟悉的程序员屌丝气息,加上他有一定的电脑基础就破格录取了他。

转了专业后,他简直如鱼得水,从一个臭屌丝变成了学霸。加上他说本身就是一个段子手。还挺受欢迎的。

最后说下,屌丝只是调侃。不少名人还说自己是屌丝代言人呢。还有对程序员的固有印象也是调侃。每个行业都有很潮的人。

回答题目来,如果你对电脑没有基础,还要考虑清楚,计算机大神都不是老师教出来的。如果你有基础又有兴趣,那就放手去做吧。加油

另外大神在贴吧,网吧。供你参考。多看一些技术贴吧。


嗨锵学长

我是传智专修学院软件工程系java方向的学生,将来毕业从事的就是软件开发工程师,也就是你所说的程序员,选择专业的时候一定要注意,计算机有很多个专业,如果要做程序员建议选择计算机软件开发专业。至于怎么才能学好,我们老师说过没有学不会的,就是要多练多敲,多做做项目,我们学校从大一开始就以项目组的形式做项目实战,现在大一第二学期了,很多学生做出来的项目都可以卖钱了,至于具体的方法一句两句也解释不清楚,你可以去我们学校官网看看,上面有很多学生动态,也可以私聊我!


我有故事还有狗

专业选计算机,软件开发,网络工程,数学,通信工程,电子信息工程等专业,关键是一定要努力学习,特别是底层的东西,一定要学扎实,比如汇编 数据结构,单片机,操作系统原理,还有一些基础,我也不太懂,我会的只有单片机C语言编程,java应用程序开发,做这个的最多,不过也很容易被替代,只要学个半年,再工作个两年就能胜任工作,年纪大了精力跟不上,所以一定要做底层,越往底层做工资越高,当然对技术的要求也高,


刘员外2019

专业的话主要是计算机科学与技术还有软件工程,当然,其他也是可以比如网络什么的,但编程而已软工可能会比较体系吧。

学什么的话反正学校课堂的学的永远是基础,课余自学才是硬道理,有机会跟老师做项目也是不错的机会。现在学习资料和学习途径那么多,选个自己喜欢的深钻,总会有意想不到的收获


vezn

先选好的学校,在选好的专业。

和计算机相关的专业很多,计算机科学与技术,我就是这个专业的,还有软件工程等等,

还有一些看起来远一点的专业,比如数学专业

最重要的是多动手练习编程,纸上得来终觉浅,绝知此事要躬行


分享到:


相關文章: