前言:本文是前段时间给大学学弟学妹们的分享,之前写在「大学生成长之路」这个公众号上,现发布在博客上,希望能给更多需要的人一些建议和启发。

这几日在小区门口看到了儿童编程的广告,去年教育部将Python纳入全国计算机等级考试科目,甚至山东省的小学信息技术教材中也加入了Python内容。由此可见国家对计算机科学的重视,也能看到全民学习编程的热情。

显然部分原因是市场推动,计算机相关专业毕业生的薪资近几年持续走高,某些岗位优秀的应届毕业生就能拿到30~40万年薪。

这似乎给了计算机及其相关专业的大学生一些动力,同时也带来了一些压力。大家应该认真思考如何规划自己的大学时光,因为这几年的努力直接决定了你毕业时能进入什么样的公司,能拿到多少薪水。

作为过来人,结合自身经历,跟大家分享一下如何利用好大学这几年,希望能给大家一些参考和帮助,避免一些前人踩过的坑。

一、尽早确定自己的兴趣和方向

计算机及相关专业的同学,并非都是对计算机、对编程感兴趣的。然而更严重的一件事似乎是大学新生对自己的专业与未来感到迷茫,找不到自己的兴趣与方向,在之前的文章《写给即将步入大学的同学们》中也提到过。

对大部分同学来说有个迷茫的过程也很正常,但大二时希望每个同学都能找到自己的方向,越早越好。

相对来说,学习计算机和编程确实比较辛苦,因此兴趣很重要。

兴趣是最好的老师,在我们学习过程中遇到困难、挫折,兴趣支撑我们继续前行;在不断的编码、调试过程中,兴趣陪伴我们度过一个个不眠之夜。

如果只是看到程序员的高薪水或者蹭热度而去学习编程,其实很难深入地去学习,也很难坚持下来。

因此建议计算机及相关专业的同学,一定要确定自己是否真的对编程感兴趣,如果发现自己确实不感兴趣,也不失为一件好事,与其在不感兴趣的事情上浪费时间,倒不如在自己真正感兴趣的方向上投入。

另外,对于对非计算机专业的学生,如果有兴趣想学习编程的话也没问题,完全可以自学相关知识。

二、如何学习编程

1 兴趣驱动

前文已经详细说明了兴趣的重要性,学习计算机编程必须以兴趣来驱动,这里不再多说了。

我在大一时,其实个人对编程也谈不上什么兴趣,只是觉得要好好学每一门课程,现在想想应该当时也在一个对专业迷茫的阶段,直到后来产生了兴趣从而坚持下来。所以大家不要担心,有一个认知的过程很正常。

2 学好一些重要的课程

如果要从事编程工作的话,学校里有一些课程至关重要,它们是计算机原理、操作系统、编译原理、计算机网络、数据结构和算法等。

可能大家发现都是一些计算机基础课程,是的,学好了这些可以受用终生,这么说一点也不夸张,它们决定了你能在计算机编程的道路上走多远。

千尺高台起于垒土,同学们需要把基础夯实,把地基打稳。其实各种新技术层出不穷,但最底层的原理都是类似的。

基础原理很重要,我们不能仅仅满足于能完成功能,还要了解底层原理,然后才有可能对性能调优、举一反三。我在面试一些应聘者的时候,基础原理考察也是一个重要方面,大概占三分之一左右的比重。后来我到了BAT一线大厂,包括我自己去面试,发现大公司更加注重对基础知识的考察。

一些非计算机科班的同学,学校里并没有开上述课程,例如GIS专业,可能更侧重应用开发或二次开发,计算机原理方面的课程相对少一些。建议大家如果有志于计算机编程,一定要自己补充这些方面的内容。

3 坚持动手实践

学习编程没有捷径,只有坚持不懈地写代码,动手实践。

计算机博士徐宥的一篇文章——《十年学会程序设计》里提到:

不断地编写,最好的学习方法是在实践中学习。

编程像所有其他的技艺一样,遵循一万小时理论,只有不断的练习才会真正的掌握编程这门技艺。

所以从现在就开始练习吧,珍惜每一次老师布置的编程作业,认真地实现,而不是抄袭其他同学;认真完成实验室的项目,把握住每一次的锻炼机会;认真地对待每一次的竞赛,在实践中提升自己的编程能力。从实践中很容易获得成就感,反过来也有助于兴趣的养成。

哪怕一开始只会写”Hello World“,哪怕只会照着书本敲代码,相信我,只要经过持续不断地动手实践,总有一天你能达到大神的境界,一览众山小。

4 专注与精通

为什么要提“专注”呢?

因为现在各种新技术五花八门,且如雨后春笋层出不穷,做技术的人都有新鲜感与好奇心,但一个人精力有限,不可能在每项技术上都投入太多时间。其实就业之后也一样,大部分人都是螺丝钉,专注于某个技术方向。

当然这里的意思并非不让大家接触太多技术,大家完全可以花时间去了解自己感兴趣的,只是建议大家不要跟风,看到什么热门儿学什么,要有自己的技术视野和判断。

希望大家能做到至少精通一两门技术,这其实很不容易。以Android开发为例,要做到精通,大概要掌握以下知识:

  • Java或Kotlin语言
  • Android应用层SDK
  • Android应用性能优化
  • Android架构设计
  • Android Framework层
  • Java虚拟机、Android Dalvik、ART虚拟机原理
  • Android内核设计思想
  • Linux操作系统
  • ……

上述只是简单罗列,还不包括日益推陈出新的Android端新技术,但可见精通一门技术并不容易。从另一个角度也说明技术不是一朝一夕的事情,需要长期坚持实践积累。

再补充一点,关于编程语言,其他语言不说,考虑到AI、机器学习以及大前端的发展方向,建议学好Python和JavaScript两门脚本语言,这两门语言相对其他语言也是比较容易入门的,也是日后非常好就业且高薪的方向。

早先也写过一篇文章《面对五花八门的新技术,如何看待与学习》,可以参考一下。

5 持续学习

技术日新月异,互联网IT行业也是一个活到老学到老的行业,需要持续学习。

要学习新的技能,基础在此时就显得特别重要,这也是前文希望大家学好几门基础课程的原因之一。根基扎实,很容易就能掌握新的技术,否则很可能事倍功半,步履维艰。

学习需要时间,大学相对是一个时间充裕的阶段,等到毕业甚至成家,属于自己的学习时间就更少了。回过头想想,当年大学时似乎也浪费了不少时间,希望各位同学能珍惜时间,争分夺秒,在大学期间就修炼好内功。

另一方面需要培养自学能力。这个能力很重要,在《我在大学里学到的最重要的东西》这篇文章中特地强调过,无论什么专业或行业都适用。

6 其他

  • 图书馆——往往毕业之后才知道图书馆是一个巨大的宝库,希望各位能好好利用。
  • 学会科学上网——对于计算机专业的同学必须掌握的技能之一,知道如何使用Google搜索。
  • 英语阅读写作能力——很多一手技术资料都是英文的,因此阅读英文技术文档的能力是必须的。
  • GitHub与stackoverflow——作为计算机编程专业的学生,这两个网站不可不知,而且对日后就业有加分作用。
  • 坚持写技术博客——好记性不如烂笔头,如果有时间,可以坚持写技术博客,既可以锻炼写作能力,又能够积累技术,还能在就业时作为加分项。一举多得,何乐而不为呢?
  • Linux——建议大家将自己的电脑装上Linux操作系统(Mac除外、必须用Windows的除外),在平时使用中熟悉这个伟大的操作系统,对日后做技术大有裨益。

三、关于就业

也许就业对大家还比较遥远,也许就在眼前,先跟大家分享以下两个方面:

  1. 自己毕业后会从事什么技术方向?比如做底层开发还是应用开发,是从事AI相关还是前端或移动端开发,大家一定要有自己的想法,这样就可以在学校阶段有针对性地学习。

  2. 用人单位及面试官到底看重什么?结合自身经验,其实面试官非常看重学生的基本功、动手能力、独立思考及自学能力。事实上,大学里学的很多知识已经落后了,到了社会上并不能直接应用,而是需要学习新的技术,因此上述能力就很重要。
    如果在学校里就能紧握社会的脉搏,把握住技术发展方向,那就很厉害了!我见过一些刚毕业的大学生,他们在大学里就对某项技术研究的非常深,也做过很多项目,甚至比工作几年的员工还要优秀,这在市场上就有很强的竞争力了。

    结合这两点,相信大家应该知道自己的努力方向了。

四、关于读研

计算机专业是否应该读研这个问题需要辩证地看待,首先我是读研的,当时我选择读研的目的是想去一个大城市,想去一个更好的学校,也可能是我们毕业那年市场上薪资太低吧。我觉得读研带给我最大的收获是开拓了视野,尤其是在思维上。

现在让我来看的话,如果毕业之后选择做软件开发,那么不读研也许是一个更好的选择,几年工作经验完全可以抵得上硕士比本科高出来的工资,而且长远来看,工作经验在互联网行业中也很重要。但有一点需要说明,不读研不代表自己底下不学习,很多知识仍然是需要持续学习的

另一个方面,如果想做更深入的技术研究或学术的话,读研则是需要的,看下现在市场上做AI的、做机器学习和算法的,大部分都是硕士博士。

五、结语

技术改变世界,这是技术人的信仰。以上只是一些建议,有感而发,写给计算机及相关专业的同学作为参考。

如果有疑惑,欢迎留言交流探讨。

计算机及相关专业的同学如何规划大学四年?相关推荐

  1. 不是IT相关专业的同学,可以转行做网络安全工程师吗?

    不是IT相关专业的同学,可以转行做网络安全工程师吗? 很多朋友对于现在的工作不是很满意,想要寻找新的职业发展方向.IT/互联网行业因为高薪这一特点成了众多人的选择,在IT/互联网人才需求最旺盛的领域中 ...

  2. 高考学文的能报计算机吗,高考志愿填报时,文科生能申报计算机类相关专业吗?...

    对于高考志愿填报的问题,众多考生或多或少都有一些难以解决的问题,有人问到文科生是否能申报计算机类相关专业,今天小编就为各位考生详细解答这个问题. 高考志愿填报时,文科生能申报计算机类相关专业吗? 最先 ...

  3. 南京大学软件学院 西交计算机,2021届薪酬最高的十大本科专业,前三名都是计算机和相关专业...

    2021届薪酬最高的十大本科专业排行榜在盛夏"热辣辣"出炉,前三名竟然都是计算机和相关专业! 排名第一的是人工智能,收入很高,平均薪酬达到9155元.据统计,人工智能专业的学生平均 ...

  4. 计算机专业及相关专业目录,计算机及相关专业目录

    公务员.事业单位.警察.选调生 招考专业目录 计算机及相关专业 本科计算机及相关专业 04015700 教育信息技术 04034200 现代信息技术教育 05034300 出版与电脑编辑技术 0504 ...

  5. 文科生报志愿可以学计算机吗,高考志愿填报时,文科生能申报计算机类相关专业吗?...

    对于高考志愿填报的问题,众多考生或多或少都有一些难以解决的问题,有人问到文科生是否能申报计算机类相关专业,今天小编就为各位考生详细解答这个问题. 高考志愿填报时,文科生能申报计算机类相关专业吗? 最先 ...

  6. 计算机专业大学生如何规划大学四年?

    前言 首先必须学好计算机专业四大核心课程:<数据结构>.<计算机网络>.<[计算机组成原理]>.<[计算机操作系统]>.在此之前呢,建议学习一门面向过程 ...

  7. 计算机相近相关专业职称,电子与智能化工程相关专业职称包括计算机、电子、通信、自动化、...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 电子与智能化工程相关专业职称包括计算机.电子.通信.自动化.电气等专业职称. 电子与智能化工程专业承包资质分为一级.二级. 1一级资质标准 1企业资产 净 ...

  8. 计算机相近相关专业职称,职称人员相近专业认定目录 - 范文中心

    江苏省建筑业企业资质 职称人员相近专业认定目录 (20150918版) 说明:此目录适用于本省省级和市级许可资质中对工程类职称人员职称和学历专业的相近专业认定:报部级许可资质仅供参考. 结构专业:土木 ...

  9. 【调剂】中国农业科学院 招收管科和计算机等相关专业考研调剂生

    点击文末的阅读原文或者公众号界面左下角的调剂信息或者公众号回复"调剂"是计算机/软件等专业的所有调剂信息集合,会一直更新的. 2020年中国农业科学院农业信息研究所智能农业科室拟招 ...

最新文章

  1. MySQL中的主键、唯一键、外键对比
  2. java最好的开发工具_IntelliJ IDEA Ultimate Edition 2018 最好的 Java 开发工具
  3. Eclipse+Maven配置
  4. LiveVideoStack主编观察02 / 附赠专属优惠码
  5. 数据库开发技术java方向_Java开发工程师(Web方向) - 03.数据库开发 - 第5章.MyBatis...
  6. HTML5笔记1——HTML5的发展史及标签的改变
  7. JavaScript监听手机物理返回键的两种解决方法
  8. 观察者模式Java内存管理进阶篇——如何避免内存泄漏
  9. .net反编译工具Reflector下载
  10. 计算机 在哪看是什么32位,怎么看电脑是32位还是64位?
  11. 微信小程序 加载 fbx 模型
  12. 中兴智能视觉大数据报道:张学友,你一定要多开演唱会啊!
  13. 微信 html5 声音,Html5-video ,播放视频有声音无画面(微信H5页面)
  14. 请检查下面的程序,找出其中的错误并改正,然后上机调试,使之能正常运行,从键盘输入,检查输出
  15. 2023年电工杯数学建模B题 人工智能对大学生学习影响的评价 具体建模过程 代码以及思路
  16. Aspose.Words开发者指南
  17. java的Stream流
  18. 关于NSIS自定义界面初步讲解(一)
  19. 使用ssh连接Linux服务器反应慢,配置DNS的问题
  20. 2021道路运输安全员考试每日一练单选题库

热门文章

  1. android gps 差分定位,基于Android的高精度GPS定位与土地测量应用设计
  2. python做报表汇总_python制作简单报表
  3. 【原创】IP摄像头技术纵览(六)---通过internet访问摄像头
  4. 华东师大计算机系博士几年,越来越多学校将博士由三年制改为四年制,未来博士生涯怎样规划?...
  5. OpenBLAS API
  6. markdown for 蝉知 2.1.1,简单修复移动端展示
  7. opencv-python错误:size.width0 size.height0 in function 'cv::imshow' 的解决方案
  8. 极速空间笔记本CPU天梯图(笔记本CPU性能排行)——跟小虫学电脑配置
  9. 阶乘-scratch2实现
  10. Android MediaCodec 完全解析