写给想考到计算机专业的童鞋们【推荐教材,附学习计划】

转自:http://bbs.kaoyan.com/t3498000p1

本文原本想推荐给跨考到计算机专业童鞋们参考一下,但后来发现计算机本专业的童鞋也挺喜欢这篇文章,所以又加了一些内容。
本文并非复习计划贴,本人的复习计划贴于此处
http://bbs.kaoyan.com/t3484534p1

=======================================

今日看到一些非计算机专业的童鞋准备跨到计算机行业中,作为一名计算机毕业的老童鞋和在软件行业工作了6年的老员工,给这些童鞋提点专业课方面的建议,也就是“计算机学科专业基础综合”。

但需要注意,我也是2012考研的,所以我提的建议并非是以过来人的身份去说哪些是重点哪些不是重点,而是针对哪些基本上没学过计算机专业课的童鞋,引导一下统考中的课程都是什么,和其他课程的关联性。

统考分为四门功课:数据结构、计算机组成原理、操作系统、计算机网络

建议学习线路:
数据结构:C语言 → 离散数学 → 数据结构
计算机组成原理:数字逻辑设计 → 计算机组成原理
操作系统:计算机组成原理 → 汇编语言 → 操作系统
计算机网络:直接学就可以
上面的学习线路中列举了一些不考的课程,如果都学时间是不够的,但作为跨考的童鞋,为了能够理解专业课,有必要将这些课程中的某些关键知识看懂,究竟怎样看,下面的文字中有叙述。


推荐用书(共9本书,共计3217页,鸭梨很大):
数据结构教材:《数据结构(C语言版)》严蔚敏    清华大学出版社,334页
数据结构习题:《数据结构题集(C语言版) 》严蔚敏    清华大学出版社,234页
                          《算法与数据结构考研试题精析(第2版)》陈守孔  机械工业出版社,436页
计算机组成原理教材:《计算机组成原理(第2版)》唐朔飞    高等教育出版,428页
计算机组成原理习题:《计算机组成原理学习指导与习题解答》唐朔飞    高等教育出版,346页
操作系统教材:《计算机操作系统(第3版)》汤子瀛    西安电子科技出版社,393页
操作系统习题:《计算机操作系统学习指导与题解(第2版)》汤子瀛    西安电子科技出版社,243页
                          《操作系统学习指导和考试指导》李善平   浙江大学出版社,297页
计算机网络教材:《计算机网络(第5版)》谢希仁    电子工业出版社,402页
计算机网络习题:《计算机网络知识要点与习题解析》王慧强    哈尔滨工业大学出版社,349页
考研复习全书:《计算机专业基础综合考试指导全书》王道论坛  机械工业出版社,497页




数据结构:
四门功课中唯一一个涉及到高级语言算法的课程。在学习这门课之前,最好对C语言的语法、函数调用、指针、数组等有一个全面的了解,否则里面的算法根本看不懂。
有些刚跨到计算机上的童鞋,对C语言和数据结构这两门课究竟有啥区别还有疑问,实际上C语言教你的是如何使用编程语言,而数据结构则是上升到脱离编程语言的高度,探讨通过何种方式能够更加高效的解决运算问题,也就是算法,当然,有了算法后,如何将算法实现,还是要回归到编程语言,将算法描述出来。所以,数据结构的教材并不在乎依托于哪种编程语言的描述,关键在于算法的设计,只要算法设计好了,再套到某一种语言中去实现就可以了。当然,现在大多数教材,包括吹泡泡的严蔚敏老太太的书,都是用C语言描述的,这只是因为C语言是大多数童鞋入门学习的且非常规范的语言。
举个例子,如果把C语言比作人才的话,那么你学习C语言的目的就在于了解具体某个人才都具有什么样的才能,就好像是搞人力资源一样,是研究具体人的。而数据结构则脱离的具体的某个人才,领导向你提出了一系列当前面临的问题,你的工作就是谋划出都需要什么样的人通过怎样的职能机构划分去解决这些问题,只要你策划好需要哪种人就可以,而并不在于必须是张三李四等某个人才。
另外,这门课和《离散数学》关系密切,甚至可以说是离散数学的计算机算法表达,因为离散数学就是程序逻辑的理论基础,专门研究“与、或、非”逻辑运算(见下面的一个变态句子),并且离散数学本身的数学模型,比如树、图,在数据结构中都将用算法实现其存储与运算过程,所以数据结构是连接数学与计算机的一个桥梁,你将在这门课中明白数学原理最终将如何服务于计算机实现。所以如果是数学系相关专业的,这方面会占点优势,非数学系的,可以看看,有一定的理论基础即可。不用太深入研究,除非你去考北大这种专门考离散数学的学校。

计算机组成原理:
计算机专业的硬件基础课程,这门课需要记忆的内容很多,而需要记忆的内容往往不是很难的内容。
若论难点,那么其中的难点之一在于二进制算法,也就是这门课程开头的篇章,这是这门课中计算量最大的部分,也是最无聊的部分,在没有深入的了解计算机之前,你可能都不知道这部分在说些什么。其实这部分是整个计算机科学的核心基础,即二进制和逻辑运算“与、或、非”。无论是硬件课程还是数据结构这种算法课程,无不包含着逻辑的思想,可以说计算机整个就是一套逻辑。举个简单的例子,“我和小明或你和小李要么在明天或后天去你家里吃饭并且看看你的母亲要么大后天直接到你公司去找你”,这个变态的句子就是典型的逻辑运算,把它用算法描述出来就是“程序”,把它用电路表述出来就是“硬件”,数据结构解决的问题是前者,而计算机组成原理解决的就是后者。
另外,计算机原理,还有一个重点就是CPU原理(考试的重点可并不仅此一个),而这里面重点的重点是寄存器,之所以说它是重点,并非考试能占到多大份额,而是因为它和汇编语言密切相关,而汇编语言在下一门课程——操作系统中会用到的,所以CPU与寄存器是连接两门课程的桥梁,这个学不好,后面的操作系统的重要章节就会出问题。
计算机组成原理的前驱课程叫做“数字逻辑电路设计”,如果从来没有接触过计算机组成原理,可以先熟悉一些这门课中的内容,主要就是二进制算法、数字电路原理、数字电路元器件、译码器等,先了解这些后再看计算机组成原理,就可以扫除一些术语、原理上的障碍。

操作系统:
该课程并不是教你怎样用Windows(这个大家应该都知道哈),也不会具体的讨论那种操作系统平台,而是深入的探讨计算机是如何工作的。如果说计算机组成原理讲述了如何将一堆废铁搭建成有点用的一台机器,那么操作系统这门课就是剖析如何通过软件让这堆废铁活起来,所以这门课和计算机组成原理的关系密切,甚至章节上一一对应。
但这门课最为核心的两章应该是存储系统和控制系统,尤其是控制系统,还与汇编语言有一定关系,比如PV操作,生产者消费者问题。所以在学习操作系统之前,应该先完成计算机组成原理的学习,另外对汇编语言的语法有一定了解,汇编语言有一定难度,不需要深入研究,知道怎么进行逻辑运算就可以应付操作系统中的问题了。

计算机网络:
这是与其他三门课程相对独立的一门,对其他三门课程用的知识不是很多,可以独立复习。我个人认为这门课不难学,而且很多内容在日常操作电脑中也会遇到,比如IP地址、子网掩码、TCP-IP协议等,所以这门课门槛不高。这门课记忆的内容很多,需要运算的内容不多。实际上核心就是ISO-OSI的六层网络体系,把这个网络体系在脑中形成一个知识体系,而不要死记硬背,拿下这门课程并不难。

上面是我的一点愚见,由于专业课我还没有太深入复习,这些仅仅是凭借我原先上学以及这些年的工作的出来的结论,有助于学习,但未必有助于应试,想跨考到计算机的童鞋,可以权当参考了。
 

你可能感兴趣的:(职场,休闲,学习计划,计算机专业)