第一节:大学计算机体系结构

作者: 九歌城堡 | 来源:发表于2021-11-12 01:56 被阅读0次

    如果你是一个计算机相关专业的低年级学生,如果你是一个爱好计算机爱好者,那么这篇文章就是为你写的。

    进入大学之后,你肯定会对所要学习的内容产生一种深深的疑问,这个东西到底有什么作用,值得我们在这样美好的年纪里,耗尽心思去学习他。难道我以后买菜算账需要使用微积分,难道我家里安装个插头需要懂电气工程,每个专业的学生都会对自己要学习要考试的内容产生深深的疑问。

    我曾一度认为大学里还在用51单片机做教学,真是low到家了,曾大言不惭的宣扬大学教育需要改革。然而在之后求学就业的十多年里,我曾不止一次惊奇的发现,以前口口声声抱怨的专业课,在实战中是多么重要。

    这是我一直想写的东西,我想讲透的不仅仅是核心计算机课程,更重要的是,我想要分析清楚这些课程之间的关系,以及它到底讲得是些什么东西,对未来的专业技能有什么帮助。注意我这里所说的是通常情况下的核心课程,每个学校在课程设置上是存在差异的,但总体的框架应该都是差不多的。

    我想将这些课程最终组成一个完整而庞大体系,一点点剖析给你看,让你知道,为什么这里有一块儿砖,那里有一个草坪,最终又是怎么样组装成一座让人惊艳的高级城堡。

    最开始的第一门课毫无疑问应该是“C语言程序设计”,这基本上属于你日后一切真正计算机学习的开始。这门课程的主要内容就是介绍一种计算机语言的语法内容,让你知道原来计算机除了玩儿游戏上网之外,还可以用来进行编程,我相信绝大多数人都是在这一刻才知道编程这个概念的,尽管我们能够做的就是计算加减乘除之类的基本运算,再就是输出个“hello world”。至于怎么才能学好它,会在另外一个系列里会仔细分解。

    之后的课程会分为三条线路:

    第一条线路我称之为【算力之路】

    第一条线的第一门课程是“数据结构与算法 ”

    这很好理解,有了一些语言基础之后,这个基础指的是你能看懂基本程序,也能够编写简单的代码。为了更好的使用编程语言去解决实际问题,就必须学习数据结构和算法,基本的数据结构,像链表、堆栈、队列、结构体等这些基本的数据单元,以及10大经典排序算法、5大经典算法等,会伴随你的整个职业生涯。这个过程是锻炼自己逻辑思维的过程。

    至于怎么才能学好它,会在另外一个系列里会仔细分解。请注意,如何学不是这个系列的重点,这个系列的重点在于告诉你,将来都会学些什么以及应该学些什么。

    第一条线的第二门课程是是“编译原理”

    编译原理说白了就是介绍编译器如何工作的,是让计算机理解计算机语言的一种方法和理论,或者说就是探究如何高效的将程序翻译成计算机能够执行的指令的过程。这个工作过程之中蕴含了大量的算法,而且是非常复杂的算法,一度让很多同学认为编译原理是计算机专业本科阶段最难的一门课程。

    这里面的算法不仅多而且复杂,当然也会用到很多结构,树可能是用得最多的。所以这就是相当于是数据结构与算法课程的一个后续性课程,类似一道附加题。算力这条线路到编译这里就应该是终点了,今天大火的大数据、人工智能等等,其实说到底也就是数据结构和算法的实际应用。

    下面我们来谈谈大学计算机课程学习的第二条路线。

    第二条路线我称之为【产品之路】

    为了更好地探究计算机系统的实现原理,在入门了C语言之后,第一门课程是“汇编语言和微型计算机接口技术”

    这门课程包含两部分的内容,一部分就是汇编语言,现在大学一般用51单片机和80X86。汇编是一种更底层的语言(相对于C而言),说白了它就是一种“用助记符描述的机器语言”,你可以理解为一本字典,看着ADD,你知道是加法,看到SUB,你知道是减法。很多人刚学汇编的时候都觉得很复杂,因为它跟硬件紧密相关,就是那些寄存器、内存地址,让人很头疼。

    这门课程的另外一部分内容是微型计算机及其接口技术,目前国内高校这部分内容主要还是基于51单片机和80X86系列芯片的。这门课其实涉及到了很多硬件的知识,不仅包括计算机的核心部件,控制器和运算器,还包括内存、总线等,关于I/O控制,寄存器,中断这些东西,这门课里也都有体现。

    第二门课程就是“计算机组成原理与体系结构”

    如果说微型计算机及其接口技术为我们讲解了计算机领域的基本硬件模块,那么计算机组成原理与体系结构就是展示了一个完善的计算机系统,他包括哪些组成部分,如何有效的进行工作。

    第三门课程是“计算机操作系统”

    如果外行听起来可能会觉得这个课应该是教如何使用操作系统的吧,就像“WindowsXP速成”?当然不是这么简单!这门课程是讲OS是如何设计和运作的,或者说是如何实现一个OS(当然做要比说起来难太多了)。

    这门课程之所以被安排在组成原理之后,是因为这反映了一种自底向上的学习路线。操作系统是在计算机系统之上来搭建的。有了基本的硬件结构,才能完成数据的计算、存储、控制等基本动作,而操作系统的核心功能:内存管理、任务管理、文件管理等等,也是通过一系列的算法和方法,让硬件资源得到更加充分的利用,保障整个软硬件系统稳定可靠的允许。

    这就是大学计算机课程学习的第2条路线,这条路可以看到和计算机硬件有很紧密的联系,所以,很大部分走这条路的人都进入了设备型企业,比如说做电子闹钟、游戏机、银行取款机,特点就是跟具体的设备产品打交道,有具体的硬件和配套软件。下面我们来讲最后一条路线。

    最后一条路线属于应用型的,我称之为【应用之路】

    在你有了一定的C语言基础之后,学校可能会开一些面向对象程序设计方面的课程,可能是C++,也可能是Java,因为面向对象的语言在实际开发中正广泛的被使用。但无论是C++还是Java,跟C来说本质上都是语言,只不过他们多了一些OOP方面的特性,就像中文和英文,外形看上去不太一样,但都是用来进行交流的。

    接下来的一门课程应该是“数据库系统 ”

    这门课学校里教的大部分是MySQL,更加偏重理论,毕竟数据库相比于计算机硬件和OS来说已经是上层建筑了,变化很快。这门课讲的多是些数据库系统设计方面的原则,和基本的数据库操作。

    再之后可能会学的课程是“计算机网络”

    这门课里会更加系统的向你介绍网络方面的知识,TCP、UDP,HTTP这些名词会粉末登场。注意这门课一般不是教授你如何布网的,这门课里讲的更多的是上层原理与协议,或者说目前互联网的运作机制。

    我们今天能够登录的绝大多数网站,大多是JAVA的前端,数据库系统存储数据,就像你打开手机里的银行APP,他的前端为你展示了优美的欢迎界面,可能还有动态的效果动画;你看不见的时候,他已经去后台数据库里取出了你的账户余额,为你进行了展示,从手机去银行数据库读取数据的过程,就是通过互联网,用的可能就是互联网的TCP协议。

    以上就是一般的大学计算机课程学习的几条路线。他们彼此联系,共同作用,也正是这些基本的技术,打造了如今这个丰富多彩的互联网世界。学习的过程往往会遇到困难,痛苦也是难免的,但还是希望你不要放弃,坚持不懈,定会有更好的收获。

    相关文章

      网友评论

        本文标题:第一节:大学计算机体系结构

        本文链接:https://www.haomeiwen.com/subject/kbjnzltx.html