我宣誓,我承诺,
          听从召唤,坚持抗疫,
    为打赢疫情防控阻击战贡献青春力量! 
    ---西南石油大学计算机科学学院
         学生第五党支部 龚涛

在应对新型冠状病毒传播的这场战役中,我们应该做一个有担当的青年,按照要求积极做好防护,减少外出,正好可以呆在家里,静心学习。今天在这里总结一下自己大学前两年的学习感想,同时也整理了一些资料,希望对同时学生党程序猿的你们能有所帮助。


时光飞逝,转眼间,面临考验和就业的选择,回顾前两年,自己在CS专业的学习上也花了一些心思和努力。

专业选择和专业认知

因为自己从小学开始一直对计算机很感兴趣,所以大学便应了自己的兴趣爱好,选择了计算机专业,虽然选择了这个专业,但是那时并不是很了解这个专业,进入大学后,在新生研讨课以及专业认知课上对专业有了一定的了解,但是自己还是没弄清楚专业的培养方案以及未来的职业规划。只是很迷茫,但还是对专业充满好奇。后来大二才发现,其实大一的时候,自己学的这方面的知识太少了,计算机、IT有很多领域,那时的我们仅仅略知一二,很难对自己的专业和职业规划有清晰的认知,只有我们不断学习这个领域新的东西,增长自己的知识和见识,才能更快、更好、更全面的对自己的专业有自己的认知和定位。

大一

那时候自己对编程很感兴趣,第一学期的重要专业课就是C语言程序设计基础,开学后便借着学长学姐的指点开始了C之路,不过我们班一些同学高三毕业暑假就已经开始了学习C语言编程,所以自己感觉差距还是很大。那时候我学习C的时候,一开始是看小甲鱼的视频,然后自己跟着敲,学习了一段时间后,感觉有那个味道,从函数开始就没看视频了,一方面觉得视频太慢、太啰嗦了,另一方面跟着视频缺少独立思考的时间,学计算机编程,逻辑思维很重要,其实完全可以跟着教材,边看边思考,敲书上的demo和课后习题,每一道题都要自己认真的练习。
最后可以去百度找一下C语言编程100题

C语言练习的差不多了之后(差不多是指能熟练的写出教材上每一道题的code),可以开始尝试数据结构,数据结构这门课一开始听很多人说比较难,所以自己难免会受影响,一开始就对这门课有所惧,所以自己当时学习数据结构时很久没有扎到方法,每次拿着教材看了前面两章,觉得链表那些太难了,根本记不住,也就没有继续学习的欲望,导致自己卡在了这个瓶颈。后来在CSDN上看到有博主推荐《大话数据结构》这本书,于是自己赶紧入手一本跟着学习,看了之后兴趣一下就来了,成功逆袭,实力推荐。数据结构注重理论思维,需要自己弄清楚每一种数据结构的思路和实现算法(实现算法不一定是可以运行的代码,只要能用自自然语言描述就可以),总之,对《数据结构》这门专业课的学习,一定要先理解,掌握原理,然后尝试自己去写实现算法(推荐C语言),然后对比网上大神的实现,慢慢掌握,数据结构也不是一朝一夕就能完全掌握的,需要不断的去回顾练习。

【资料分享】

大话数据结构:链接:https://pan.baidu.com/s/15siqtZRWc5-QppbIvqGXwA
提取码:y174


大二

自己大一的时候就这样按照专业安排,学了C语言和数据结构,仅仅学了这两门基础课,而且C掌握的又不是特别熟练,似乎也做不了什么所谓的项目,参加不了什么比赛,一般到这个时候,我们都会纠结自己该学点什么,因为方向很多,面向对象语言也有很多,Java、C++、C#、Python等等,到底学哪一种,一开始我们可能不知道去学哪一种,以上的编程语言计算机系的每个专业可能又学的不一样,我们不知道每一种可以做什么,其实很简单,每一个专业有不同的培养方案,想知道哪种语言可以做什么方向,你就去看一下那个专业的培养方案,看看所开设的课程自己是否感兴趣,我当时就是看了网工的培养方案,自己想做web开发,于是学了java语言,不过本专业要求c++,后来专业选修又选了c#,哈哈,仔细一看,一开始纠结学哪种语言,到最后可能我们因为一些没考虑到的原因都学了一个遍,不过也不是什么坏事,一方面,面向对象oop语法其实都差不多,当你熟练掌握其中一门时,其他的上手很快的,另一方面,当我们每一种语言都接触了,业余会找到自己最顺手的一门,就有更大的信心说服自己继续坚持下去。

我当时选了Java坚持下去,因为自己想做web开发,所以又需要jsp、servlet、mysql、tomcat等才能做基础web开发,当然还有前端的html、css、js、ajax、jquery这些,最后web部署需要linux,这些东西院系专业会开一些选修,这样自己也有目标去选,而不是看着一大堆选修,不知道选哪个。

大二的时候这些东西越早弄清楚越好,你能学到更多的东西,有了这些技能后,课程设计、校级比赛都不是什么难事,再找个大佬带带,省级、国家级学科竞赛、创新创业什么的也能上,这也是一个学习的过程,通过这些比赛,也能提升自己的专业技能,同时还会锻炼团队协作、人际交往等能力。

等有了这些项目经历和比赛经历,大二结束的暑假可以尝试去找实习练练,笔者去年就去了小米做后端开发实习,通过实习除了可以进一步提升编程能力,可以学习到新兴技术,还可以学习到如何制作简历、面试经验等等,这些都能展现你的综合能力。

【资料分享】

1、Java学习:链接:https://pan.baidu.com/s/1biTBknC4d0wEnmuqkhgY4A
提取码:k2bp

2、Linux学习Linux就该这么学

3、Python学习廖雪峰官网

4、前端学习:w3school、菜鸟教程

【编程建议】

1、学会使用GitHub、git等代码托管工具;

2、去GitHub上找一些基础的项目跟敲,思考实现逻辑,尝试修改;

3、编程软件推荐请参考我的博客:那些好用到手软的软件和网站(持续更新)


大三

暑假实习回来,实习过程学到了很多新兴技术,这时候应该算刚开辟的一篇新天地,还有更多的东西需要去学习和探索,针对性的学习一些新兴技术框架(比如Java的SSH、SSM、SpringBoot、SpringCloud,前端vue、react、node.js等技术),或者学习一些小程序开发知识,做一些具有实际意义的项目,锻炼团队管理能力、项目维护能力,大三我们更加需要自主学习,同时规划自己的职业生涯,考研or就业,在完成学校专业课程学习的同时,查漏补缺,巩固基础、提升算法能力(目前自己还在进行,也算给自己的安排吧)。

寒假在家我们可以在线完成我们未做完的项目,项目可以通过github协同开发,需要分离调试可以内网穿透测试,亦可以尝试使用一些在线办公软件来跟进项目进度、在线讨论等。也可以提前学习专业课程,巩固之前的课程知识等等。

【资料工具推荐】

1、微信小程序学习微信开发文档

2、github:远程代码托管

3、花生壳:内网穿透工具

4、飞书:字节旗下远程办公软件

【教材PDF】

1、计算机网络第7版-谢希仁:链接:https://pan.baidu.com/s/1kD9OCUvfZQgxTK7KMgmRXQ
提取码:chrh

2、计算机组成原理第二版:链接:https://pan.baidu.com/s/106m8YveGEesvllBXdH_f2A
提取码:u8at

3、操作系统第四版:链接:https://pan.baidu.com/s/1Nr8yufEYKNAOQTyxHnoJbw
提取码:s9ej


闲暇时间总结了自己的学习过程,以及自己的一些学习资料,虽然自己并不是什么厉害的任务,但是也是自己的亲身经历,写这些一方面记录自己的学习感悟,另一方面,也希望对同是学生党程序猿的你有一些帮助吧,以上仅个人意见,学习方式方法因人而异,如有疑问,也可评论区交流。

版权声明:本文为gongsir原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/gongsir/p/study.html