非科班自学计算机需要学习什么内容?
前言
非计算机专业,又想通过自学找到计算机相关工作的同学还是很多的。并且这条路也是可行的,毕竟计算机专业的同学也要自学。
一、方向>语言的选择
其实在校生如果你打算学计算机的话,我建议是C>C++>Java…这样的顺序,因为你们有大把的时间可以自学。如果说已经毕业了想要抓紧学计算机然后就业的话,这样是建议直接学Java。
1.1 语言vs方向
很多在门外的人觉得编程语言=工作,其实大错特错了,Java工程师,也只不过代表的是Java为主语言的这类的工程师,但是Java实际上的工作方向为:企业级系统开发、游戏方向开发、前端开发…所以语言不是计算机的方向,要通过方向来选择计算机语言。
以下方向仅供参考:
前端:前端更在乎的是用户体验和交互,技术更新迭代快,要学HTML+CSS+Js; 后端:主要是不同的后台有不同的语言,主要是开发语言(建议C++/Java)+技术框架; 数据库:也称为DBA,主要是维护数据库,深入掌握Mysql、Oracle,SqlEerver等; 嵌入式:更适合自动化专业的伙伴,主要用C语言和C++; 机器学习方向:本科慎入,建议考研后选择该专业。
1.2 重要观点!
程序是什么?— 计算机组成原理。 程序怎么被翻译?— 编译原理。 程序怎么执行?— 操作系统的范畴 怎么利用别人的成果来实现更好的数据组织?— 数据库相关 怎么保证程序更容易维护和可读?— 这是设计模式和代码规范 所以计算机组成原理、数据结构与算法、操作系统和计算机网络非常重要!
二、自学方法
其实科班和非科班最大的自学差别就是计算机专业的同学们有课表,自学的同学不知道该学习什么。好像有一个APP叫超级课程表,可以看到其他专业同学们的课程安排。这个时候作为我们自学的参考就行了。
链接汇总了大学四年计算机专业需要自学的内容,还有一些考研的建议,想学计算机的同学们一定要看。
另外说到计算机相关基础推荐书籍:
《计算机原理》->《计算机操作系统》->《编译原理》->《计算机网络》。
如果自学的伙伴觉得这些内容非常枯燥的话,那么b站大学有很多名校老师讲的基础录播,大家可以搜索找一个自己比较喜欢,听得下去的老师。但是这种名校老师课的缺点就是没资料,所以你们还是要买书学习。
最后一边学习一边写代码非常重要,很多过来人会说“量变引起质变”说的就是代码量。小练习+项目重要,要通过练习题举一反三。至于项目的学习,你们要先学会玩转GitHub: