前言
为帮助转入计算机专业的同学以更短的时间,从原先专业过渡到计算机专业的学习,所以写下这篇文章。如有不恰当需要纠正的地方,可在下方评论区提出(毕竟只是个人见解,可能有失偏颇)。学习的方法也是偏向于读研深造,准备直接工作的同学,可能不太适合。下面让我们正式开始吧!^_^
能够转入计算机专业的同学,必定都是原专业中的佼佼者,首先欢迎你们加入计算机学院这个大家庭!不过在这里,要先给大家打一剂预防针:对于计算机学科的学习,不可只停留于学校里,课堂上所学习的知识;也不可只重应试的学习,而忽略对自己编程能力的培养。 计算机专业的学习,很大程度上靠的是自己,需要极强的自学能力。而在自学的过程中,难免会陷入很多误区,所以写这篇文章的目的,也是让大家避免重复走博主走过的弯路,从而白白浪费时间。尤其对我们转专业的学生来说,最缺的是Time
编程语言
“编程语言是控制计算机的一种方式,就像电脑的开机、关机、删除文件、打开文件。”——y总
编程语言的学习不是全部,不要在编程语言上花了好几个月,多用用它,自然而然就会了(大坑,写前头
)
刚转入计算机专业的你们,肯定会纠结,到底哪门语言才是最好的语言,甚至会把对编程语言的学习,当作计算机专业的全部。在这里强调一下,编程语言只是门语言,就像英语一样,是自己表达的工具,而具体你能表达出什么东西,看的是你自身的内功,也就是对计算机专业课的理解(具体有哪些后面说)。
这里简单列举出比较常用的语言,和博主听过的网课(点击蓝字直接跳转)看过的书,及其相对普遍用的多的场景:
但请注意,列举出来并不是让大家一门一门连着学完。作为转专业的学生,不推荐这么做,应该优先掌握好一门,横向学习其它专业知识。这里推荐C/C++
C/C++
普遍认为这是每一个计算机同学都要学的语言,并且应该放第一门。虽然正式的项目中很少用到它,但是它的语言特性,比如指针,内存管理,可以使我们更好地去理解计算机更底层的知识。并且这是算法竞赛(重要性后面说)中最推荐的一门语言
初学者还经常问的一个问题就是C和C++有什么联系,可以理解成C++包含了C语言,并且在C语言面向过程的基础上,加上了面向对象的特性。所以想节约时间的话推荐直接学C++,但是由于C++可以两种特性混用,所以实际学习时要在这点做好区分。不差时间还是扎实一点,从C到C++
- acwing语法基础课
- mooc浙大翁恺C语言 超赞,没话说,我看的第一门计算机网课
- 黑马C++ 正如它自己所说,确实是匠心之作。如果已经有C语言的基础了,可以从面向对象开始看,不过不推荐,建议从头过,尤其是指针,数组,字符串这些内容
- 《C Primer Plus》
- 《C++ Primer》(没有plus,不要买错了)
Java
主要运用在开发领域,如web后端开发。相比较于C++,它是一门完完全全的面向对象编程的语言
- 博学谷Java
- 《Java核心技术卷1》
Python
大数据处理,人工智能,爬虫,甚至也可以做开发。Python的实用性真的很强,尤其在现在的大环境下,如果想要打项目型比赛,基本上用的就是Python。学好Python,可以减少很多重复的劳动。但是单纯学习Python语言是做不到上面这些的,Python之所以出名,因为它现成的库有非常多,如numpy, pandas, matplotlib, pytorch, tensorflow, 等,这里就不一一介绍了
Matlab
数学建模比赛必会语言(某些特殊情况可以用Python代替)
我当时没有找到特别好的视频,但如果学过上面任一一门作为基础,相信再学Matlab也不是什么难事。看几个长的程序,就明白其大意了,因为只用于建模,所以也完全够用
专业课
计算机专业的核心专业课包括了数据结构、操作系统、计算机网络、计算机组成原理、数据库原理、算法设计、离散数学等等
其中上面的前4门又是考研408当中的课,如果想要稳妥的学,并且功利一点的话,可以直接搜B站上的王道考研课来看,但也可以选择观看一些经典的课或书籍。所以我推荐下面的书和视频,但也只涵盖部分作者深有体会的专业课。有些没有被推荐到的,大家B站选择高播放量的即可。
数据结构
核心中的核心,重要性就不多说了
- 《大话数据结构》:以最通俗的语言,学习最难的课程,推荐看!!!
- 《数据结构与算法C语言描述》:有基础了再看
- 《数据结构》:学校的用书,也还可以
- 数据结构与算法基础(青岛大学-王卓)
- 浙大陈越佬佬-数据结构
操作系统
Learn OS concepts by coding them!
- 《操作系统原理、实现与实践》配套视频,哈工大操作系统,力荐!国内高校与世界计算机强校接轨的教学方法
- 《深入理解计算机系统》(大黑书,但是要看很久,对转专业同学来说是硬伤,自行抉择)
- 《现代操作系统》
计算机网络
- 《计算机网络,谢希仁》(国内少有的好教材)
- 《TCP/IP详解 卷1:协议》(黑书个人更推荐这本)
- 《计算机网络:自顶向下》(这本讲的不够深)
机器学习
机器学习,以及深度学习都属于人工智能领域,大家如果选择读研,大概率会是相关方向。但不是很建议开始太早,尤其刚转到计算机,可以放到大二下以后,学完概统的时候。最好是在大三上学期
网课:
书籍:
- 《统计学习方法》 李航
- 《机器学习》周志华
- 《神经网络与深度学习》邱锡鹏
- 《动手学深度学习Pytorch》
吴恩达+李宏毅+李沐,三板斧。零基础从吴恩达开始,其它门槛太高容易走弯路。
竞赛
做计算机专业的三好学生:品德好,学习好,身体好(当然也很重要啦)
数学好,英语好,编程好
数学建模
国赛在每年的9月中旬,其余月份几乎每个月都有一场大大小小的比赛。
对于计算机系的同学,参加数学建模比赛还是相当有必要的。每年7-8月份,我们学校也会组织培训。这项比赛也很考验队友之间的配合
资料可B站搜清风,不说多好,但是很全
数学竞赛
在每年的10月底,即数学建模之后。计算机专业的同学要想走的更远,平时一定要重视数学的学习。参考书可以用绿书或者黄书,然后做真题。准备这个比赛比较看数学功底,短期内无法速成,需要长久积累。
算法竞赛(acwing)
友情链接:hai-AcWing算法学习计划
我们学校因为一些原因,没有acm比赛,但有天梯赛和蓝桥杯可以打,两个都在4月份。
但即使不参加比赛,算法的学习也是非常重要。学具体的某项技术可以以周为单位,但像数学、算法的学习,要以月甚至年为单位,所以学习的先后孰轻孰重就很明显。而如何看出一个人的计算机水平,主要就看其算法的掌握程度,如果能啃下算法,对于其它专业课的学习会非常的有帮助。并且快速掌握一门语言,最好的办法就是用它来做题。
算法的学习需要至少半年的沉淀,所以可以尽早开始,而平常如有闲暇时间,也可以花在算法上。
这里主要推荐一下平台及路径:
AcWing y总yyds !!!,犹豫就败北
- 语法基础课(半个月)
- 算法基础课(二至三个月)
- 算法提高课(大半年)
- 蓝桥杯C++AB组辅导课(一至两个月)
如果准备蓝桥,也可以把蓝桥AB辅导刷了。括号里的是推荐学习时长
同时完成课程后的练习题,需要完完全全地静下心来
(个人认为应该尽早注册这个平台开始学习,卷也要卷对地方。仁者见仁,智者见智吧!)
- 《算法笔记》
- 《算法竞赛进阶指南》
- 《挑战程序设计竞赛》
学习资源领取
学习资源的整合由18级闫学长牵头制作,全部资料上传于全球最大的“同性交友网站”——github
海南大学课程攻略共享计划
获取这个资源的第一步需要大家先学会用github,这也是每个计算机学生必会的技能
![](https://img-blog.csdnimg.cn/66e4121bfee24813a3383e87b39c7e84.png)
后话
最后希望大家养成写博客的习惯,本篇文章就是一个博客。可以在csdn上写,也可以选择自己搭建博客。写博客能够帮助自己更好地回顾知识,减少出现当时懂了,现在却不太记得的情况。
这里推荐一个视频,是CodeSheep up主(可以关注他,干货超多)搭建博客的流程,成果可点击此处
作为新时代的年轻人,我们生逢其时,也感到重任在肩,决心为本领域的发展贡献自己的绵薄之力。