大学计算机学习

核心课程,每个学校在课程设置是可能是存在差异的,但总体上框架应该是不变的。

 

最开始的第一门课应该是“C语言程序设计”,这基本上属于你日后一切学习的开始,简单说这门课程的主要目的和内容就是介绍一种计算机语言的语法内容,至于怎么学好它,之前的文章都谈过了,这里就不罗嗦了。

 

之后的课程会分为三条线,第一条线的第一门课程是“数据结构与算法”。这很简单,一些有了语言基础之后,为了更好的使用语言去解决问题,就必须学习结构知识和算法。至于怎么学好它,之前的文章也谈过了——请注意,如何学都不是本文的重点。本文的重点在于告诉你你将来都会学些什么以及该学些什么。

 

“数据结构与算法”的后续课程是什么?答案应该是《编译原理》。很奇怪吧?课程就是这样设计的,其实这个路线也不是我发明的,国外大学的CS Course的体系也是这么设计的。编译原理说白了就是介绍编译器如何工作的,是让计算机理解计算机语言的一种方法和理论。这个工作过程之中蕴含了大量的算法,而且是非常复杂的算法,很多人甚至认为编译原理是计算机专业本科阶段最难的一门课程。主要就是因为这里面的算法太复杂,当然也会用到很多结构,树可能是用得最多的。当然,这就是相当于是数据结构与算法课程的一个后续性课程,类似一道附加题。最近听一个学生说有些学校本科已经取消这门课了,我想应该是较少一部分学校的做法吧。不过,中国的学习并不太重视这门课倒是真的。一般课程设置就是一个学期左右的课时。但是一般的国外学校这门课都要学上1年,甚至两年之久。这条线路到编译这里就应该是终点了。

 

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

 

在你具有了一定C语言基础之后,除了前面讲的第一条路线以外,你已经可以开始下面这条路线的学习了。

 

为了更好地探究计算机系统的研究机制,在学习了C语言之后,下面一门需要学习的课程是“汇编语言和微机接口技术”,这门课程包含两部分的内容,一部分就是汇编语言,汇编是一种更底层的语言(相对于C而言),说白了它就是一种“用助记符描述的机器语言”。很多人刚学汇编的时候都觉得很复杂,因为它跟硬件紧密相关,就是那些个寄存器也够初学者糊涂一阵子的。这门课程的另外一部分内容是微机接口技术,目前国内高校这部分内容都是基于80X86系列芯片的。已经可以看到这门课其实涉及到了很多硬件的知识,其实还不止,关于I/O控制,寄存器,中断,这门课里都有体现的。

 

接下来要学习的内容就是《计算机组成原理与体系结构》。其实我特别奇怪,我在写学习路线1(也就是前一篇文章)的时候,有读者认为在学习C语言之前,或者在学习其他专业课程之前,最先要学的就是这个东西。我不知道大家是不是觉得大学第一门专业课就是这个,我觉得这么想的人是不且实际,信口开河的。这门课程还是比较深的一门课程,在汇编和接口之后安排这门课程是比较的。不过国外的一些先进的计算机教育体系确实也有在较开始的时候开设一门概论课来作为导引,有时候叫Computer
System Introduction,有时候叫Computer Culture,其实内容差不多,但作为计算机专业课程的导引课程,这些课程的设置里面已经设计到组原和OS的初步内容了。但这和ComputerStructrue & Architecture还是有区别的。

 

接下来的一门课程是《计算机操作系统》,如果外行听起来可能觉得这个课应该是学如何使用操作系统的吧,就像“WindowsXP 速成”?非也!这门课程是讲OS是如何设计的,或者说是如何实现一个OS(当然做要比说起来难多了)。之所以这门课程被安排在组原之后,那是因为这反映了一种自底向上的学习路线。操作系统当然是在计算机系统之上来搭建的。向调度啊、虚拟内存啊这些问题都是由操作系统来控制的。我最近所写的《代码揭秘》基本上是属于这条路线上的内容的,不同的是我采用了一种更贴合读者理解方式的描述,因为在讲述这些原理之前,我都是采用C语言实例来作为引子的。有空也推荐大家看看,应该学校里的图书馆是可以借到的。前一阵子一位四川大学的计算机青年教师给我写信谈起我这本书时,我才知道高校的图书馆里原理已经可以借到了。以上就是大学计算机课程学习的第2条路线,下面我们来讲最后一条路线。

 

最后一条路线属于应用型的,也就是说当你学完了基本的原理之后,一方面为了日后更好的工作,另一方面如果从事研究工作也可择其一而继续深入探究,那么最好总之要上升到一定应用层面的东西。

 

在你有了一定的C基础之后,学校可能会开一些面向对象程序设计方面的课程,可能是C++或者Java,因为面向对象的语言在实际开发中正广泛的被使用。无论是C++还是Java,跟C来说本质上都是语言,只不过他们多了一些OOP方面的特性。如何学好它们,我前面的文章中已经谈过,这里就不多言了。

 

接下来的一门课程应该是“数据库系统”,这门课不是教你怎么使用SQLSERVER或者DB2的,学校里的课程远没这么前沿。数据库系统这门课依然偏重更多理论,尽管数据库相比于组原和OS来说已经是上层建筑了。这门课讲的多是些数据库系统设计方面的原则,例如如何解决关系问题或者SQL语言等等。

 

再之后可能会学的课程是“计算机网络”,这门课里会更加系统的向你介绍网络方面的知识,TCP、UDP,HTTP这些名词会粉末登场。注意这门课一般不是教授你如何布网的,例如如何配置路由器这种东西一般是CCNA里面的内容了。这门课里讲的更多的是上层原理与协议。

 

以上就是一般的大学计算机课程学习的几条路线。他们彼此联系,共同作用。注意我这里讲的内容不是给你推荐学习方向,而是告诉你大学里会学什么,之间联系如何。从之前的文章评论里不难看出,有的同学好像根本没理解文章的意思,说自己好像更适合哪条路线的样子,其实适不适合哪条线的问题根本不存在,这些东西你都得学,既然学就要学好。本身就是一个体系的,怎么能做瞎子摸象的事情呢?现在CSDN学生大本营搞得不错,资源很多,访问量很大,但也能客观的看出浏览的人真的是分好多等的,有的是谦逊而好学的,有的则是蜻蜓点水的过客。浮躁之气甚嚣尘上,胸中无物自然谈吐轻浮,看什么都不求甚解,浅尝辄止,多少有些自以为是、妄自尊大了。这也是我在此开博四个月余来的感受吧。希望大家都能保持一颗平常心,戒骄戒躁,平和的埋头学习吧。

 

时间: 2025-01-20 09:40:24

大学计算机学习的相关文章

CCAI 2017 | 北京航空航天大学计算机学院副院长王蕴红:人工智能技术与艺术的鉴赏创作

大会第二天下午,北京航空航天大学计算机学院副院长王蕴红参与了[人工智能科学与艺术论坛]的讨论,并发表了<人工智能技术与艺术的鉴赏创作>主题演讲. 她详解了人工智能技术的优势.可发挥作用,及其可能对于艺术发展的影响.王蕴红表示:"人工智能技术的发展趋势中,艺术将成为其最难接近人类智能的部分",但其也有正反两面,一方面,艺术欣赏和训练软件将使得艺术学习更为便捷和低成本,艺术创作的辅助软件将使得艺术家效率更高:但另一方面,也提出疑问,用大概率的方法训练能否产生小概率事件的发生?原

前景-求各位大神给我个建议,我想来规划下大学的学习生活。

问题描述 求各位大神给我个建议,我想来规划下大学的学习生活. 本人学习物联网专业,目前大一,上个学期学习了C语言,这个,,学期学习C++,我在寒假时发现自己对编程感兴趣,所以想学习编程.... 本人对这方面了解不多,而且因为专业不是计算机,所以这些都只能靠自己摸索,我准备自学编程,想问问大家我该学习哪些方面的内容(上个学期学习了一学期的C语言,这个学期学习C++),最好能给我推荐几本适合我看的书,我最近还在考虑我是该继续把C语言钻研下去,同时跟着老师学习C++.还是专心学习C++呢! 解决方案

计算机学习系统问世 预示智能化时代到来

一位计算机科学家已经发表了一篇论文详细描述了计算机系统在观看了两分钟长的人类桌游比赛的视频之后如何成功赢得比赛.在处理了人类进行四子棋.五子棋.国际象棋等比赛视频剪辑的过程中,其中包括比赛胜利.平局和那些结果未知的比赛视频,计算机系统会借助视觉辨认系统识别棋盘.棋子和导致每一种结果的不同走法. 随后一个独特的公式会让系统来检测所有可行的移动,并且借助从所有可能的结果所收集到的数据来计算最合适的移动. 巴黎第七大学的卢卡斯-凯撒在留意到我们知识领域中的一个巨大空白之后开发了一种学习算法,他发现物体

计算机学习-python大神求解,百度不到,我是帮人问得,

问题描述 python大神求解,百度不到,我是帮人问得, 计算机学习-python大神求解,百度不到,我是帮人问得,-"> 解决方案 你这直接是作业啊 还是要别人自己动手吧

英文版书籍-跪求美国知名大学计算机专业所使用的教材

问题描述 跪求美国知名大学计算机专业所使用的教材 美国知名大学,例如哈佛,麻省理工,斯坦福等高校本科阶段所使用的计算机专业.软件工程专业的英文版计算机教材.希望能得知一二 解决方案 不全,欢迎大家补充 斯坦福的: <C程序设计的抽象思维>罗伯特著 加州大学伯克利分校 <计算机组织与设计>Hennessy著 <极限编程>Kent Beck著 <软件工程:实践者方法>Pressman著 伊利诺依大学厄班纳-香槟分校 <操作系统>Gary Nutt著

计算机学习-关于powerdesigner的提问

问题描述 关于powerdesigner的提问 新手,用powerdesigner画图,请问message format这个按钮在哪里,实在没找到.计算机学习-关于powerdesigner的提问-">

Facebook将指导计算机学习用户发表的任何内容

Facebook的人工智能语言处理引擎Deep Text.这一引擎利用了深度学习技术,指导计算机学习人类语言,可能给Facebook最热门的产品,例如Messenger和消息流,带来巨大的改变. Facebook应用机器学习团队工程总监胡赛因·梅哈纳(Hussein Mehana)表示:"在开发能够以智能的方式与人类沟通的机器领域,这是向前发展的重要一步." 例如,在Messenger中,Facebook的聊天机器人将利用Deep Text,模仿人类的聊天方式,而不仅仅是做出机械的回复

计算机学习速成法

一.学什么最容易由于现在的快速开发工具的不断推出,使得软件开发越来越容易,进入软件开发的门槛也越来越低.很多人在IDE工具的诱骗之下,快的十天,慢的半个月就可以进入所谓"程序员"的领域,成了一个所谓的"程序员".这对于IDE提供商来说是乐得合不拢嘴的事情,但是对于软件来说却是一个无形的打击.由于快速工具的盛行,很多人把开发看作小菜一碟,特别是很多在校的大学生,都认为现在教的内容一旦出了学校都已经是落伍,无形中产生了讨学的心理.今后的软件开发逐渐趋于两极化,一方面有越

计算机学习-计算机的小伙伴进来!

问题描述 计算机的小伙伴进来! 我最近在看操作系统,之前已经把c和数据结构看完了,还要准备哪些知识啊?感觉操作系统那本书是不是包含了汇编和计算机组成原理的知识啊? 解决方案 项目需要存储数据,需要了解数据库,文件输入输出等技术 解决方案二: 再看点网络基础的,可以研究下语言.开始做点小项目 解决方案三: 计算机网络,搞懂了TCP/IP,就可以做项目了,边做边学 解决方案四: 其实我是针对考研来说的,我准备考苏州大学的,初试考数据结构和操作系统概念,我担心学习操作系统概念那本书,学长一些其他书籍吗