涨知识了,计算机科学与技术到底学什么?是不是很杂很广泛,很难学精?

计算机科学与技术到底学什么?
主干课程:就是如何书写代码以及代码如何在计算机上运行。
学习方向:
1、一般大一学C语言 (基础阶段)
大概掌握面向过程的程序设计思路
2、理解OOP(面向对象编程) (水平飞升阶段)
掌握继承多态,分装之后是一个aha moment
大多数的大型系统基本都是基于OOP思想设计的。
OOP是你掌握编程和控制系统复杂度的一个利器。
3、学会算法与数据结构 (代码提升的一大步)
指导什么时候用链表,用顺序表。用图,用树,
什么是B树,B+树,红黑树,为什么数据库要用B+树,为什么有些场景要用红黑树
4、学会操作系统原理 (代码提升的一大步)
当程序设计到一定阶段 想要继续提升和优化,就不许要深挖程序所在的平台-操作系统了。
明白操作系统底层的运作机理。如何调度程序能够让代码更高效。
如何并行,如何多进程,如何多线程
5、往下深挖编译器
深刻理解编程语言是如何转化为机器语言的。其中涉及到深刻的语言学知识。这些知识使你在面对真正的问题即语言之间的转化,该如何解决。这提携出计算机领域的博采众长,是人类知识的包库
6、计算机组成原理
更进一步深入挖掘计算机代码与硬件之间的关系。理解代码是如何在硬件上运行的。提供给学生压榨CPU性能。
7、其他很多分支
计算机网络,分布式系统,并行计算,计算机图形学,密码学,生物信息学,计算机视觉,语音识别、自然语言处理等等,这些课程看起来杂,其实恰恰是计算机丰富性的体现。
而这些分支,也从来不要求学生全部掌握,学生只需要选择其中一个领域深入进去学深学精即可。
CS核心技术栈(算法与数据结构、操作系统、计算机网络及三级组成原理四大基础)+深入某子方向才是计算机的正确学习方法。
想进入计算机相关领域,计算机科学是最好的选择,最正统的计算机专业。