百科问答小站 logo
百科问答小站 font logo



计算机科学与技术是什么专业是不是很杂很广泛很难学精? 第1页

  

user avatar   huo-hua-de-41 网友的相关建议: 
      

恰恰相反,计算机专业的范畴虽然广泛,但并不算很杂。相比,某些内容组织的乱七八糟的专业,更容易学精。而且大学课程的设置就已经为学生学精指了一条明路,不像某些专业如何学精简直就是一门玄学。

计算机专业的主干课程,就是如何写代码及代码如何在计算机上运行的这件事。

计算机专业的大学课程就已经指出了学习的方向:

1. 一般大一学C语言,大概掌握面向过程的程序设计思路。大多数非科班工科专业的计算机课程基本都停留在这阶段,无论用多少年MATLAB也不会改观(我用了8年matlab,我现在依然黑)。大多数脚本语言也都是这样,按着顺序把思路写下来,让计算机一步一步执行。

2. 理解OOP(面向对象编程)是水平提升的一大飞跃。掌握继承、多态、封装之后是一个aha moment,原来代码还能这么写,真牛X!现在大多数的大型系统基本都是基于OOP思想设计的,OOP是你掌握编程和控制系统复杂度的一个利器。

3. 学会算法与数据结构,也是代码提升的一大步。当你像洋葱一样拨开数据结构的层层外壳时,你对编程的理解就进入了一个新的阶段。什么时候用链表、什么时候用顺序表、什么时候用图、什么时候用树。什么是B数、B+树、红黑树?为什么数据库要用B+树,为什么有些场景要用红黑树。

4. 学会操作系统原理,也是代码提升的一大步。当程序设计到一定阶段,想要继续提升和优化,你就必须要深挖程序所在的平台 - 操作系统了。明白操作系统底层的运作机理,你才会明白,如何调度程序能够让代码更高效,如何并行、如何多进程,如何多线程。

5. 再往下深挖编译器,深刻理解编程语言是如何转化为机器语言的,其中涉及到深刻的语言学知识(乔姆斯基那套,牛逼的飞起来)。这并不是杂,而是在面对真正的问题时,即语言之间的转化,该如何解决?这也体现出计算机领域的博采众长,是人类知识的宝库。

6. 然后是计算机组成原理,更近一步深入挖掘计算机代码与硬件之间的关系,理解代码是如何在硬件上运行的,提供给学生压榨CPU性能、压榨GPU性能的能力。这不叫学精,什么叫学精?

7. 还有很多很多分支,计算机网络,分布式系统,并行计算,计算机图形学,密码学,生物信息学,计算机视觉,语音识别,自然语言处理等等,这可能让学生觉得有点杂。这恰恰是计算机丰富性的体现。而这些分支,也从来不要求学生全部掌握,学生只需要选择其中一个领域深入进去,学深学精即可。

说这么多,cs核心技术栈(算法与数据结构、操作系统、计算机网络、计算机组成原理四大基础) + 深入某子方向才是计算机的正确学习方法。




  

相关话题

  想裸写编译器,除了编译原理外还有那些资料可以参考?应该从什么开始写起?(用c/c++)? 
  计算机专业的学生怎样练习编程才能把编程学精通啊? 
  如何评价中科大实现了媲美人脑能效的类脑突触原型器件? 
  俄罗斯人编程为什么那么厉害? 
  个人计算机属于小型计算机吗? 
  18考生,考上同济大学车辆工程专业,但内心喜欢计算机专业,请问有必要转专业吗(车辆是同济王牌之一)? 
  摩尔定律是正确的么? 
  计算机专业中了一篇a会,大导师来抢一作了,我应该怎么办呢? 
  许多 985 大学的毕业生赚的没有二三本的计算机专业毕业生多,那他们为何还读 985 呢? 
  为什么很多人觉得计算机专业的会修电脑? 

前一个讨论
视频中的目标检测与图像中的目标检测具体有什么区别?
下一个讨论
如何通俗易懂地介绍 Gaussian Process?





© 2024-11-24 - tinynew.org. All Rights Reserved.
© 2024-11-24 - tinynew.org. 保留所有权利