计算机专业的大一学生该看什么书

本人是计算机专业的大一新生,现阶段除了学习C语言外想要自学本专业的相关知识,可是不知道该学些什么,哪位大神可以为我解答一下啊,希望可以推荐几本书,拜托拜托。... 本人是计算机专业的大一新生,现阶段除了学习C语言外想要自学本专业的相关知识,可是不知道该学些什么,哪位大神可以为我解答一下啊,希望可以推荐几本书,拜托拜托。 展开
 我来答
手机用户63732
2014-11-12 · TA获得超过250个赞
知道答主
回答量:109
采纳率:0%
帮助的人:120万
展开全部
最开始的第一门课应该是“C 语言程序设计”,这基本上属于你日后一切学习的开始,
简单说这门课程的主要目的和内容就是介绍一种计算机语言的语法内容,至于怎么学好它,
之前的文章都谈过了,这里就不罗嗦了。
之后的课程会分为三条线,第一条线的第一门课程是“数据结构与算法”。这很简单,
一些有了语言基础之后,为了更好的使用语言去解决问题,就必须学习结构知识和算法。至
于怎么学好它,之前的文章也谈过了——请注意,如何学都不是本文的重点。本文的重点在
于告诉你你将来都会学些什么以及该学些什么。
“数据结构与算法”的后续课程是什么?答案应该是《编译原理》。很奇怪吧?课程就
是这样设计的,其实这个路线也不是我发明的,国外大学的CS Course 的体系也是这么设计
的。编译原理说白了就是介绍编译器如何工作的,是让计算机理解计算机语言的一种方法和
理论。这个工作过程之中蕴含了大量的算法,而且是非常复杂的算法,很多人甚至认为编译
原理是计算机专业本科阶段最难的一门课程。主要就是因为这里面的算法太复杂,当然也会
用到很多结构,树可能是用得最多的。当然,这就是相当于是数据结构与算法课程的一个后
续性课程,类似一道附加题。最近听一个学生说有些学校本科已经取消这门课了,我想应该
是较少一部分学校的做法吧。不过,中国的学习并不太重视这门课倒是真的。一般课程设置
就是一个学期左右的课时。但是一般的国外学校这门课都要学上1 年,甚至两年之久。这条
线路到编译这里就应该是终点了。
下面我们来谈谈大学计算机课程学习的第二条路线。
在你具有了一定C 语言基础之后,除了前面讲的第一条路线以外,你已经可以开始下
面这条路线的学习了。
为了更好地探究计算机系统的研究机制,在学习了C 语言之后,下面一门需要学习的
课程是“汇编语言和微机接口技术”,这门课程包含两部分的内容,一部分就是汇编语言,
汇编是一种更底层的语言(相对于C 而言),说白了它就是一种“用助记符描述的机器语言”。
很多人刚学汇编的时候都觉得很复杂,因为它跟硬件紧密相关,就是那些个寄存器也够初学
者糊涂一阵子的。这门课程的另外一部分内容是微机接口技术,目前国内高校这部分内容都
是基于80X86 系列芯片的。已经可以看到这门课其实涉及到了很多硬件的知识,其实还不
止,关于I/O 控制,寄存器,中断,这门课里都有体现的。
接下来要学习的内容就是《计算机组成原理与体系结构》。其实我特别奇怪,我在写学
习路线1(也就是前一篇文章)的时候,有读者认为在学习C 语言之前,或者在学习其他专
业课程之前,最先要学的就是这个东西。我不知道大家是不是觉得大学第一门专业课就是这
个,我觉得这么想的人是不且实际,信口开河的。这门课程还是比较深的一门课程,在汇编
和接口之后安排这门课程是比较的。不过国外的一些先进的计算机教育体系确实也有在较开
始的时候开设一门概论课来作为导引,有时候叫Computer System Introduction,有时候叫
Computer Culture,其实内容差不多,但作为计算机专业课程的导引课程,这些课程的设置
里面已经设计到组原和OS 的初步内容了。但这和Computer Structrue & Architecture 还是有
区别的。
接下来的一门课程是《计算机操作系统》,如果外行听起来可能觉得这个课应该是学如
何使用操作系统的吧,就像“WindowsXP 速成”?非也!这门课程是讲OS 是如何设计的,
或者说是如何实现一个O S(当然做要比说起来难多了)。之所以这门课程被安排在组原之后,
那是因为这反映了一种自底向上的学习路线。操作系统当然是在计算机系统之上来搭建的。
向调度啊、虚拟内存啊这些问题都是由操作系统来控制的。我最近所写的《代码揭秘》基本
上是属于这条路线上的内容的,不同的是我采用了一种更贴合读者理解方式的描述,因为在
讲述这些原理之前,我都是采用C 语言实例来作为引子的。有空也推荐大家看看,应该学
校里的图书馆是可以借到的。前一阵子一位四川大学的计算机青年教师给我写信谈起我这本
书时,我才知道高校的图书馆里原理已经可以借到了。以上就是大学计算机课程学习的第2
条路线,下面我们来讲最后一条路线。
最后一条路线属于应用型的,也就是说当你学完了基本的原理之后,一方面为了日后更
好的工作,另一方面如果从事研究工作也可择其一而继续深入探究,那么最好总之要上升到
一定应用层面的东西。
在你有了一定的C 基础之后,学校可能会开一些面向对象程序设计方面的课程,可能
是C++或者Java,因为面向对象的语言在实际开发中正广泛的被使用。无论是C++还是Java,
跟C 来说本质上都是语言,只不过他们多了一些OOP 方面的特性。如何学好它们,我前面
的文章中已经谈过,这里就不多言了。
接下来的一门课程应该是“数据库系统”,这门课不是教你怎么使用SQL SERVER 或者
DB2 的,学校里的课程远没这么前沿。数据库系统这门课依然偏重更多理论,尽管数据库
相比于组原和OS 来说已经是上层建筑了。这门课讲的多是些数据库系统设计方面的原则,
例如如何解决关系问题或者SQL 语言等等。
再之后可能会学的课程是“计算机网络”,这门课里会更加系统的向你介绍网络方面的
知识,TCP、UDP,HTTP 这些名词会粉末登场。注意这门课一般不是教授你如何布网的,
例如如何配置路由器这种东西一般是CCNA 里面的内容了。这门课里讲的更多的是上层原
理与协议。
以上就是一般的大学计算机课程学习的几条路线。他们彼此联系,共同作用。注意我这
里讲的内容不是给你推荐学习方向,而是告诉你大学里会学什么,之间联系如何。从之前的
文章评论里不难看出,有的同学好像根本没理解文章的意思,说自己好像更适合哪条路线的
样子,其实适不适合哪条线的问题根本不存在,这些东西你都得学,既然学就要学好。本身
就是一个体系的,怎么能做瞎子摸象的事情呢?现在CSDN 学生大本营搞得不错,资源很
多,访问量很大,但也能客观的看出浏览的人真的是分好多等的,有的是谦逊而好学的,有
的则是蜻蜓点水的过客。浮躁之气甚嚣尘上,胸中无物自然谈吐轻浮,看什么都不求甚解,
浅尝辄止,多少有些自以为是、妄自尊大了。这也是我在此开博四个月余来的感受吧。希望
大家都能保持一颗平常心,戒骄戒躁,平和的埋头学习吧。

这是我看过的文章,希望对你有帮助!
百度网友c39a35530
推荐于2017-11-26 · TA获得超过1046个赞
知道小有建树答主
回答量:558
采纳率:0%
帮助的人:281万
展开全部
学好基础的内容就行了。大一好好学数学。有时间可以上论坛看看,你才能知道你喜欢什么,然后又针对性的去做。其实你能把上课的只是学好就可以了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式