首页 > 精品范文库 > 13号文库
浅谈计算机学科以及如何学好专业
编辑:星月相依 识别码:22-554621 13号文库 发布时间: 2023-07-02 10:03:27 来源:网络

第一篇:浅谈计算机学科以及如何学好专业

浅谈计算机学科以及如何学好专业

好的学习计算机的方法。

关键词:计算机、学习方法、研究方向 姓名: 班级: 学号:摘要:计算机领域知识覆盖面广,跟新速度快,要想全面、切实的掌握相关的计算机知识,我们必须有良

0 引言:伴随着新世纪钟声的敲响,我们真正跨进了以计算机为主要学习、工作、生活手段的信息时代。掌握计算机应用技术不仅是每个人的基本素质,也是今后谋生的重要技能。多年实践表明,学习“人类通用智力工具”,掌握有关计算机知识与技能会对提高学生的智力与能力,促其成长与成才大有益处。那么,怎样才能使学生学好计算机呢?首先要分析学习的对象,要讨论学习的目标。对象不同方法不同,目标不同要求不同。计算机有如下六个独特之点:

1、是最现代化、最先进的高科技产品;

2、是人人都可以拿来使用的通用智力工具;

3、不仅是可直接面对的机器,而且是可潜心进行研究探索的学科;

4、它不仅是可以让人摆布,还能与人交流,给人忠告与建议;

5、如果将它连在网络上,它还能营造一种新的全球网络文化氛围;

6、它发展速度极快,无论是硬件还是软件,新东西层出不穷,让人感到常学常新。面对这种全新的科技成果及其所包容的学科,必须有独特的行之有效的学习方法。树立“学习为主”、“学以致用”的学习观念 :进入大学以后,生活的环境发生了很大变化,我们由一个见识、交往、活动较为狭窄的天地进入到一个见识较为广博,交往活动较为宽阔的天地;由上课、作业、考试及活动均由老师统一安排,转化为这一切都需要自己设计和安排。因此部分同学就会因为脱离了一定的束缚,在大学期间放任自流。导致生活无规律、学习也不重视,因此,我们应该充分认识到我们来到大学仍然应以学习为主,正确的对待学习与其他活动之间的关系。同时,还要注重“学以致用”这一点。我们无论是学习一个应用软件,如World或PowerPoint等,还是学习一门语言,如即将开设的C语言或是C++语言等,我们都应该要敢于动手实践,而且要勤于动手实践。有人曾经这么说过:“上机时间的多少与计算机应用的水平成正比。”名扬海内外的软件WPS的作者求伯君先生曾在一个星期内写出一万行程序代码;而有的计算机专业学生,学了几年电脑,在键盘上敲过的程序代码总数不过几千行。没有量变,哪来的质变?没有实践的积累,哪来的水平的提高?

当然,开始时,每个人都难免会犯些低级错误,但当你把每个错误都解决了,就会受益匪浅。在实践过程中,我们应不断向自己提问题,带着疑点去学习,即使一是解决不了也没关系,当你在所学的领域内知识积累到一定程度是,问题就会自然迎刃而解了。只有多实践,才能巩固消化所有的知识,才能发现问题并感受到解决问题的快乐。确定正确的学习目标:计算机科学的研究范畴包括了计算机理论、硬件、软件、网络及应用等,但按照研究的内容,也可以划分为基础理论、专业基础和应用三个层面。在这些研究领域中,我们有结合自身情况,确定正确的学习目标,做到有的放矢。

一﹑计算机理论的研究内容:

(1)离散数学。由于计算机所处理的对象是离散型的,所以离散数学是计算机科学的基础,主要研究数理逻辑、集合论、近世代数和图论等。

(2)算法分析理论。主要研究算法设计与分析中的数学方法与理论,如组合数学、概率论、数理统计等,用于分析算法的时间复杂性和空间的复杂性。

(3)形式语言与自动机理论。研究程序设计及自然语言的形式化定义、分类、结构等有关理论以及识别各类语言的形式化模型(自动机模型)及其相互关系。

(4)程序设计语言理论。运用数学和计算机科学的理论研究程序设计语言的基本规律,包括形式语言文法理论、形式语义学(如代数语义、公理语义、指称语义等)和计算机语言学等。

(5)程序设计方法学。研究如何从好结构的程序定义出发,通过对构成程序的基本结构的分析,给出能保证高质量程序的各种程序设计规范化方法,并研究程序正确性证明理论、形式化规格技术、形式化验证技术等。

二﹑计算机硬件的研究内容

(1)元器件与储存介质。研究构成计算机硬件的各类电子的、磁性的、机械的、超导的、光学的元器件和存储介质。

(2)微电子技术。研究构成计算机硬件的各类集成电路、大规模集成电路、超大规模集成电路芯片的结构和制造技术等。

(3)计算机组成原理。研究通用计算机的硬件组成以及运算器、控制器、存储器、输入和输出设备等各部件的构成和工作原理。

(4)微型计算机技术。研究目前使用最为广泛的微型计算机的组成原理、结构、芯片、接及其应用技术。

(5)计算机体系结构。研究计算机软硬件的总体结构、计算机的各种新型体系结构(如并行处理机系统、精简指令系统计算机、共享储存结构计算机、阵列计算机、集群计算机、网路计算机、容错计算机等)以及进一步提高计算机性能的各种新技术。

三﹑计算机软件的研究内容

(1)程序设计语言的设计。根据实际需求设计新颖的程序设计语言,即程序设计语言的此法规则、语法规则和语义规则。

(2)数据结构与算法。研究数据的逻辑结构和物理结构以及它们之间的关系,并对这些结构四年公益相应的运算,设计出实现这些运算的算法,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。常用的数据包括:线性表、栈、队列、串、树、图等。相关的常用算法包括:查找、内部排序、外部排序和文件管理等。

(3)程序设计语言翻译系统。研究程序设计语言翻译系统(如编译语言)的基本理论、原理和实现技术。包括:此法规律和语法规律的形式化定义、程序设计语言翻译系统的体系结构及其各模块(如词法分析、语法分析、中间代码生成、优化和目标代码生成)的实现技术。

(4)操作系统。研究如何自动地对计算机系统的软硬件资源进行有效的管理,并最大限度地方便用户。研究的内容包括:进程管理、处理机管理、存储去管理、设备管理、文件管理,以及现代操作系统中的一些新技术(如多任务、多线程、多处理机环境、网络操作系统、图形用户界面等)。

(5)数据库系统。主要研究数据模型以及数据库系统的实现技术。包括:层次数据模型、网络数据模型、关系数据模型、E---R数据模型、面向对象数据模型、给予逻辑的数据模型、数据库语言、数据库管理系统、数据库的存储结构、查询处理、查询优化、事务管理、数据库安全性和完整性约束、数据库设计、数据库管理、数据库应用、分布式数据库系统、多媒体数据库以及数据仓库等。

(6)算法设计与分析。研究计算机领域及其他相关领域中的常用算法的设计方法,并分析这些算法的实践复杂性和空间复杂性,以评价算法的优劣。主要内容包括:算法设计的常用方法、排序算法、集合算法、图和网络的算法、几何问题算法、代数问题算法、串匹配算法、概率算法和并行算法等以及对这些算法的时间复杂性和空间复杂性的分析。

(7)软件工程学。是指导计算机软件开发和维护的工程学科,研究如何采用工程的概念、原理、技术和方法来开发和维护软件。包括:软件生存周期方法学、结构化分析也设计方法、快速原型法、面向对象方法、计算机辅助软件工程(CASE)等,并且详细论述在软件生存周期中各个阶段所使用的技术的描述工具。

(8)可视化技术。可视化技术是研究如何用图形来直观地表征数据,即用计算机来生成、处理、显示能在屏幕上逼真运动的三维形体,并能与人进行交互式对话。他不仅要求计算结果的可视化,而且要求过程的可视化。可视化技术的广泛应用,是人们可以更加直观、全面地观察和分析数据。

四﹑计算机网络的研究内容

(1)网络结构。研究局域网、远程网、Internet、intranet等各种类型网络的拓扑结构和构成方法及接入方式。

(2)数据通信与网络协议。研究实现连接在网络上的计算机之间进行数据通信的介质、原理技术以及通信双方必须共同遵守的各种规约。

(3)网络服务。研究如何为计算机网络的用户提供方便的远程登陆、文件传输、电子邮件、信息浏览、文档查询、网络新闻以及全球范围内的超媒体信息浏览服务。

(4)网络安全。研究计算机网络的设备安全、软件安全、信息安全以及病毒防治等技术,以提高计算机网络的可靠性和安全性。从多渠道学习计算机知识:计算机领域的知识覆盖面广,更新速度快,要想仅凭借教材的内容就掌握号相关知识是很困难的,因此,我们应学会从多方面获取计算机知识。一﹑最基本的渠道——书

总有人会问,学习新的计算机知识有无捷径可走,答案是肯定的。一本好书既是通向某一知识领域的捷径,还是你百问不厌的老师。当你苦思冥想的问题在好书中找到答案时,你会有“众里寻它千百度”的感觉。潜心钻研某一方面的技术,那就多选几本,因为不同版本的书的侧重点可能有所不同。既要有侧重理论的,还要有侧重应用的。侧重应用的书中应有大量实例,还要附光盘,要不然,也许你费半天劲做的东西出不来,或是程序根本就不执行。时间久了,书买多了,自然也会积累些经验。

二﹑充分利用网络资源,做一个网络学习者

从哪里去获取这部分你要掌握的基本知识?可以不忙着找书,而是去求教“最博学的老师”Internet!当你有意学习某方面的知识时,可上网去搜索这方面的教程,网上资料应有尽有,任何水平的人都会找到适合自己的学习内容。

三﹑多看报刊杂志

要想了解最新最前沿的电脑技术发展动态,除Internet网外,那就要数报刊杂志了。报刊类可长期订阅《电脑报》、《软件报》、《计算机报》等,杂志有《电脑爱好者》等。放开眼界敢于学习新的知识:计算机科学是一门诞生不足百年的新兴科学领域,它的产生是基于广博的各学科基础上的,在其几十年的发展过程中,有不断吸收数学、哲学、艺术设计、生物学等其他门类学科的科研成果,因此,要想学好计算机,想在计算机这门专业上有较深的造诣,我们不要只将目光囿与本学科的知识,而更应该放开眼界,敢于并善于吸收其他学科的知识,充实自己,综合提高专业水平。

计算机科学是以计算机为研究对象的一门学科,他是一门研究范畴十分广泛、发展十分迅速的新兴学科,在其相关领域的研究中有的方面前人已经研究得比较透彻,需要在后续课程中去学习、掌握和继承,但在想要攀登到科学顶峰之前,应通晓科学的初步知识,如未掌握前面的东西,就永远不要着手做后面的东西,永远不要企图掩饰自己知识上的缺陷,哪怕是用最大的胆推测和假设作为借口来掩饰。不论这种肥皂泡的色彩多么使我们炫目,但肥皂泡必然是要破裂的,于是我们将除了渐愧以外是会无所得的,因此在学习过程中我们不能好高骛远,要养成严格的循序渐进的习惯。

结束语:学习计算机前沿科学,使我真切地感受到了新世纪里信息时代的气息,清楚地看到了计算机时代新技术发展的迅速。让计算机为我们的未来生活添光加彩,让e时代的号角成为新世纪的主旋律。展望新世纪,我们有理由为计算机唱赞歌!

参考文献:

[1]陶树平,黄国兴,丁岳伟﹒计算机科学技术导论

[2]段锁庆.走进华罗庚

[3]李文梅,吴阳波,刘乃琦﹒科学理念指导下的计算机学习方法初探

[4]郭建东﹒软件技术教学内容与教学模式研究

第二篇:如何学好计算机专业

如何学好计算机专业?

我是信息工程系的,对这个颇有感触啊,大学平时稍微一学,临考突击一把,想挂都难。

要想走这条楼就好好学下基础课,没基础再新的技术你也跟不上的。

给你篇文章看看,我一直保留了年没删,反正对我帮助很大的,从哪摘的不记得了,一、给计算机专业的同学

1.首先请你热爱这个专业。只有这样,你才会从抽象的理论中找到实实在在的快乐。如果你不热爱她,或者只因为这是个热门专业,那么极力要求你放弃这个专业,因为计算机是一把双刃剑,学好了你会飞黄腾达,学不好你毕业后会极其痛苦,高不成低不就,没有发展潜力,如同学英语专业的人到了美国一样。

2.不要用功利眼光对待这个学科,这绝对不是点点鼠标就能挣钱的专业。不要去想做网站挣钱,不要想靠点击率增加广告,这个在4年前已经过时,如果你现在仍然这么想,千万别说出来,因为我会觉得你很土。计算级专业的成就感总是伴随着身体上的痛苦而来,肩周炎,颈椎病,眼睛干涩,掉头发,腰椎间盘突出,关节炎,不夸张,这么帅的我工作了两个月以后发现开始掉头发了。

3.搞明白计算机“科学”与“技术”的含义。做网页,做图片,做flash,玩游戏,上网,听歌,录mp3,搞电影字幕,装windows,改注册表,为软件皮肤……这通通不叫计算机科学与技术,如果你是计算机的学生,会做以上事情,那是你应该的,不会做,也没什么丢人的,我们需要的不是让别人称作“高手”。

4.明确你最终的专业方向是软件还是硬件。方向是网络?网络不是专业方向。网络是最优秀的软件工程师、最优秀的硬件工程师与最优秀的通信工程师的智慧结晶。如果你是软件方向,请你在学精一揽子数学、数据结构、算法设计、数值分析、汇编语言、操作系统、编译原理、数据库原理、软件工程之类课程后,仔细的听一听硬件课程,他对你有用。软件工程绝对不是背背就能过的课,计算机理论可能是一个人就能研究出来,软件工程是成千万网软件工程师几十年来失败的教训凝结成的结晶,请认真听课。不要问我应该学什么语言,计算级专业的人必须具备任何语言1小时上手的能力,最起码要在10分钟把“hello world”做出来。如果说有必须学的两种语言,那他们是c++与java,学他们不是在学语言,而是在学thinking in c++,thinking in java,一个是软件的基础理论,一个是面向对象的基础理论,从来没有人听说过“thinking in basic”。如果你说c++过时了,那么千万别告诉别人你的名字,因为很丢人。山科大的老师只会教给你c,不会教给你++,所以不要被他蒙蔽,大胆的问他++,如果他不会,干脆换老师。学硬件的同学在认真听听以上课程后,学精除了政治以外的其他课程。

5.即使你学好了以上课程,我们仍然差得很远,我们只弄清学什么了,但是还不知道做什么。我们的课程设计太小儿科了,别对你在国外的同学说,否则会被笑话,所以我们要尽可能的多做设计,别一个人们闷着头做,两三个人合作一个项目,不会交流的计算机人员30岁以后肯定会下岗。题目呢,尽量是一些简单的底层开发,可以去国外大学网站上搜一搜,要自信你一定能做出来,毕竟不是什么难题,而是我们应当具备的素质。

6.如果你对网络有意,在具备了一定动手能力后从协议或者底层硬件的角度去学习它。否则你是自甘从一名高贵的计算机专业人员堕落为做着沉重机械体力劳动的民工。对网络安全感兴趣,那么你就在学会使用各种工具的一个月后从编程的角度深入学习网络协议和操作系统吧!只会用工具攻击无知人员的漏洞是一种意淫的行为。网上呼吁中美、中日黑客战时,希望你安心学习课程,或者睡觉休息,或者去运动娱乐,不要给祖国抹黑。

7.正确对待认证。绝大部分认证不是高薪的敲门砖,而是你上岗前的智商水平测试。如果你考过了认证,别对别人说这个认证是垃圾,请告诉别人你在学习中懂得了那些知识,如果你没有懂得知识,那么你是个paper,认证不是垃圾,你是垃圾。如果你连认证都没考就到处喊它垃圾,那么你就亲自考考试试,考过了,懂了,那么你随便;如果过了但是不懂,认证不是垃圾你是垃圾,如果没考过,那么看这个贴子的所有人都知道你是什么了。MCSE、CCNA、CIW等等都有它存在的意义,只要你有钱都值得一学,他们是最正规的知识来源,是经过理论、实践、时间与市场考验的产品。

二.给非计算级专业的同学的一点建议

1.热爱你的原专业,尤其是自然学课和基础学科,为了计算机放弃他们就如同为了10张一元钱扔掉了一张100元一样。

2.计算机是具有学术性和工具性的双重属性学课。架设一做计算级专业与你本专业的桥梁,那对两个专业都是做出了贡献,如果你真的很牛,把计算机学的很深很好,那么你真的值得尊敬。

3.再次记住做网页,做图片,做flash,玩游戏,上网,听歌,录mp3,搞电影字幕,装windows,改注册表,为软件皮肤……这些不是计算机专业,也挣不到钱 不要让浮躁余功利蒙蔽你的双眼,毁掉你光明的前程

第三篇:非计算机专业学生如何学好程序设计

非计算机专业学生如何学好程序设计

21世纪是信息时代,也是知识经济时代,计算机网络已经成为必不可少的交流工具,不懂计算机程序设计,就不能真正理解计算机的工作原理,进而无法充分 有效地利用计算机这个工具解决学习和工作中的实际问题。大学生是社会发展的新生力量,绝不能落后于社会应用,而是应该高于社会的一般水平。大学生应该对自 己提出更高的要求,学好程序设计是非常必要的。学好程序设计的重要性

很多非计算机专业学生没有重视程序设计课程的学习,主要 还是没有充分认识到其重要性。大家都知道办公软件是当今学习和工作中必不可少的应用软件,学生也能够认真对待,但是多数人仅限于基本操作和应用,没有研究 其高级功能,所以很多人不知道办公软件也可以根据需要编职称论文范文http:///程来实现更高层次的需要。另外,很多应用软件是非计算机专业的人员编写的,他们既掌握本专业知识,又懂得计算机应用,由他们来编写应用软件是非常有实际应用价值的。非计算机专业学生更应该重视程序设计的学习和应用。

总的来说,学好程序设计还有多个优点:1)可以作为今后工作和学习的一个辅助工具;

2)更加深入地理解计算机的工作过程;3)能够培养学生严密的逻辑思维和抽象的思维能力;

4)能够培养非计算机专业学生利用计算机解决本专业问题的能力。非计算机专业学生学习程序设计的困难因素

2.1 动手能力不强

程序设计是高校非计算机专业学生的一门重要基础必修课程,该课程的教学目的是培养学生的严密逻辑思维能力,较深入地学习和理解计算机处理问题的思路和方 法。学生在学习计算机程序语言核心期刊发表http:///过程中不仅要学习计算机语法知识,还要学会运用这些知识去编程,学会利用计算机解决本专业的实际问题。其逻辑性和实践性都很 强,要求学生有较好的数学基础和较强的动手能力。而非计算机专业学生多数没有编程基础,同时计算机操作能力不强,所以学起来比较吃力。

2.2 缺乏主动性

非计算机专业学生开始学习程序设计时,感到新奇、好玩,听教师说明该课程的性质和用途后,都表示很有信心。但是随着学习的深入,陆续出现的语法规则与程序代码,让很多学生感到枯燥乏味,并产生畏惧心理,听课没有兴趣,缺乏主动性。

2.3 基础相对薄弱

学习程序经济论文网http://www.teniu.cc/设计需要较强的逻辑思维能力和一定的数学、英语基础。有的学生基础差,在学习程序设计时显得力不从心,不能掌握应用计算机解题的基本思维方式。尤其是所学外语非英语的学生,甚至连英文字母都不认识,记忆程序语言指令很吃力,对计算机程序设计产生畏惧感。学好程序设计的方法

3.1 努力提高学习兴趣

兴趣是最好的老师,要学好程序设计,必须对编程产生兴趣。只有喜欢上编程,才有兴趣去研究它。实在没有兴趣的学生也不要灰心,尽量做到下面几点。

1)做好预习、记笔记和复习工作。课前预习,将不懂的知识点做好标记;课堂上带着问题听课,尽量理解教师所讲的重点内容,并有针对性和侧重点地做好笔记;课后要认真复习消化所学内容,完成作业。

2)主动编程实践。程序设计是高强度的脑力劳动,仅靠听和看是学不好的,必须加强

练习。只有自己动手编写一些程序,才能对所学知识有更加深入的理解,同 时会产生成就感,从而对编程产生兴趣,学起来才比较容易。实践出真知,在编写大量程序之后,你会发现很多新的问题,这些问题会指引你重新审视和理解程序结 构等知识点。当你一一解决了这些问题,就会感到运用自如。

3)编程实践养成几个好习惯。实践前应认真将程序写在纸上,包括窗体界面需要哪些控 件以及事件代码等,便于培养逻辑思维能力并节省上机调试时间;每次实践后要及时总结,把没有搞清楚的问题记录下来,请教老师或同学;多抽时间上机调试程 序,遇到系统的提示信息,尽量独立思考加以解决,这一过程很重要。

3.2 以通过二级考试为目标

学习该课程后,可以参加全国计算机等级考试二级考试,拿到计算机资格证书,这样不但能够提高自身走向社会的市场竞争能力,同时也能极大限度地激发自己学习的积极性。

3.3 掌握良好的学习方法

有了编程的兴趣和目标,就有了动力,学习起来会事半功倍。同时还要掌握有效的学习方法,培养良好的学习习惯。下面介绍一下具体的学习方法。

1)打好基础。首先学好编程要具备一定的数学基础。这一点不难,有高中水平就差不多了。其次,学习程序设计要有一定的逻辑思维能力。逻辑思维需要长时间 的锻炼,如果觉得自己在这方面有不足之处也没有关系,因为编写程序本身也是对逻辑思维的锻炼。逻辑思维能力的培养需要长时间的实践锻炼,需要反复的实践、观察、分析、比较以及总结,从而逐渐积累经验。在学习编程过程中,大家不必等所有知识都完全理解了才去实践,只要明白了大概,就可以动手去做。通过实践很 多问题就迎刃而解了。

2)重要概念要理解。程序设计书中介绍的最基本的常量、变量、表达式、函数、条件语句、循环语句等概念,需要反复推敲,深入理解。在此基础上学会应用,不能机械地记忆语法、结构,而要明白其实际含义,针对这些语法、结构应用的小程序,应做到举一反三。

3)注重实践和研究。编程思想必须在实际的编程实践中去体会。编程初始阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多 想几种解决方案。另外可以和其他同学多交流多研究,每个人的思维方式不同、角度各异,通过交流可不断吸收别人的长处,有助于自己水平的提高。动手实践是创 造性思维应用的体现,也是培养逻辑思维最有效的方法。

4)养成良好的编程习惯。编程入门相对容易,但入门后必须继续长时间地学习。在此期间要 注意养成一些良好的编程习惯,编程风格的好坏很大程度会影响程序的质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护,如代码书写的缩 进、变量命令的一致性、代码的注释等。

5)上网学习作为有益的补充。在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载学习。很多网站提供的内容丰富而且实用,可以下载一些技巧性的文章、源代码等,课余时间慢慢研究,吸取经验,对于后续的学习是很有好处的。

6)学习应循序渐进。学习程序设计可采用“理论——实践——再理论——再实践”的方法,温故而知新,循序渐进地学习效果会更好。具有一定的程序设计基础 知识后,就可以开始编程实践,从实践中发现问题,要及时加强计算机理论知识的再学习。再次研究之后,很多以前遇到的问题都会迎刃而解。因此在学习编程的过 程中不能急于求成,要不断地针对应用中的困惑和问题进行深入学习,每一步都要稳扎稳打。这样经过反复地学习和实践,编程水平就会有很大的提高。结束语

一直以来非计算机专业的学生在学习程序设计课程的过程中普遍感到很吃力,也尝试

很多方式改变教学方法,但无论怎么努力,总有部分学生学不好。笔者认为除 了教师从教法上进行改革之外,学生也需要做出一些努力,希望学生能够正视程序设计课程的重要性,发现自己的问题所在,建立自信心,培养良好的学习方法和学习习惯,学好程序设计,成为社会进步的后备力量。

第四篇:阅读我们的学科——计算机专业

阅读我们的学科——计算机专业学习浅谈

一、广泛了解,从科普书籍开始

选择计算机专业的同学,也许是因为原先有一定的基础,也许是因为一时的激情,但更多的人,可能对自己的选择没有深刻的认识,或多或少对计算机专业有一些神秘的感觉。自己究竟是否喜欢这个学科?才华能够在哪个分支领域有所施展?抑或是真的不适合这个专业?诸多疑问,解决的方法首先便是了解和认识我们的学科。浓厚的兴趣是学好任何学科的源泉;而广泛的了解则是获得兴趣的途径。当今我们对于信息的获取已非难事,其中“阅读”是一个简洁而有效的方法。

也许你认为阅读专业书籍对于刚刚步入大学的自己来说有点困难,也很枯燥,那么不妨先从科普书籍看起。科普书籍是了解理论、获得应用知识最好的途径。相信不少理工科的同学被量子物理和相对论搞得头昏脑胀过。究其原因,是我们的现实生活与抽象的数学模型之间存在思想意识上的鸿沟。然而要是读读斯蒂芬·霍金的《时间简史》,你就会被书中有趣的故事和例证所吸引,从而对抽象的理论有了感性的认识——即使仍然没有读懂,你也至少了解了这个学科研究的领域和目标是什么,也必然有所收获。所有理工学科都有这样的性质,计算机专业也不例外。我们知道,计算机理论是建立在数学基础之上的。大学计算机专业对数学的要求较高,其重要性不必多言。数学令不少同学头痛,除了其“繁”与“难”外,很大程度上是因为他们没有理解这些抽象理论的实际应用方向。与本科数学专业的课程设置相比,计算机专业的数学课程大都偏重实用性。比如我们的离散数学课程中涉及到的逻辑代数奠定了计算机一切运算的基础,形式语言构成了计算机程序编译的模型,代数系统则是当前各类数据库系统的理论依据等等。因此,如果能够提前地了解到并简单地学习一下这些数学知识的具体应用,对理解理论是很有益处的。此外,电子学、信号与系统、控制理论等也是计算机专业学生必修的公共课,然而不少同学往往认为它们与计算机专业的关系不大,从而放松了学习。事实上这些学科是计算机硬件与网络通信的基础,学好这方面知识的前提是认识它们的现实应用及其与计算机的密切联系。

也许你将来学习图论的时候,对“欧拉路”的概念会很清晰,这是因为你在小时候的图画书上玩过“一笔画”的游戏;然而“二分图”、“生成树”这些概念又是怎么回事呢?你的理解可能就不是那么深刻了——因为你一时难以找到一些生活中的实例,并从中抽取出特性。在这种情况下,翻阅一些涉及这些知识的科普书籍就十分有必要了。我曾读过一套《数学游戏》(《科学美国人》杂志汇编,中文版:科学技术文献出版社),它将图论、逻辑代数、自动机理论等领域的抽象的概念具体化为一个个有趣的故事,引导读者了解这些知识的现实应用,启发读者将抽象思维与感性生活有机结合。我还读过一本《编码的奥秘》(《CODE》,中文版:机械工业出版社),它则将逻辑代数、数字电路、汇编语言等知识以实物和简单电路的形式进行类比,揭示其中的原理,并引导读者动手实践。事实上这类与计算机专业相关的科普书籍还有很多,在学习课本的间隙阅读一下,绝对能起到催化剂的作用。

谈到科普书籍,相关的另一个问题便是计算机科学与计算机技术之间的关系。也许不少同学选择计算机专业,是源于对计算机令人眼花缭乱的应用的认识。所谓计算机技术,一般是指包括文字处理、信息管理、多媒体、网站建设等在内的计算机应用技术;而所谓计算机科学,一般指数据结构、组成原理、操作系统、编译原理等计算机内部实现机制。前者是计算机在各行各业提高生产力的体现,属于各类职业教育和专科教育的范畴;而后者是研究是计算机本身的理论,是本科计算机教学的重点。市面上大多数计算机书籍与杂志是计算机应用技术方面的,属“技术普及型”,从受众角度来看与科普书籍有着类似的性质。适当地涉猎一些自己感兴趣的应用技术,对培养学习兴趣、增强实践能力、了解业界行情是很有好处的。不过如果确实想在计算机行业长期做下去,仍然应当将主要精力放在对计算机科学的学习方面。毕竟用科学的理论指导实践是大学教育的意义所在。

总之,广泛了解计算机学科基础科普知识,在今后学习具体理论的时候才会少一些盲目,多一些顿悟。

二、把握全局,学习计算机导论

当你对计算机学科涉及的领域有所了解后,就应该着手展开专业学习了。初读本专业的教学计划与课程设置,你或许会被诸如离散数学、编译原理、接口技术等生疏的课程名称弄得一头雾水。这些课程都是研究什么的?它们各自与我们面前的计算机有哪方面的联系?要回答这类问题,首先需要把握全局,从整体上认识计算机科学。

国内高等院校一般都为大一学生开设计算机基础课程。这类课程的受众面广,主要涉及计算机基础应用知识。各种版本的计算机基础教程几乎都以计算机科学导论作为开篇。对于把计算机作为应用工具的其他专业的学生而言,导论只算是“内容概要”,他们往往更注重后面的应用型知识;而对于把计算机作为研究对象的我们,则决不能忽略这类指导性的内容。专门地、有意识地学好计算机科学导论,能够使你对计算机科学有一个大局观,清楚地认识到每一个分支学科的研究领域与重要意义,从而在今后的具体学习中明确方向,加深理解。

依我个人的学习经验,建议初学者阅读一些国外优秀计算机基础与导论教材。与国内大多数讲解软硬件具体使用的同类教材相比,国外教材更偏重以应用为切入点,深入浅出地阐述计算机科学原理。诸如《计算机文化(第8版)》(《New Perspectives on Computer Concepts》,中文版,机械工业出版社)、《计算机科学导论》(《Foundations of Computer Science: From Data Manipulation to Theory of Computation》,中文版,机械工业出版社):前者适合于各种信息类专业的学生或计算机爱好者阅读。该书图文并茂,语言生动,从应用角度出发,广泛涉及计算机软件、硬件、网络的基本原理,同时概述了计算机学科的历史背景与行业现状。随书的光盘中给出了不少影音材料,在学习的同时还可以提高计算机专业英语听说能力。后者在风格上与前者类似,但内容更适合计算机专业学生阅读,被美国不少高校定为计算机专业学生的入门课。它以实例作为出发点,系统地讲解了计算机组成、计算机网络、操作系统、数据结构、算法设计等分支学科的研究领域、基本原理和应用方向,而几乎不涉及晦涩的数学模型与实现细节。阅读此类书籍,可以在潜移默化中理清初学者对于计算机科学学习的思路。

计算机科学是一个有机联系的整体,每个分支都或多或少地与其它分支存在依赖关系。如果死板地依照教学计划线性地进行学习,往往会遇到知识理解上的问题。例如算法分析课程与程序设计课程分属理论与实践;组成原理课程与体系结构课程是对计算机系统不同层面的剖析。我们不能简单地找出它们的先修、后修关系,这样难以建立完整的知识体系。因此在把握大局之后,我们仍有必要简单了解一下每个分支学科的基础知识。在这方面,推荐大家阅读《编程卓越之道(第一卷):深入理解计算机》(《WRITE GREAT CODE: Volume 1:Understanding the Machine》,中文版,电子工业出版社)这本书。分开来看每一章节,其内容编排结构与国内高校计算机课程体制相近,涵盖了逻辑代数、数字电路、机器指令、体系结构、存储器管理等方面的基础知识和实现方法,特别是阐明了各个分支学科之间的本质联系。有了这些基础之后,在遇到更高阶的问题时,你至少会明白这个问题应该在哪个分支学科中寻找答案了。

当你有了一定的计算机理论基础,尤其是程序设计基础后,想更加深入地把握计算机科学的脉络,不妨看看这本书:《深入理解计算机系统(修订版)》(《Computer Systems A Programmer's Perspective》,中文版,中国电力出版社)。它与《编程卓越之道》系列的共同特点是从程序员的视角观察计算机系统。而这本书作为国外数十所高校的计算机系统导论教材,其组织更加严密,风格更加严谨。它以“程序在计算机中如何执行”为主线,全面阐述计算机系统内部实现的诸多细节。当你在学习数据结构、组成原理和体系结构等课程和时候,翻阅一下此书的相应章节,同时编程实现其中的例子,一定会对课本上单纯的文字型理论有更加感性的认识——原来它们是这样活生生地存在于我的计算机里的!

正所谓“会当凌绝顶,一览众山小”,从计算机科学全局的高度整体把握其分支学科,在头脑中率先构建计算机科学的整体框架并为其夯实最基层的结构,就能够为你在未来每一步的学习中扫清迷雾,指明方向。

三、运筹帷幄,掌握编程的思想

程序设计与开发是计算机学习的一个关键环节,编程能力是衡量一名计算机专业人员素质的重要考核点。这是因为程序是连接理论与实践的纽带,是计算机科学与计算机技术相交融的领域。作为一名计算机专业学生,我们一方面有别于其它专业将计算机作为工具的应用型人才,不能仅仅利用计算机,而要为他人利用计算机提供平台;另一方面我们暂时达不到计算机科学家的水平,不能做出理论研究成果,但能为理论学习铺垫实践基础。因此,只有具备足够的程序设计与开发能力,才能真正体现我们的智慧,同时充分发挥计算机的潜力。

学习编程,首先应掌握至少一门程序设计语言。C语言作为一种语法清晰、功能强大、应用广泛的高级语言,长期以来被国内大多数高校的定为程序设计必修课。全面理解和掌握C语言的脉络的重要意义这里毋庸多言。市面上C语言的教程多如牛毛,但最经典的当数C语言的设计者Kernighan与Ritchie合著的权威白皮书——《C程序设计语言(第2版)》(《The C Programming Language》,中文版,机械工业出版社)。书虽不厚,但绝对全面而准确。其语言简洁,例证通俗,实用性强。相比之下国内的一些C语言教材在学习曲线可能比前者平滑,但它们往往以考试为导向,过多地纠缠语法死角,同时大都未遵从ANSI标准。对于计算机专业学生来说,前者能够让我们看到更加严谨与实务的态度。当你的语言功底达到一定程度后,就需要从一个更高的视角来探察语言的本质,不妨看看这本:《计算机程序的构造和解释(第2版)》(《Structure and Interpretation of Computer Programs》,中文版,机械工业出版社)。它阐述了编程语言本身的机制与实现,同时引入了一门对于大多数中国学生来说不甚了解的语言——LISP。LISP是很多美国高校计算机专业的入门语言,也是一种结构上与C、Pascal、Java、Basic等完全不同的非冯·诺依曼语言。研读SICP,体味LISP,给你耳目一新的感觉之后更多地可以加深对编程思想本质的理解。

大学的各类程序设计与开发课程旨在培养我们两方面的能力——算法设计能力与应用开发能力。前者偏重计算机科学,后者偏重计算机技术。算法是用计算机思维解决现实问题的理论,具有较强的数学性。算法学的旷世巨著应数Knuth的《计算机程序设计艺术》(《The Art of Computer Programming》,中文版,清华、机工、国防等出版社皆有授权),不过要彻底读懂这个大部头需要相当的数学理论基础与编程实践经验积累。对于初学者,建议首先培养使用常规算法解决小规模问题的能力,并行地提高驾驭语言的水平与抽象问题的思维。针对这个目的,结合程序设计实践一类的课程,可以读读这几本书:《编程珠玑(第2版)》(《Programming Pearls》,中文版,中国电力出版社)、《程序设计实践》(《The Practice of Programming》,中文版,机械工业出版社)、《代码阅读方法与实践》(《Code Reading: The Open Source Perspective》,中文版,清华大学出版社)、《C专家编程》(《Expert C Programming》,中文版,人民邮电出版社)。它们的侧重点各有不同,但对于通过实践来学习算法与数据结构都是很有益处的。应用开发方面,实践是第一要务,然而高效的实践是建立在科学的程序设计方法之上的。以C语言为代表的结构化程序设计方法是规范的程序逻辑的基础,目前主要使用在系统级开发中,前面所提到的诸多书籍都或多或少有所涉及。而以Java、C++为代表的面向对象程序设计方法广泛应用于实用项目开发,这方面的经典之作中,推荐阅读Bruce Eckel的《Java编程思想(第3版)》(《Thinking in Java》,中文版,机械工业出版社)与《C++编程思想(第2版)》(《Thinking in C++》,中文版,机械工业出版社)。此外软件架构设计、编码规范与风格、代码除错与质量管理以及软件工程的各类原则在实际项目开发中都是及其重要的,在具备了一定的编程经验、准备投入一些实际项目开发的时候务必要了解。建议阅读《代码大全(第2版)》(《Code Complete》,中文版,电子工业出版社)这本大而全的软件构建综合性宝典,它在从总体上指导软件开发的各

个环节的同时也引入了一些细节问题(诸如goto的使用)的讨论,引导我们对一些司空见惯的程序设计理念不但要知其然,而且要知所以然。

有一位热衷于游戏的同学告诉我,游戏给予他满足控制欲的空间。但是请放眼看看,游戏的控制范围不外乎一个特定进程中他人预先设定好的一系列数据,并以有限的图像与声音形式体现出来。然而如果你掌握了编程这一强大的武器,就能够面对眼前的计算机游刃有余,在硬件条件允许的情况下尽你所能将控制欲升华为创造力,方便自己的同时造福他人。运筹帷幄,掌握编程的思想,无论走向科学研究或是应用开发,这都将为你奠定坚实的基础!

四、理性思辨,体味计算机哲学

Bill Gates对计算机事业充满激情——“每天早晨醒来,一想到所从事的工作和所开发的技术将会给人类生活带来的巨大影响和变化,我就会无比兴奋和激动。”自由软件运动的精神领袖Richard Stallman几十年如一日,将打破知识垄断、共享人类智慧作为己任,带领着数以万计的软件志愿者推动着开源世界的发展。但并非每个计算机业者都能有Gates那样豪迈的气度和Stallman那种坚定的信仰,计算机及其相关技术对于大多数业者来说仅仅是兴趣爱好或者谋生的工具。计算机行业半个多世纪以来形成了其独有的文化氛围,作为一名计算机专业学生,了解专业文化,体味专业哲学,对于学习和从业都是具有指导意义的。

首先必须承认,计算机世界中存在着形形色色的意识理念差异。诸如微软帝国与开源世界的明争暗斗,不仅仅是一场商战,更多的是两种哲学的搏击。当代大学生多数是在微软Windows光环照耀下认识计算机的。在这种环境下,多接触一些开源世界的事物,对于理解计算机的本质不无裨益。《共创未来:打造自由软件神话》(《Free for All: How Linux and the Free Software Movement Undercut the High-Tech Titans》,中文版,上海科技教育出版社)是一本讲述开源世界发展史的书,你可以从中了解自由软件运动及其领袖人物的传奇故事,从而对GNU、Linux、OpenSource这些概念蕴生人性化的理解。清华大学王垠的《完全用GNU/Linux工作,摈弃

Windows——你我共勉》、兰州大学黄平的《自由,你忘记了吗?》等长篇文章则是国人对开源运动的慷慨陈辞。尽管这些文章常常被指为“偏激”,但没有调查就没有发言权,无论支持还是反对,客观的认识是第一位的。

其次,我们应该用平和的心态对待知识与技术,衡准专业学习在生活中的位置。一些同学出于种种原因,成为了“先进技术”的追随者:通晓各类流行的编程语言,一有新版本的工具推出立即安装学习,一有新的技术论战立即关注其走向。还有一些同学成为了某些技术的忠实信徒:看准了Java就对.NET的东西置之不理。这些追随者和信徒们往往为突飞猛进的技术所累,以至于有感于学习的空虚。过分追捧技术可谓舍本逐末,死扣某一知识也显得目光短浅。一方面百变的技术离不开计算机科学的本源,在实践过程中深入理解基础知识是关键;另一方面任何技术都有统领其实现细节的思想精髓,观其形不如知其神。我们不妨甩开冗繁的技术,换个角度静下心来读几部计算机文化与哲学作品:

程序人生方面:《编程之道》(《The Tao of Programming》,双语版,电子工业出版社)一书出自一位对东方道家与禅宗思想有着独特理解的美国软件工程师之手,全书由一则则短小而富有哲理故事组成,以类似寓言的形式生动地反映了程序员群体的生活以及计算机文明的演进。闲暇时随手翻阅,即使不能立刻体会到每个故事的真谛,但随着自身阅历的增长,相信你会领悟程序人生的“道法自然”。

设计理念方面:开源软件界的“斗士”级元老Eric Raymond所著的《Unix编程艺术》(《The Art of Unix Programming》,中文版,电子工业出版社)一书,以Unix系统的设计原则为主线,展示了Unix所开启的“KISS”(Keep It Simple, Stupid!)编程文化与思维方式。对于很多干啃千篇一律的课本、禁锢于Windows开发的计算机专业学生来说,这本书一定能够使你眼界大开——“结构化”并非真理,“面向对象”也不是王道;而对于有一定Unix/Linux使用或开发经验的同学,这本书也一定会使你豁然明朗——原来一个程序的设计竟可以如此精巧!

管理哲学方面:对于有志于软件工程,想涉足项目管理的同学,《人月神话》(《The Mythical Man-Month》,中文版,清华大学出版社)这本书就有必要读一读了。它拿真实案例说事,仿佛一部实例化的软件工程课本。如果你在团队开发的道路上陷入了困境,不如参考一下前辈们是如何处理“人”与“月”二者之矛盾的吧。事实上不仅是软件工程,任何事业的成功,往往技术不是关键,社会科学的因素才是埋头技术的朋友们更应当关注的。

归根结底,计算机的哲学依旧是人的哲学。抛开理念之争议,超越技术的形式,以人为本地认识我们的行业与自身的地位,或许会使将来的发展道路走得更舒心一些。

第五篇:怎样学好计算机应用

怎样学好计算机应用

《计算机应用技术》是培养和检验计算机专业学习者的专业基础知识和实际应用能力的一门重要的实践性课程。

本课程重在培养应考者对计算机基础知识和基本应用技能的掌握,是深入学习其他专业课或专业基础课的入门课程,通过对本课程内容的学习和基本操作技能的训练,使应考者能够比较全面系统地掌握计算机的基础知识和基本应用技能,从而为学习后续打下良好的基础,为今后从事计算机应用工作打下扎实的基础。

本课程是一门基础知识与应用技能并重的课程,因而在学习方法上也有其自身的特点。首先,学好、考好这门课程,最要紧的是要认真阅读自学教材和大纲。这里,关键是“认真”二字。认真不认真、学习效果大不一样。读书不认真,心不在焉等于白白浪费时间。所谓“认真”,就是全神贯注,一丝不苟。

其次,牢牢掌握基本概念。概念是反映事件本质属性的思维形式。任何一门学科都有自己的一系列基本概念,而每个概念又都有其特定的内涵和外延,定义就是揭示概念内涵的逻辑方法。给某个概念下定义,就是用精练、简明的语言,把这个概念所反映的对象的本质属性揭示出来。

第三,系统学习、全面复习。和其他学科一样,本书有自己的体系,各个章节间,都有着内在的联系。要全面掌握本课程的基本内容,取得优异的成绩,就必须进行全面系统的复习,而决不能靠猜题、押题等侥辛心理。尤其是现在,自学考试也逐步走向科学化、规范化、考试一般都采用题库储存试题,输入电脑,由计算机出题、阅卷,所以考试的内容势必覆盖面广、题型多、题量大、题型稳定,如考生不是全面、系统地复习教材和大纲,就很难适应这种新型的考试方法。

第四,重视理论联系实际。结合本课程的学习,自学应考者应当尽可能把计算机这一工具应用到自己的实际工作中去,并把实际工作中的问题纳入学习过程中来分析研究,以求解决。这将有助于增强感性认识,更深入地领会教材内容,将知识转化为能力,提高自己分析问题和解决问题的能力。

第五,在全面系统学习的基础上掌握基本理论、基本知识、基本方法。本课程涉及计算机应用方面的基本知识,与国家教育部实施的“全国计算机等级考试”大纲一级水平相当,各章节的问题互相衔接,逐层深入,又有一定的独立性。自学应考者应当首先全面系统地学习各章,记忆应当识记的基本概念、名词,深入理解基本理论,弄懂基本方法的内涵;其次要认识各章节之间的联系,注意区分相近的概念和类似的问题,并掌握它们之间的联系;再次,在全面系统学习的基础上掌握重点,有目的地深入学习重点章节。

第六,把学习计算机基础知识与计算机上机操作实习结合起来。有条件的学员应当尽可能多地上机操作,因为上机实习既是学习理论知识的捷径,又是课程的要求和目的。

浅谈计算机学科以及如何学好专业
TOP