分享

计算机学生应该是关注专业课的学习还是代码的练习?

 gfergfer 2023-09-19

首先本人想说一个符合事实,但很容易被忽视的观点:计算机专业的课程更多是围绕“计算机科学”来讲,而当下找计算机方面开发工作,更需要的是“工程”方面的技能。

什么叫“”科学”方面的技能?大学里的操作系统,编译原理,数据库原理,算法,微机组成结构等课程,当然还包括一些数据方面的课,这些专业课的设计目的,是让学生毕业后能设计(或改进)操作系统,数据库,再不济能设计或完善个算法,但实际工作中那些“工程”方面的技能包含哪些呢?

开发语言和基本的数据库语法,项目管理组件(比如git或maven等)的使用方式,分布式组件或工具库的使用方式,以及排查问题的方式。

当然计算机专业里也有开发语言甚至是架构方面的课程,但一方面所占的课时比较少,另一方面如果让一些没真实开发经验的老师来讲,学生也就学个api,根本没法用来干活。

这就导致了如下两个常见的现象,第一是本科学历,只要报个班,还真能入行IT,前些年靠此类培训班入行的情况大有人在,第二是很多计算机应届生,辛苦学了4年毕业后,还得去报个培训班才能找到工作。

所以回到主题上,计算机方面专业课包含的理论,其实大部分是用不到开发场景的,比如用到相对多的数据结构,开发中用的技术一般仅限于线性表和Map,顶多再带些树,论分量,顶多只占学习过程中的三分之一,至于网络通讯,了解个通讯模型和报文概念,应该真就应对一般开发了。

再说代码的练习,哪怕是课程设计,能用到真实开发场景里的技术也是非常有限,比如就说spring boot开发,大学阶段学习过程中,能把请求走通就行,但真实开发,一般会整合日志,单元测试以及各种组件。

所以在大学阶段,计算机专业的学习步骤,按优先级降序,应该做如下的排列。

1 考研,尤其是二本,更需要考研,为了考研甚至可以牺牲一些课程,这些课程到考试前突击一下即可。如果出于保研目的,可以去专研竞赛,如果不考研,竞赛的加成比想象中低很多。

2 如果不想考研,应该是考虑去实习,不论语言,不论技术,优先看重的是真实项目经验。这个应该是大三暑假就可以去找。

3 如果不考研,找工作时如果单凭学到的专业课技能,找工作会很吃力,哪怕没真实项目,至少也得准备些“工程”方面的技能,比如spring boot开发技术,python爬虫或机器学习技术,但找工作时真实项目经验非常重要。

4 比如你有半年真实项目的实习机会,姑且不论技术,但你有了这个壳子,就非常好包装。比如你实习只是打杂,干些基本的python活,但你至少知道项目开发的工具,比如jira,jenkins,以及项目开发的一些细节,比如敏捷开发,看日志等技能。此时哪怕你想找java或算法方面的工作,就用实习中积累的一些细节来证明有项目经验,外带自己看的技术,找工作的效率会高很多。

5 如果单纯去看专业课,这没用,上文也说, 专业课更多是科学理论,找工作更靠工程实践,多敲代码有些用,至少能证明自己有学习项目的经验,总比其它不少人只背面试题要好,但如果计算机应届生能在面试中展示真实项目技能,这个效果甚至比上培训班还好。

做个总结,计算机应届生,在校阶段,哪怕把专业课的书都背下来,把其中的知识点都掌握,外加会写c ,python,java等hello world类基本api的用法,其效果还真不如半年甚至3个月的实习经验,当然如果能考研成功,或者是考上更好学校的研究生,那么这真可以说是鲤鱼跃龙门了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多