因为经常有一些学弟学妹会问,可能学了一段时间的课程,但是并不了解自己在学什么,不知道学了有什么用,也不知道以后能做什么,对专业的学习感到非常的迷茫
对于课程所学的迷茫,主要是因为计算机的不同课程由不同的老师教学,又缺乏一个合适的机会把所学的内容和我们将要从事的计算机方向结合起来,于是产生了强烈的割裂感。(计算机相关方向左转计协wiki)
大部分人都是从高中的课程体系中高考升学的,也不可避免的会在大学课程的学习中沿用高中课程的学习思维。即“认真上课,考高分,然后毕业后自然而然会有一个很好的结果”。对于高中来说我们的课程所学内容基本就是我们高考所需的一切,而大学的课程体系则和高中有很大的不同。
此处用几张图表通俗易懂的表现一下,我们的大学课程,和我们所从事的计算机方向之间的关系。
对于同学们来说,无论是以后深造还是就业,都必然会往某个方向深入发展,而 “计算机方向的学习 = 对通用基础知识根据方向不同进行特化深入 + 某方向独有的特殊知识”。
林大计算机课程所做的工作是对一些通用基础知识的科普式入门。因为每个人会选择不同的计算机方向,所以从这个角度来看课程教学只维持在入门水平是一个合理的做法,这也给了大家更多自学的空间。
而“根据方向的不同对基础知识进行特化深入” 以及 “某方向独特的特殊知识的学习” 则是我们大学中 “大学大学大不了自学” 的那部分。如果缺少了这部分的学习,则必然会面临“毕业即失业的窘境”。因为仅仅将各种课程的入门知识背到100分是一个很尴尬的状态。
打个比方来说,对于数据库这门课程:
学校课程教的内容(这对前端、网络等方向是基本够用的) | 一些基础的使用:三大范式,sql语句怎么写等, |
---|---|
从事后端工作的同学需要另外学习的 | 一些进阶的使用以及部分的原理:不同类型的数据库(sql的、nosql的)、分布式集群、分库分表、锁、缓存等 |
从事基础架构工作的同学需要再另外学习的 | 数据库的各种功能底层到底是怎么设计与实现的,怎么从零去实现一个高性能的数据库 |
注:表格若显示不全可左右拖拽 |
这就是同一个课程在不同方向中深入程度的体现,我们需要根据自己方向的实际情况来决定学习的深度。
以上就是我所认为的林大计算机课程体系的本质,以及和我们所从事的方向之间的关系,某种意义上来说,也算回答了我们到底在学什么的问题。