A. 推荐一本数据库原理的好书。中文的,如果是翻译的,要公认翻译的不错的。
计算机科学与技术学习反思录
计算机理论的一个核心问题--从数学谈起:
记得当年大一入学,每周六课时高等数学,天天作业不断(那时是六日工作制)。颇有些同学惊呼走错了门:咱们这到底念的是什么系?不错,你没走错门,这就是计算机科学与技术系。我国计算机科学系里的传统是培养做学术研究,尤其是理论研究的人(方向不见得有问题,但是做得不是那么尽如人意)。而计算机的理论研究,说到底了,如网络安全,图形图像学,视频音频处理,哪个方向都与数学有着很大的关系,虽然也许是正统数学家眼里非主流的数学。这里我还想阐明我的一个观点:我们都知道,数学是从实际生活当中抽象出来的理论,人们之所以要将实际抽象成理论,目的就在于想用抽象出来的理论去更好的指导实践,有些数学研究工作者喜欢用一些现存的理论知识去推导若干条推论,殊不知其一:问题考虑不全很可能是个错误的推论,其二:他的推论在现实生活中找不到原型,不能指导实践。严格的说,我并不是一个理想主义者,政治课上学的理论联系实际一直是指导我学习科学文化知识的航标(至少我认为搞计算机科学与技术的应当本着这个方向)。
其实我们计算机系学数学光学高等数学是不够的(典型的工科院校一般都开的是高等数学),我们应该像数学系一样学一下数学分析(清华计算机系开的好像就是数学分析),数学分析这门科学,咱们学计算机的人对它有很复杂的感情。在于它是偏向于证明型的数学课程,这对我们培养良好的分析能力极有帮助。我的软件工程学导师北工大数理学院的王仪华先生就曾经教导过我们,数学系的学生到软件企业中大多作软件设计与分析工作,而计算机系的学生做程序员的居多,原因就在于数学系的学生分析推理能力,从所受训练的角度上要远远在我们之上。当年出现的怪现象是:计算机系学生的高中数学基础在全校数一数二(希望没有冒犯其它系的同学),教学课时数也仅次于数学系,但学完之后的效果却不尽如人意。难道都是学生不努力吗,我看未见得,方向错了也说不一定,其中原因何在,发人深思。
我个人的浅见是:计算机系的学生,对数学的要求固然跟数学系不同,跟物理类差别则更大。通常非数学专业的所谓“高等数学”,无非是把数学分析中较困难的理论部分删去,强调套用公式计算而已。而对计算机系来说,数学分析里用处最大的恰恰是被删去的理论部分。说得难听一点,对计算机系学生而言,追求算来算去的所谓“工程数学”已经彻底地走进了误区。记上一堆曲面积分的公式,难道就能算懂了数学?那倒不如现用现查,何必费事记呢?再不然直接用Mathematics或是Matalab好了。
我在系里最爱做的事情就是给学弟学妹们推荐参考书。中文的数学分析书,一般都认为以北大张筑生老师的“数学分析新讲”为最好。万一你的数学实在太好,那就去看菲赫金哥尔茨的“微积分学教程”好了--但我认为没什么必要,毕竟你不想转到数学系去。吉米多维奇的“数学分析习题集”也基本上是计算型的东东。书的名气很大,倒不见得适合我们,还是那句话,重要的是数学思想的建立,生活在信息社会里我们求的是高效,计算这玩意还是留给计算机吧。不过现在多用的似乎是复旦大学的《数学分析》也是很好的教材。
中国的所谓高等代数,就等于线性代数加上一点多项式理论。我以为这有好的一面,因为可以让学生较早感觉到代数是一种结构,而非一堆矩阵翻来覆去。这里不得不提南京大学林成森,盛松柏两位老师编的“高等代数”,感觉相当舒服。此书相当全面地包含了关于多项式和线性代数的基本初等结果,同时还提供了一些有用的又比较深刻的内容,如Sturm序列,Shermon-Morrison公式,广义逆矩阵等等。可以说,作为本科生如能吃透此书,就可以算高手。国内较好的高等代数教材还有清华计算机系用的那本,清华出版社出版,书店里多多,一看就知道。从抽象代数的观点来看,高等代数里的结果不过是代数系统性质的一些例子而已。莫宗坚先生的《代数学》里,对此进行了深刻的讨论。然而莫先生的书实在深得很,作为本科生恐怕难以接受,不妨等到自己以后成熟了一些再读。
正如上面所论述的,计算机系的学生学习高等数学:知其然更要知其所以然。你学习的目的应该是:将抽象的理论再应用于实践,不但要掌握题目的解题方法,更要掌握解题思想,对于定理的学习:不是简单的应用,而是掌握证明过程即掌握定理的由来,训练自己的推理能力。只有这样才达到了学习这门科学的目的,同时也缩小了我们与数学系的同学之间思维上的差距。
概率论与数理统计这门课很重要,可惜大多数院校讲授这门课都会少些东西。少了的东西现在看至少有随机过程。到毕业还没有听说过Markov过程,此乃计算机系学生的耻辱。没有随机过程,你怎么分析网络和分布式系统?怎么设计随机化算法和协议?据说清华计算机系开有“随机数学”,早就是必修课。另外,离散概率论对计算机系学生来说有特殊的重要性。而我们国家工程数学讲的都是连续概率。现在,美国已经有些学校开设了单纯的“离散概率论”课程,干脆把连续概率删去,把离散概率讲深些。我们不一定要这么做,但应该更加强调离散概率是没有疑问的。这个工作我看还是尽早的做为好。
计算方法学(有些学校也称为数学分析学)是最后一门由数理学院给我们开的课。一般学生对这门课的重视程度有限,以为没什么用。不就是照套公式嘛!其实,做图形图像可离不开它,密码学搞深了也离不开它。而且,在很多科学工程中的应用计算,都以数值的为主。这门课有两个极端的讲法:一个是古典的“数值分析”,完全讲数学原理和算法;另一个是现在日趋流行的“科学与工程计算”,干脆教学生用软件包编程。我个人认为,计算机系的学生一定要认识清楚我们计算机系的学生为什么要学这门课,我是很偏向于学好理论后用计算机实现的,最好使用C语言或C++编程实现。向这个方向努力的书籍还是挺多的,这里推荐大家高等教育出版社(CHEP)和施普林格出版社(Springer)联合出版的《计算方法(Computational Methods)》,华中理工大学数学系写的(现华中科技大学),这方面华科大做的工作在国内应算是比较多的,而个人认为以这本最好,至少程序设计方面涉及了:任意数学函数的求值,方程求根,线性方程组求解,插值方法,数值积分,场微分方程数值求解。李庆扬的那本则理论性过强,与实际应用结合得不太紧。
每个学校本系里都会开一门离散数学,涉及集合论,图论,和抽象代数,数理逻辑。不过,这么多内容挤在离散数学一门课里,是否时间太紧了点?另外,计算机系学生不懂组合和数论,也是巨大的缺陷。要做理论,不懂组合或者数论吃亏可就太大了。从理想的状态来看,最好分开六门课:集合,逻辑,图论,组合,代数,数论。这个当然不现实,因为没那么多课时。也许将来可以开三门课:集合与逻辑,图论与组合,代数与数论。(这方面我们学校已经着手开始做了)不管课怎么开,学生总一样要学。下面分别谈谈上面的三组内容。
古典集合论,北师大出过一本《基础集合论》不错。
数理逻辑,中科院软件所陆钟万教授的《面向计算机科学的数理逻辑》就不错。现在可以找到陆钟万教授的讲课录像,自己去看看吧。总的来说,学集合/逻辑起手不难,普通高中生都能看懂。但越往后越感觉深不可测。
学完以上各书之后,如果你还有精力兴趣进一步深究,那么可以试一下GTM系列中的《Introction to Axiomatic Set Theory》和《A Course of Mathematical Logic》。这两本都有世界图书出版社的引进版。你如果能搞定这两本,可以说在逻辑方面真正入了门,也就不用再浪费时间听我瞎侃了。
据说全中国最多只有三十个人懂图论。此言不虚。图论这东东,技巧性太强,几乎每个问题都有一个独特的方法,让人头痛。不过这也正是它魅力所在:只要你有创造性,它就能给你成就感。我的导师说,图论里面随便揪一块东西就可以写篇论文。大家可以体会里面内容之深广了吧!国内的图论书中,王树禾老师的“图论及其算法”非常成功。一方面,其内容在国内教材里算非常全面的。另一方面,其对算法的强调非常适合计算机系(本来就是科大计算机系教材)。有了这本书为主,再参考几本翻译的,如Bondy & Murty的《图论及其应用》,人民邮电出版社翻译的《图论和电路网络》等等,就马马虎虎,对本科生足够了。再进一步,世界图书引进有GTM系列的"Modern Graph Theory"。此书确实经典!国内好象还有一家出版了个翻译版。不过,学到这个层次,还是读原版好。搞定这本书,也标志着图论入了门。 外版的书好就好在这里,最新的科技成果里面都有论述,别的先不说,至少是“紧跟时代的理论知识”。
组合感觉没有太适合的国产书。还是读Graham和Knuth等人合着的经典“具体数学”吧,西安电子科技大学出版社有翻译版。
抽象代数,国内经典为莫宗坚先生的“代数学”。此书是北大数学系教材,深得好评。然而对本科生来说,此书未免太深。可以先学习一些其它的教材,然后再回头来看“代数学”。国际上的经典可就多了,GTM系列里就有一大堆。推荐一本谈不上经典,但却最简单的,最容易学的:这本“Introction to Linear and Abstract Algebra"非常通俗易懂,而且把抽象代数和线性代数结合起来,对初学者来说非常理想,我校比较牛的同学都有收藏。
数论方面,国内有经典而且以困难着称的”初等数论“(潘氏兄弟着,北大版)。再追溯一点,还有更加经典(可以算世界级)并且更加困难的”数论导引“(华罗庚先生的名着,科学版,九章书店重印,繁体的看起来可能比较困难)。把基础的几章搞定一个大概,对本科生来讲足够了。但这只是初等数论。本科毕业后要学计算数论,你必须看英文的书,如Bach的"Introction to Algorithmic Number Theory"。
计算机科学理论的根本,在于算法。现在很多系里给本科生开设算法设计与分析,确实非常正确。环顾西方世界,大约没有一个三流以上计算机系不把算法作为必修的。算法教材目前公认以Corman等着的"Introction to Algorithms"为最优。对入门而言,这一本已经足够,不需要再参考其它书。
再说说形式语言与自动机。我看过北邮的教材,应该说写的还清楚。但是,有一点要强调:形式语言和自动机的作用主要在作为计算模型,而不是用来做编译。事实上,编译前端已经是死领域,没有任何open problems,北科大的班晓娟博士也曾经说过,编译的技术已相当成熟。如果为了这个,我们完全没必要去学形式语言--用用yacc什么的就完了。北邮的那本在国内还算比较好,但是在深度上,在跟可计算性的联系上都有较大的局限,现代感也不足。所以建议有兴趣的同学去读英文书,不过国内似乎没引进这方面的教材。可以去互动出版网上看一看。入门以后,把形式语言与自动机中定义的模型,和数理逻辑中用递归函数定义的模型比较一番,可以说非常有趣。现在才知道,什么叫“宫室之美,百官之富”!
计算机科学和数学的关系有点奇怪。二三十年以前,计算机科学基本上还是数学的一个分支。而现在,计算机科学拥有广泛的研究领域和众多的研究人员,在很多方面反过来推动数学发展,从某种意义上可以说是孩子长得比妈妈还高了。但不管怎么样,这个孩子身上始终流着母亲的血液。这血液是the mathematical underpinning of computer science(计算机科学的数学基础),也就是理论计算机科学。原来在东方大学城图书馆中曾经看过一本七十年代的译本(书皮都没了,可我就爱关注这种书),大概就叫《计算机数学》。那本书若是放在当时来讲决是一本好书,但现在看来,涵盖的范围还算广,深度则差了许多,不过推荐大一的学生倒可以看一看,至少可以使你的计算数学入入门。
最常和理论计算机科学放在一起的一个词是什么?答:离散数学。这两者的关系是如此密切,以至于它们在不少场合下成为同义词。(这一点在前面的那本书中也有体现)传统上,数学是以分析为中心的。数学系的同学要学习三四个学期的数学分析,然后是复变函数,实变函数,泛函数等等。实变和泛函被很多人认为是现代数学的入门。在物理,化学,工程上应用的,也以分析为主。
随着计算机科学的出现,一些以前不太受到重视的数学分支突然重要起来。人们发现,这些分支处理的数学对象与传统的分析有明显的区别:分析研究的问题解决方案是连续的,因而微分,积分成为基本的运算;而这些分支研究的对象是离散的,因而很少有机会进行此类的计算。人们从而称这些分支为“离散数学”。“离散数学”的名字越来越响亮,最后导致以分析为中心的传统数学分支被相对称为“连续数学”。
离散数学经过几十年发展,基本上稳定下来。一般认为,离散数学包含以下学科 :
1) 集合论,数理逻辑与元数学。这是整个数学的基础,也是计算机科学的基础。
2) 图论,算法图论;组合数学,组合算法。计算机科学,尤其是理论计算机科学的核心是
算法,而大量的算法建立在图和组合的基础上。
3) 抽象代数。代数是无所不在的,本来在数学中就非常重要。在计算机科学中,人们惊讶地发现代数竟然有如此之多的应用。
但是,理论计算机科学仅仅就是在数学的上面加上“离散”的帽子这么简单吗?一直到大约十几年前,终于有一位大师告诉我们:不是。D.E.Knuth(他有多伟大,我想不用我废话了)在Stanford开设了一门全新的课程Concrete Mathematics。 Concrete这个词在这里有两层含义:
首先:对abstract而言。Knuth认为,传统数学研究的对象过于抽象,导致对具体的问题关心不够。他抱怨说,在研究中他需要的数学往往并不存在,所以他只能自己去创造一些数学。为了直接面向应用的需要,他要提倡“具体”的数学。在这里我做一点简单的解释。例如在集合论中,数学家关心的都是最根本的问题--公理系统的各种性质之类。而一些具体集合的性质,各种常见集合,关系,映射都是什么样的,数学家觉得并不重要。然而,在计算机科学中应用的,恰恰就是这些具体的东西。Knuth能够首先看到这一点,不愧为当世计算机第一人。其次,Concrete是Continuous(连续)加上discrete(离散)。不管连续数学还是离散数学,都是有用的数学!
理论与实际的结合--计算机科学研究的范畴
前面主要是从数学角度来看的。从计算机角度来看,理论计算机科学目前主要的研究领域包括:可计算性理论,算法设计与复杂性分析,密码学与信息安全,分布式计算理论,并行计算理论,网络理论,生物信息计算,计算几何学,程序语言理论等等。这些领域互相交叉,而且新的课题在不断提出,所以很难理出一个头绪来。想搞搞这方面的工作,推荐看中国计算机学会的一系列书籍,至少代表了我国的权威。下面随便举一些例子。
由于应用需求的推动,密码学现在成为研究的热点。密码学建立在数论(尤其是计算数论),代数,信息论,概率论和随机过程的基础上,有时也用到图论和组合学等。很多人以为密码学就是加密解密,而加密就是用一个函数把数据打乱。这样的理解太浅显了。
现代密码学至少包含以下层次的内容:
第一,密码学的基础。例如,分解一个大数真的很困难吗?能否有一般的工具证明协议正确?
第二,密码学的基本课题。例如,比以前更好的单向函数,签名协议等。
第三,密码学的高级问题。例如,零知识证明的长度,秘密分享的方法。
第四,密码学的新应用。例如,数字现金,叛徒追踪等。
在分布式系统中,也有很多重要的理论问题。例如,进程之间的同步,互斥协议。一个经典的结果是:在通信信道不可靠时,没有确定型算法能实现进程间协同。所以,改进TCP三次握手几乎没有意义。例如时序问题。常用的一种序是因果序,但因果序直到不久前才有一个理论上的结果....例如,死锁没有实用的方法能完美地对付。例如,......操作系统研究过就自己去举吧!
如果计算机只有理论,那么它不过是数学的一个分支,而不成为一门独立的科学。事实上,在理论之外,计算机科学还有更广阔的天空。
我一直认为,4年根本不够学习计算机的基础知识,因为面太宽了,8年,应该差不多了......
这方面我想先说说我们系在各校普遍开设的《计算机基础》。在高等学校开设《计算机基础课程》是我国高教司明文规定的各专业必修课程要求。主要内容是使学生初步掌握计算机的发展历史,学会简单的使用操作系统,文字处理,表格处理功能和初步的网络应用功能。但是在计算机科学系教授此门课程的目标决不能与此一致。在计算机系课程中目标应是:让学生较为全面的了解计算机学科的发展,清晰的把握计算机学科研究的方向,发展的前沿即每一个课程在整个学科体系中所处的地位。搞清各学科的学习目的,学习内容,应用领域。使学生在学科学习初期就对整个学科有一个整体的认识,以做到在今后的学习中清楚要学什么,怎么学。计算机基本应用技能的位置应当放在第二位或更靠后,因为这一点对于本系的学生应当有这个摸索能力。这一点很重要。推荐给大家一本书:机械工业出版社的《计算机文化》(New Perspective of Computer Science),看了这本书我才深刻的体会到自己还是个计算机科学初学者,才比较透彻的了解了什么是计算机科学。
一个一流计算机系的优秀学生决不该仅仅是一个编程高手,但他一定首先是一个编程高手。我上大学的时候,第一门专业课是C语言程序设计,念计算机的人从某种角度讲相当一部分人是靠写程序吃饭的。关于第一程序设计语言该用哪一种。我个人认为,用哪种语言属于末节,关键在养成良好的编程习惯。当年老师对我们说,打好基础后学一门新语言只要一个星期。现在我觉得根本不用一个星期,前提是先把基础打好。不要再犹豫了,学了再说,等你抉择好了,别人已经会了几门语言了。
汇编语言和微机原理是两门特烦人的课。你的数学/理论基础再好,也占不到什么便宜。这两门课之间的次序也好比先有鸡还是先有蛋,无论你先学哪门,都会牵扯另一门课里的东西。所以,只能静下来慢慢琢磨。这就是典型的工程课,不需要太多的聪明和顿悟,却需要水滴石穿的渐悟。有关这两门课的书,计算机书店里不难找到。弄几本最新的,对照着看吧。组成原理推荐《计算机组成与结构》清华大学王爱英教授写的。汇编语言大家拿8086/8088入个门,之后一定要学80x86汇编语言。实用价值大,不落后,结构又好,写写高效病毒,高级语言里嵌一点汇编,进行底层开发,总也离不开他,推荐清华大学沈美明的《IBM-PC汇编语言程序设计》。有些人说不想了解计算机体系结构,也不想制造计算机,所以诸如计算机原理,汇编语言,接口之类的课觉得没必要学,这样合理吗?显然不合理,这些东西迟早得掌握,肯定得接触,而且,这是计算机专业与其他专业学生相比的少有的几项优势。做项目的时候,了解这些是非常重要的,不可能说,仅仅为了技术而技术,只懂技术的人最多做一个编码工人,而永远不可能全面地了解整个系统的设计,而编码工人是越老越不值钱。关于组成原理还有个讲授的问题,在我学这门课程时老师讲授时把CPU工作原理誉微程序设计这一块略掉了,理由是我们国家搞CPU技术不如别的国家,搞了这么长时间好不容易出了个龙芯比Intel的还差个十万八千里,所以建议我们不要学了。我看这在各校也未见得不是个问题吧!若真是如他所说,那中国的计算机科学哪个方向都可以停了,软硬件,应用,有几项搞得过美国,搞不过别人就不搞了,那我们坐在这里干什么?教学的观念需要转变的。
模拟电路这东东,如今不仅计算机系学生搞不定,电子系学生也多半害怕。如果你真想软硬件通吃,那么建议你先看看邱关源的“电路原理”,也许此后再看模拟电路底气会足些。教材:康华光的“电子技术基础”(高等教育出版社)还是不错的(我校电子系在用)。有兴趣也可以参考童诗白的书。
数字电路比模拟电路要好懂得多。清华大学阎石的书算一本好教材,遗憾的一点是集成电路讲少了些。真有兴趣,看一看大规模数字系统设计吧(北航那本用的还比较多)。
计算机系统结构该怎么教,国际上还在争论。国内能找到的较好教材为Stallings的"Computer Organization and Architecture:Designing for Performance"(清华影印
本)。国际上最流行的则是“Computer architecture: aquantitative approach", by Patterson & Hennessy。
操作系统可以随便选用《操作系统的内核设计与实现》和《现代操作系统》两书之一。这两部都可以算经典,唯一缺点就是理论上不够严格。不过这领域属于Hardcore System,所以在理论上马虎一点也情有可原。想看理论方面的就推荐清华大学出版社《操作系统》吧,高教司司长张尧学写的,我们教材用的是那本。 另外推荐一本《Windows操作系统原理》机械工业出版社的,这本书是我国操作系统专家在微软零距离考察半年,写作历时一年多写成的,教操作系统的专家除了清华大学的张尧学(现高教司司长)几乎所有人都参加了。Bill Gates亲自写序。里面不但结合windows2000,xp详述操作系统的内核,而且后面讲了一些windows编程基础,有外版书的味道,而且上面一些内容可以说在国内外只有那本书才有对windows内核细致入微的介绍,
如果先把形式语言学好了,则编译原理中的前端我看只要学四个算法:最容易实现的递归下降;最好的自顶向下算法LL(k);最好的自底向上算法LR(k);LR(1)的简化SLR(也许还有另一简化LALR)。后端完全属于工程性质,自然又是another story。
推荐教材:Kenneth C.Louden写的“Compiler Construction Principles and Practice”即是《编译原理及实践》(机械工业出版社的译本)
学数据库要提醒大家的是,会用VFP,VB, Power builder不等于懂数据库。(这世界上自以为懂数据库的人太多了!)数据库设计既是科学又是艺术,数据库实现则是典型的工程。所以从某种意义上讲,数据库是最典型的一门计算机课程--理工结合,互相渗透。另外推荐大家学完软件工程学后再翻过来看看数据库技术,又会是一番新感觉。推荐教材:Abraham Silberschatz等着的 "Database System Concepts".作为知识的完整性,还推荐大家看一看机械工业出版社的《数据仓库》译本。
计算机网络的标准教材还是来自Tanenbaum的《Computer Networks》(清华大学有译本)。还有就是推荐谢希仁的《计算机网络教程》(人民邮电出版社)问题讲得比较清楚,参考文献也比较权威。不过,网络也属于Hardcore System,所以光看书是不够的。建议多读RFC,里可以按编号下载RFC文档。从IP的读起。等到能掌握10种左右常用协议,就没有几个人敢小看你了。再做的工作我看放在网络设计上就比较好了。
数据结构的重要性就不言而喻了,学完数据结构你会对你的编程思想进行一番革命性的洗礼,会对如何建立一个合理高效的算法有一个清楚的认识。对于算法的建立我想大家应当注意以下几点:
当遇到一个算法问题时,首先要知道自己以前有没有处理过这种问题.如果见过,那么你一般会顺利地做出来;如果没见过,那么考虑以下问题:
1. 问题是否是建立在某种已知的熟悉的数据结构(例如,二叉树)上?如果不是,则要自己设计数据结构。
2. 问题所要求编写的算法属于以下哪种类型?(建立数据结构,修改数据结构,遍历,查找,排序...)
3. 分析问题所要求编写的算法的数学性质.是否具备递归特征?(对于递归程序设计,只要设计出合理的参数表以及递归结束的条件,则基本上大功告成.)
4. 继续分析问题的数学本质.根据你以前的编程经验,设想一种可能是可行的解决办法,并证明这种解决办法的正确性.如果题目对算法有时空方面的要求,证明你的设想满足其要求.一般的,时间效率和空间效率难以兼得.有时必须通过建立辅助存储的方法来节省时间.
5. 通过一段时间的分析,你对解决这个问题已经有了自己的一些思路.或者说,你已经可以用自然语言把你的算法简单描述出来.继续验证其正确性,努力发现其中的错误并找出解决办法.在必要的时候(发现了无法解决的矛盾),推翻自己的思路,从头开始构思.
6. 确认你的思路可行以后,开始编写程序.在编写代码的过程中,尽可能把各种问题考虑得详细,周密.程序应该具有良好的结构,并且在关键的地方配有注释.
7. 举一个例子,然后在纸上用笔执行你的程序,进一步验证其正确性.当遇到与你的设想不符的情况时,分析问题产生的原因是编程方面的问题还是算法思想本身有问题.
8. 如果程序通过了上述正确性验证,那么在将其进一步优化或简化。
9. 撰写思路分析,注释.
对于具体的算法思路,只能靠你自己通过自己的知识和经验来加以获得,没有什么特定的规律(否则程序员全部可以下岗了,用机器自动生成代码就可以了).要有丰富的想象力,就是说当一条路走不通时,不要钻牛角尖,要敢于推翻自己的想法.我也只不过是初学者,说出上面的一些经验,仅供大家参考和讨论。
关于人工智能,我觉得的也是非常值得大家仔细研究的,虽然不能算是刚刚兴起的学科了,但是绝对是非常有发展前途的一门学科。我国人工智能创始人之一,北京科技大学涂序彦教授(这老先生是我的导师李小坚博士的导师)对人工智能这样定义:人工智能是模?
B. 中国人民大学数据库专业属于什么方向系统结构,软件与理论,还是计算机应用技术
其实现在很多人都在跨专业考研,而且其中也不少成功之人(本人也算是其中一员吧,呵呵~)。只不过跨专业得比考本专业付出更多的努力才能获得同等的成功!
当然,相比之下,如果你想考名牌大学,我个人认为考本专业的胜算会更大些。但是不管怎样,研究生阶段的专业应该和你未来的就业是紧密结合在一起的,所以,你最好结合自己的兴趣以及个人能力等等许多综合条件来考虑。
全国范围 与 计算机 相关的共有 13 个专业,详细信息如下: 查询提示: 带*的为院校自设专业·081200 计算机科学与技术·081201 计算机系统结构·081202 计算机软件与理论·081203 计算机应用技术·081220 计算机科学与技术(...*·081220 计算机科学与技术(...*·081220 计算机科学与技术(...*·081220 计算机科学与技术(...*·081221 计算机科学与技术(...*·081221 计算机科学与技术(...*·081280 计算机软件与理论(软...*·081423 土木工程计算机仿真*·081820 计算机技术与资源信...*
计算机系统结构(47)
排名
学校名称
等级
排名
学校名称
等级
排名
学校名称
等级
1
清华大学
A+
4
浙江大学
A
7
西安电子科技大学
A
2
华中科技大学
A+
5
上海交通大学
A
8
复旦大学
A
3
西安交通大学
A
6
武汉大学
A
9
吉林大学
A
B+等(14个):东南大学、东北大学、北京航空航天大学、哈尔滨工业大学、北京大学、北京邮电大学、山东大学、中国科学技术大学、电子科技大学、重庆大学、北京科技大学、西北工业大学、中山大学、中南大学
B等(14个):同济大学、北京理工大学、大连理工大学、华南理工大学、北京交通大学、湖南大学、南京理工大学、哈尔滨工程大学、四川大学、华东师范大学、上海大学、天津大学、西北大学、广东工业大学
C等(10个):名单略
计算机应用技术(271)
排名
学校名称
等级
排名
学校名称
等级
排名
学校名称
等级
1
清华大学
A+
19
武汉大学
A
37
合肥工业大学
A
2
浙江大学
A+
20
华南理工大学
A
38
苏州大学
A
3
北京航空航天大学
A+
21
电子科技大学
A
39
江苏大学
A
4
华中科技大学
A+
22
大连理工大学
A
40
大连海事大学
A
5
北京大学
A+
23
天津大学
A
41
中山大学
A
6
上海交通大学
A+
24
中南大学
A
42
北京化工大学
A
7
哈尔滨工业大学
A+
25
上海大学
A
43
重庆大学
A
8
北京理工大学
A+
26
南京大学
A
44
南京理工大学
A
9
东南大学
A+
27
四川大学
A
45
中国海洋大学
A
10
西安电子科技大学
A+
28
中国科学技术大学
A
46
太原理工大学
A
11
东北大学
A+
29
北京工业大学
A
47
湖南工业大学
A
12
吉林大学
A+
30
同济大学
A
48
北京交通大学
A
13
西北工业大学
A+
31
华东师范大学
A
49
燕山大学
A
14
复旦大学
A
32
湖南大学
A
50
上海海事大学
A
15
哈尔滨工程大学
A
33
西安交通大学
A
51
新疆大学
A
16
西南交通大学
A
34
山东大学
A
52
重庆邮电大学
A
17
北京邮电大学
A
35
北京科技大学
A
53
南华大学
A
18
南京航空航天大学
A
36
安徽大学
A
54
首都师范大学
A
B+等(81个):中国矿业大学、武汉理工大学、河海大学、哈尔滨理工大学、中国人民大学、黑龙江大学、华东理工大学、郑州轻工业学院、广东工业大学、浙江工业大学、南京邮电大学、华中师范大学、山西大学、内蒙古大学、江南大学、沈阳航空工业学院、南开大学、兰州理工大学、长沙理工大学、西华师范大学、华北电力大学、杭州电子科技大学、东北财经大学、西安理工大学、五邑大学、天津工业大学、南京工业大学、成都信息工程学院、天津科技大学、大连水产学院、昆明理工大学、河北工业大学、西北民族大学、浙江工商大学、长春理工大学、内蒙古科技大学、上海理工大学、西安邮电学院、广西大学、中国地质大学、桂林工学院、青岛大学、东华大学、西安建筑科技大学、大连交通大学、兰州大学、北京师范大学、辽宁工程技术大学、武汉科技学院、河南理工大学、北京信息科技大学、北方工业大学、深圳大学、辽宁大学、西安科技大学、江苏科技大学、汕头大学、桂林电子科技大学、浙江理工大学、黑龙江科技学院、暨南大学、沈阳理工大学、河南科技大学、湖南师范大学、南昌航空工业学院、南京师范大学、山东科技大学、辽宁石油化工大学、中国民航大学、郑州大学、云南大学、太原科技大学、厦门大学、江苏工业学院、武汉科技大学、中国石油大学、安徽理工大学、中国传媒大学、安徽工业大学、西南大学、中原工学院
B等(81个):中南林业科技大学、石家庄铁道学院、齐齐哈尔大学、山东轻工业学院、河北大学、湖北大学、河南工业大学、沈阳工业大学、宁波大学、河北科技大学、福建师范大学、江西师范大学、湘潭大学、天津理工大学、云南财经大学、江西理工大学、大庆石油学院、东北电力大学、重庆交通大学、河北工程大学、上海水产大学、西华大学、青岛理工大学、江西农业大学、长春工业大学、华东交通大学、华南农业大学、南京农业大学、江西财经大学、西北农林科技大学、重庆工学院、西北大学、兰州交通大学、成都理工大学、浙江师范大学、内蒙古师范大学、北京工商大学、鞍山科技大学、辽宁工学院、北京联合大学、武汉工程大学、济南大学、陕西师范大学、大连大学、安徽师范大学、西北师范大学、内蒙古工业大学、河南师范大学、东华理工大学、贵州财经学院、四川师范大学、河南大学、东北师范大学、福州大学、南京信息工程大学、湖南科技大学、华南师范大学、长安大学、西南科技大学、山东师范大学、烟台大学、广西师范大学、曲阜师范大学、扬州大学、哈尔滨师范大学、山东经济学院、西安工程大学、中北大学、西南石油大学、西安工业大学、河北农业大学、广西民族学院、吉林农业大学、东北农业大学、贵州师范大学、广西师范学院、山西师范大学、华北水利水电学院、辽宁师范大学、贵州大学、河北师范大学
C等(55个):名单略
上面的排名你可以参考一下,最好结合院校本身的综合实力来考虑院校的选择。我还帮你找了些资料,你可以参考一下。
计算机类专业考研分支方向
01中文信息处理
02模式识别
03数据库技术
04领域数据工程
05软件集成技术
06数据挖掘
07数字图像处理
08科学计算可视化
09新一代系统软件
10软件工程
11网格计算
12智能数据处理
13智能化数据服务
14低功耗SOC
15计算机仿真
16系统仿真建模与分析
17计算机智能管理
18软件设计方法
19分布/迁移/网络计算
20Linux操作系统及应用
21智能网络与智能通信
22网络技术与安全
23人工智能及应用
24信息安全技术
25人工智能与人工生命
26企业信息化软件平台与中间件技术
27嵌入式系统研究
28宽带网络协议研究
29实时系统软件体系结构研究
30网络与通信系统集成电路设计
31图像处理与表面检测
32高性能计算
33并行编译
计算机的核心课程大致为:数据结构,组成原理,离散数学,操作系统,编译原理,系统结构,软件工程,OOP,图形学,网络,C/C++/Pascal/Asm编程语言等。而考研的科目,一般为前面的五到六科(不同学校选择的科目会有不同)。
2010年计算机考研大纲
地址:
计算机考研全国统考复习指导及备战建议
地址:
09年全国计算机专业排名公布
地址:
计算机考研统考行之有效的备考方案
地址:
计算机考研最好考的10所学校
地址:
考研院校选择三大误区
地址:
计算机专业考研经验谈 掌握方法以不变应万变
地址:
关于计算机考研、计算机就业推荐你去计算机吧
全国硕士研究生入学统一考试计算机专业课推荐参考书目
一、数据结构
★ 严蔚敏、吴伟民编着:《数据结构(c语言版)》,清华大学出版社
★ 严蔚敏、吴伟民编着:《数据结构题集(C语言版)》,清华大学出版社
二、计算机组成原理
★唐朔飞编着:《计算机组成原理》,高等教育出版社,1999年版
★唐朔飞编着:《计算机组成原理学习指导与习题解答》,高等教育出版社,2005年9月
★白中英主编:《计算机组成原理》,科学出版社
三、操作系统
★汤小丹、梁红兵、哲凤屏、汤子瀛编着:《计算机操作系统(第三版)》,西安电子科技大学出版社 ★梁红兵、汤小丹编着:《计算机操作系统》学习指导与题解(第二版),西安电子科技大学出版社,2008年9月
四、计算机网络
★谢希仁编着:《计算机网络(第5版)》,电子工业出版社
★高传善、毛迪林、曹袖主编:《数据通信与计算机网络(第2版)》,高等教育出版社说明:
相关参考辅导书:
★《全国硕士研究生入学统一考试计算机专业基础综合考试大纲解析》,高等教育出版社,2008年10月
★巩微、冯东晖主编:《2009年考研计算机学科专业基础综合考试全真模拟试题集》,原子能出版社,2008年10月
★阳光考研命题研究中心编写:《2009年考研计算机科学专业基础综合考试教程》,中国人民大学出版社,2008年11月
希望我的回答对你有点帮助!
现行会计理论的研究方法有两大类:
第一类,规范研究方法
(一)归纳法(Inctive approach)
•归纳法的特点是,通过对大量现象进行观察,然后加以分类,从中概括出有关概念的内在联系,再把它们组织或表述为理论。
•步骤:观察(观察与记录全部的观察结果)→分类(分析与分类记录结果)→概括(从观察到的关系中推导出会计的一般概念或原则)→验证(验证推导出的结论)
•归纳法的优点:不受预定模式束缚,把理论或结论建立在大量现象的基础上。
•缺陷:个人的观察对象和范围有限,每个企业或经济组织的情况不同,有关的内在联系或数据关系也可能不同,使归纳的结论难免以偏概全。
(二)演绎法(Dective Approach)
•演绎法是从一定的基本概念出发,推导出研究对象的逻辑性结构。在会计上,演绎法应以有关财务报告目标、假设或其他概念为前提,推导出能指导会计实务的原则、准则以及相应的会计方法程序。
•推导程序:前提命题 →推导结论→验证→具体问题
•优点:可以保持相关概念之间的内在关系,使理论构建具有逻辑严密性。
缺陷:演绎法推导的结论取决于前提命题,如果前提命题错误,则整个结论结构都将是错误的
(三)规范研究方法的评价
•优点:
⑴研究方法较为成熟 发展历史悠久,较为完善
⑵可以较好地发展会计理论和实务规范会计理论的着眼点是导致良好的会计实务,也就是力求规范和超越现行的会计理论和实务,而促其发展。现有会计理论研究中的绝大部分成果是规范方法所形成的。例如美国等国家财务会计概念结构的出台,大大推动了会计理论研究的内在逻辑性,财务会计准则的严密性大大加强。
•缺点:
⑴方法论上有缺陷不重视实践到认识、再实践、再认识的循环,不少理论未经过验证,仍属于学术上的假设和推论。受个人视野、知识结构等影响,有些理论实际意义较小。
⑵研究方法不够精确侧重定性分析而忽略定量分析,涉及变量较多时难以揭示事物间微妙的区别联系。现今会计目标不再单一,根据单一目标建立起的理论有效性受到怀疑。
第二大类,实证研究方法实证法作为构建会计理论的一种方法,就是要根据实际效用或实在的因果关系来选择会计概念、原则、准则和各种程序。并且,如果这些概念、程序有助于实现管理当局的经营目的,或有助于投资人、债权人或其他使用者理解财务报表,并帮助他们进行合理的决策,则它们是有用的,否则就是不可取的。
(一)背景和理论基础
•高通货膨胀和经济衰退的时代背景20世纪60年代末、70年代初,“滞涨”阶段,基于历史成本的传统会计理论体系由于通货膨胀失去了有效性,规范会计理论的研究成果也因为持续经济衰退失去了现实意义。
•方法论基础美国经济学家 M.弗里曼“实证经济理论”卡托斯 “精致证伪主义”瓦茨和齐默尔曼 1978《论建立会计准则的实证研究》《实证会计理论》。
•经济学与财务基础20世纪60年代起对有效市场假设进行的大规模试验验证,结果证明有些假定条件实际并不存在。
(二)实证研究方法的程序
•⑴提出命题实证理论的发展通常是从人们意欲解释的某种现象开始的。命题既可以是探索性的,也可能是确认性的。前者的目的在于创建新的理论,后者的目的在于检验和修正现有理论。命题经过验证后可能证明是正确的,也可能证明是不正确的。
•⑵建立假设每一命题都有其赖以存在的客观环境,如对某一命题所处的环境不加以限定,就很难对命题的正误进行验证。
•⑶收集资料实证研究方法对意欲验证的命题要求完全根据实际资料进行验证。为了实证材料更恰当,往往需要将假设具体化,使之具有可操作性,具体而言就是对假设中的概念予以严格定义,使之转化为可以计量的变量,确定变量的计量方法,检查命题的有效性和可靠性。
•⑷设计研究方案两种基本的设计方法:
①实验设计。一般需将研究对象分成两群,一群接受实验,另一群则不接受实验,将两组的观察结果进行分析比较来体现实验效果。
②调查设计。社会调查的主要方法包括问卷调查、访谈调查及利用现有资料。
•⑸验证真伪在广泛收集资料的基础上,采用设计的研究方案,分析数据,从而验证假设的真伪。假设的测试方法多种多样,例如单变量分析法、双变量分析法和多变量分析法等。具体选择方法要考虑多种因素,包括假设涉及的变量数目与变量类型。
•⑹分析预测除证实或否定假设外,研究者还应对其研究结果加以引申,明确假设的现实意义和作用,以对日后可能发生的结果进行预测。
预测方面:
①说明假设的证实或否定对现有理论的意义,指出现有理论的正确性或者重建和修正的必要性,并提出实际的思路做法
②讨论研究结果的实际政策意义,包括对会计准则制定者、公司管理人员等意味着什么
③讨论进一步研究的余地和前景
(三)实证研究方法的评价
•优点:
•研究方法较为科学和准确用假设的实证检验代替研究者的价值判断,对先提出命题使用客观、可观察、可实验的实际证据来进行检验。其次,定性分析和定量分析相结合,从理论到假设再到假设的操作化,依靠数理统计等方法,分析数据,有较高的准确性。
•实践意义较大建立在考察和验证会计实务所得到的实际数据的基础上的,旨在解释会计为何如此并进行预测,侧重于现实目标而不是理想目标,紧密联系会计实务。
•拓展和深化了会计研究领域为会计理论研究提供了良好地支撑,研究者可以广泛地利用这种研究方法,从而使会计理论覆盖领域日益宽广,实证会计理论成为当代西方会计理论的重要分支。
•缺点:
•关于方法论的批评关于会计政策涵义及其影响的讨论也明显带着研究者的价值取向;仍要借助于规范性概念结构有关的理论命题假说。
•关于研究方法的批评仍不完善的表现:
①过分强调盈利对证券价格及收益的影响,而忽略了其他相关变量的影响。
②对被观察企业或实证证据带有选择偏向,即选取有利于实现假设或命题的样本和数据。
③在验证特定会计信息或事项的影响是,通常忽略非会计信息或事项因素的影响。
④实证研究依赖的“有效市场假说”和“资本资产定价模型”带有较多假设前提,未必与经济现实吻合。
•研究结论缺乏现实指导意义实证会计理论不承认会计应当如何,认为会计理论的任务是解释和预测会计实务。因此其提出的概念理论和具体程序与方法拘泥于现行会计实务的水平。
迄今为止探索性实证会计研究的进展甚微,实证研究的大量增加并没有带来会计理论增加。 会计准则制定还主要依靠规范性
(四)实证研究与规范研究的互补性
•规范会计理论研究由于是从逻辑高度来把握整个会计理论研究过程,因此其研究成果往往和会计实务存在一定的差距,而实证会计理论研究则立足于会计实务,其研究成果与实务中结果比较吻合
•实证会计研究适合于对具体的会计理论问题进行证实或证伪,但如果涉及到对整个会计理论框架的研究则无能为力,此时便必须依赖规范会计研究。
•规范研究和实证研究相结合的两方面涵义阶段上的结合。开始时排除主观价值判断,通过实证性研究客观地揭示该会计理论问题所蕴含的规律;在此基础上,通过理性逻辑思维再对所揭示出的规律惊醒利用,从而构建规范会计理论。层次的结合。会计问题目标的层次越低,该会计问题与会计实务的具体方面的联系越密切,其研究越具有实证性。例如,对会计政策选择问题的研究实证性更强,所形成的会计理论主要是实证会计理论。反之,层次性越高,其研究越具有规范性。例如会计准则制定问题的研究规范更重。
D. 哪些数据库不是开放获取资源,不可无限制获取学术论文
(一)论文名称
论文名称就是课题的名字
第一,名称要准确、规范。准确就是论文的名称要把论文研究的问题是什么,研究的对象是什么交待清楚,论文的名称一定要和研究的内容相一致,不能太大,也不能太小,要准确地把你研究的对象、问题概括出来。
第二,名称要简洁,不能太长。不管是论文或者课题,名称都不能太长,能不要的字就尽量不要,一般不要超过20个字。
(二)论文研究的目的、意义研究的目的、意义也就是为什么要研究、研究它有什么价值。这一般可以先从现实需要方面去论述,指出现实当中存在这个问题,需要去研究,去解决,本论文的研究有什么实际作用,然后,再写论文的理论和学术价值。这些都要写得具体一点,有针对性一点,不能漫无边际地空喊口号。主要内容包括:⑴研究的有关背景(课题的提出):即根据什么、受什么启发而搞这项研究。⑵通过分析本地(校)的教育教学实际,指出为什么要研究该课题,研究的价值,要解决的问题。
(三)本论文国内外研究的历史和现状(文献综述)
规范些应该有,如果是小课题可以省略。一般包括:掌握其研究的广度、深度、已取得的成果;寻找有待进一步研究的问题,从而确定本课题研究的平台(起点)、研究的特色或突破点。
(四)论文研究的指导思想
指导思想就是在宏观上应坚持什么方向,符合什么要求等,这个方向或要求可以是哲学、政治理论,也可以是政府的教育发展规划,也可以是有关研究问题的指导性意见等。
(五)论文写作的目标
论文写作的目标也就是课题最后要达到的具体目的,要解决哪些具体问题,也就是本论文研究要达到的预定目标:即本论文写作的目标定位,确定目标时要紧扣课题,用词要准确、精练、明了。常见存在问题是:不写研究目标;目标扣题不紧;目标用词不准确;目标定得过高, 对预定的目标没有进行研究或无法进行研究。
(六)论文的基本内容
研究内容要更具体、明确。并且一个目标可能要通过几方面的研究内容来实现,他们不一定是一一对应的关系。大家在确定研究内容的时候,往往考虑的不是很具体,写出来的研究内容特别笼统、模糊,把写作的目的、意义当作研究内容。
基本内容一般包括:⑴对论文名称的界说。应尽可能明确三点:研究的对象、研究的问题、研究的方法。⑵本论文写作有关的理论、名词、术语、概念的界说。
E. 如何利用sci/ssci数据库开展学术研究
Social Sciences Citation Index (《社会科学引文索引》SSCI )是由美国科学信息研究所(ISI)创办出版的引文索引数据库,内容覆盖包括人类学、法律、经济、历史、地理、心理学等55个领域。收录文献类型包括:研究论文,书评,专题讨论,社论,人物自传,书信等。收录期刊为1300多种。是Web of Science中7个子库之一。Web of Science 利用Web of Knowledge平台发布。
Web of Science 包括着名的三大引文索引(Science Citation Index Expanded、Social Sciences Citation Index和Arts & Humanities Citation Index)、两大会议索引(Conference Proceedings Citation Index – Science和Conference Proceedings Citation Index - Social Science & Humanities)及两大化学信息数据库(Current Chemical Reactions 和Index Chemicus)。每条文献的信息包括论文的参考文献列表,允许用户通过被引作者或被引文献的出处展开检索,可轻松地追溯课题的起源和发展,揭示研究之间隐含的联系,全面掌握有关某一研究课题的过去、现在与将来。
Web of Science
•内容涵盖自然科学、工程技术、生物医学、社会科学、艺术与人文领域
•四十多年严格一致的选刊标准,精选1,5000多种核心学术期刊和会议
•独特的引文检索,可轻松地追溯课题的起源、发展和相互关系
•强大的信息分析和引文报告功能,分析绩效,把握趋势
•Email和RSS定制主题及引文跟踪服务,随时把握最新研究动态
•一次点击链接全文、馆藏
•借助引证关系图直观展示引用关系
•借助引文报告功能以图形方式揭示引用活动和趋势
•使用分析工具确定研究趋向和模式
•文献回溯至 1900 年 ,追溯100多年的科技文献及其影响
F. 循证学的研究方法与研究对象
所谓循证实践,主要是针对医学及人文社会科学的实践领域而言的,其字面意义为“以证据为基础的实践”,引申为“遵循证据进行实践”,是实践者针对消费者(本文中的“消费者”泛指实践者所服务的对象,按具体情境的不同,也可称之为病人、顾客、来访者或服务对象,等等) 的具体问题,在消费者的主动配合下,根据研究者提供的最佳证据及管理者制定的实践指南与标准等所进行的实践。具体说来,循证实践是一个涉及研究者、实践者、实践对象与相关管理者四个方面的理论体系。首先,研究者提供与实践相关的最佳证据。循证实践将研究证据按其所使用的方法的“科学性”程度进行分级,大样本、多中心的随机控制试验(或元分析与系统综述)所获得的证据级别最高,准实验研究、相关研究及质化研究获得的证据次之,专家意见与个人经验位居最后。只有在高等级证据缺失的情况下,才考虑采用低等级的证据。其次,研究者进行制定相关指南与标准,建立证据数据库,并沟通其他三方的关系。研究机构方面,除了医学领域以外,已有多个专业人文社会科学研究机构相续建立,例如南加州大学的Hamovitch人类服务研究中心以及西南财经大学中国西部经济研究中心。数据库方面,截止2013年全世界已有多个专业学术数据库收集并传播循证证据(如表1) 。再次,实践者根据最佳证据进行实践。循证实践有着相对固定的步骤,普通实践者(不必是专家或精英)都可以遵照执行。最后,实践对象积极参与决策。他们既要考虑实践的成本—效益,也要考虑研究证据与实践者的建议,与实践者一道制定实践的决策。最终的决策应是实践者经验、实践对象的愿望及研究证据之间所取得的平衡。
循证实践的框架体系主要包括四个方面 : ①研究者的证据。即从事应用研究(或实践相关的基础研究) 的研究者为实践所提供的研究证据。这些证据的来源是多方面的,可以是大样本、多中心、双盲的随机对照试验(randomized controlled trial ,RCT) 或元分析所获得的数据,也可以是质化研究甚至单个个案研究得到的结论,还可以是专家意见或个体经验。这些证据都可用于指导实践,但它们对实践的参考价值不一样, 级别有着高低之分,RCT 及元分析获得的证据级别最高,是指导实践的“金标准”,而专家意见、个体经验等证据的级别最低,只有在高级别证据不存在的情况下才可采用。②实践者的实践。实践者针对消费者的具体问题,考虑他们特定的价值观、文化与偏好等因素,根据研究者提供的最佳证据,结合自己的个人经验采取实践决策并完成实践过程。相对于传统实践模式,循证实践的决策过程是透明的,可以被其他实践者所复制,为第三方机构或人员所证明,不同的实践者应做出大致相同的实践决策。③消费者的主动参与。根据研究证据与实践者的建议,消费者平衡成本与效益的关系,积极地参与到实践决策的过程中,协助实践者制定实践计划,及时反馈实践结果,与实践者共同完成实践过程。④管理者的协调。管理者根据循证实践的需要,协调研究者、实践者、消费者三者之间的关系,运用财政资助、课题申请、着作出版、论文发表等杠杆,适当地调控研究者的研究方向,规范研究证据的发表与出版,建立相应的证据数据库,制定实践指南或标准,并与其它第三方机构(如保险公司等) 进行沟通。这样,循证实践平衡了研究者、实践者、消费者以及管理者四方的利益,将其有机地整合在一个框架体系中,为实践领域中应用研究成果、缩短研究与实践的距离架设了一座沟通的桥梁。
G. 美国三大检索系统是指哪三个数据库,写出具体的数据库名称,并简述SCIE文献分析功能的作用。
1、SCI ,即《科学引文索引》,是自然科学领域基础理论学科方面的重要期刊文摘索引数据库。
它创建于1961 年,创始人为美国科学情报研究所所长 Eugene Garfield(1925.9.15).利用它,可以检索数学、物理学、化学、天文学、生物学、医学、农业科学以及计算机科学、材料科学等学科方面自 1945 年以来重要的学术成果信息;SCI 还被国内外学术界当做制定学科发展规划和进行学术排名的重要依据。
2、Ei,即《工程索引》,创刊于 1884 年,由 Elsevier Engineering Information Inc. 编辑出版。主要收录工程技术领域的论文(主要为科技期刊和会议录论文 ) ,数据覆盖了核技术、生物工程、交通运输、化学和工艺工程、照明和光学技术、农业工程和食品技术、计算机和数据处理、应用物理、电子和通信、控制工程、土木工程、机械工程、材料工程、石油、宇航、汽车工程等学科领域。
3、ISTP ,即《科学技术会议录索引》,创刊于 1978 年,由美国科学情报研究所编制,主要收录国际上着名的科技会议文献。它所收录的数据包括农业、环境科学、生物化学、分子生物学、生物技术、医学、工程、计算机科学 、化学、物理学等学科。从 1990-2003 年间, ISTP 和 ISSHP( 后文将要讲到 ISSHP) 共收录了 60 , 000 个会议的近 300 万篇论文的信息。
H. 论文的研究方法有哪些
1、归纳方法与演绎方法:归纳就是从个别事实中概括出一般性的结论原理;演绎则是从一般性原理、概念引出个别结论。归纳是从个别到一般的方法;演绎是从一般到个别的方法。
门捷列夫使用归纳法,在人们认识大量个别元素的基础上,概括出了化学元素周期律。后来他又从元素周期律预言当时尚未发现的若干个元素的化学性质,使用的就是演绎法。
2、分析方法与综合方法:分析就是把客观对象的整体分为各个部分、方面、特征和因素而加以认识。它是把整体分为部分,把复杂的事物分解为简单的要素分别加以研究的一种思维方法。
分析是达到对事物本质认识的一个必经步骤和必要手段。分析的任务不仅仅是把整体分解为它的组成部分,而且更重要的是透过现象,抓住本质,通过偶然性把握必然性。
3、因果分析法:就是分析现象之间的因果关系,认识问题的产生原因和引起结果的辩证思维方法。使用这种方法一定要注意到真正的内因与结果,而不是似是而非的因果关系。
要注意结果与原因的逆关系,一方面包括“用原因来证明结果”,同时也包括“用结果来推论原因”。不同的事物,一般都一身二任,既是原因,又是结果,而且一个结果往往有不同层次的几个原因。因此,在研究过程中,对所分析的问题必须寻根究底。
(8)数据库学术理论研究方法解析扩展阅读
一般高校将论文重合度30%以上定为抄袭的文章,即论文审核不通过。
在确认抄袭行为中,需要与形式上相类似的行为进行区别,具体如下:
(1)抄袭与利用着作权作品的思想、意念和观点。一般的说,作者自由利用另一部作品中所反映的主题、题材、观点、思想等再进行新的创作,在法律上是允许的,不能认为是抄袭。
(2)抄袭与利用他人作品的历史背景、客观事实、统计数字等。各国着作权法对作品所表达的历史背景、客观事实统计数字等本身并不予以保护,任何人均可以自由利用。但是完全照搬他人描述客观事实、历史背景的文字,有可能被认定为抄袭。
(3)抄袭与合理使用。合理使用是作者利用他人作品的法律上的依据,一般由各国着作权法自行规定其范围。凡超出合理使用范围的,一般构成侵权,但并不一定是抄袭。
(4)抄袭与巧合。着作权保护的是独创作品,而非首创作品。类似作品如果是作者完全独立创作的,不能认为是抄袭。
I. 数据挖掘中建立模型 采用的是什么研究方法
1.可视化分析
大数据分析的使用者有大数据分析专家,同时还有普通用户,但是他们二者对于大数据分析最基本的要求就是可视化分析,因为可视化分析能够直观的呈现大数据特点,同时能够非常容易被读者所接受,就如同看图说话一样简单明了。
2. 数据挖掘算法
大数据分析的理论核心就是数据挖掘算法,各种数据挖掘的算法基于不同的数据类型和格式才能更加科学的呈现出数据本身具备的特点,也正是因为这些被全世界统计 学家所公认的各种统计方法(可以称之为真理)才能深入数据内部,挖掘出公认的价值。另外一个方面也是因为有这些数据挖掘的算法才能更快速的处理大数据,如 果一个算法得花上好几年才能得出结论,那大数据的价值也就无从说起了。
3. 预测性分析
大数据分析最终要的应用领域之一就是预测性分析,从大数据中挖掘出特点,通过科学的建立模型,之后便可以通过模型带入新的数据,从而预测未来的数据。
4. 语义引擎
非结构化数据的多元化给数据分析带来新的挑战,我们需要一套工具系统的去分析,提炼数据。语义引擎需要设计到有足够的人工智能以足以从数据中主动地提取信息。
5.数据质量和数据管理。 大数据分析离不开数据质量和数据管理,高质量的数据和有效的数据管理,无论是在学术研究还是在商业应用领域,都能够保证分析结果的真实和有价值。
大数据分析的基础就是以上五个方面,当然更加深入大数据分析的话,还有很多很多更加有特点的、更加深入的、更加专业的大数据分析方法。
大数据的技术
数据采集: ETL工具负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。
数据存取: 关系数据库、NOSQL、SQL等。
基础架构: 云存储、分布式文件存储等。
数据处理: 自然语言处理(NLP,Natural Language Processing)是研究人与计算机交互的语言问题的一门学科。处理自然语言的关键是要让计算机”理解”自然语言,所以自然语言处理又叫做自然语言理解也称为计算语言学。一方面它是语言信息处理的一个分支,另一方面它是人工智能的核心课题之一。
统计分析: 假设检验、显着性检验、差异分析、相关分析、T检验、 方差分析 、 卡方分析、偏相关分析、距离分析、回归分析、简单回归分析、多元回归分析、逐步回归、回归预测与残差分析、岭回归、logistic回归分析、曲线估计、 因子分析、聚类分析、主成分分析、因子分析、快速聚类法与聚类法、判别分析、对应分析、多元对应分析(最优尺度分析)、bootstrap技术等等。
数据挖掘: 分类 (Classification)、估计(Estimation)、预测(Prediction)、相关性分组或关联规则(Affinity grouping or association rules)、聚类(Clustering)、描述和可视化、Description and Visualization)、复杂数据类型挖掘(Text, Web ,图形图像,视频,音频等)
模型预测 :预测模型、机器学习、建模仿真。
结果呈现: 云计算、标签云、关系图等。
大数据的处理
1. 大数据处理之一:采集
大数据的采集是指利用多个数据库来接收发自客户端(Web、App或者传感器形式等)的 数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。比如,电商会使用传统的关系型数据库MySQL和Oracle等来存储每一笔事务数据,除 此之外,Redis和MongoDB这样的NoSQL数据库也常用于数据的采集。
在大数据的采集过程中,其主要特点和挑战是并发数高,因为同时有可能会有成千上万的用户 来进行访问和操作,比如火车票售票网站和淘宝,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署大量数据库才能支撑。并且如何在这些数据库之间 进行负载均衡和分片的确是需要深入的思考和设计。
2. 大数据处理之二:导入/预处理
虽然采集端本身会有很多数据库,但是如果要对这些海量数据进行有效的分析,还是应该将这 些来自前端的数据导入到一个集中的大型分布式数据库,或者分布式存储集群,并且可以在导入基础上做一些简单的清洗和预处理工作。也有一些用户会在导入时使 用来自Twitter的Storm来对数据进行流式计算,来满足部分业务的实时计算需求。
导入与预处理过程的特点和挑战主要是导入的数据量大,每秒钟的导入量经常会达到百兆,甚至千兆级别。
3. 大数据处理之三:统计/分析
统计与分析主要利用分布式数据库,或者分布式计算集群来对存储于其内的海量数据进行普通 的分析和分类汇总等,以满足大多数常见的分析需求,在这方面,一些实时性需求会用到EMC的GreenPlum、Oracle的Exadata,以及基于 MySQL的列式存储Infobright等,而一些批处理,或者基于半结构化数据的需求可以使用Hadoop。
统计与分析这部分的主要特点和挑战是分析涉及的数据量大,其对系统资源,特别是I/O会有极大的占用。
4. 大数据处理之四:挖掘
与前面统计和分析过程不同的是,数据挖掘一般没有什么预先设定好的主题,主要是在现有数 据上面进行基于各种算法的计算,从而起到预测(Predict)的效果,从而实现一些高级别数据分析的需求。比较典型算法有用于聚类的Kmeans、用于 统计学习的SVM和用于分类的NaiveBayes,主要使用的工具有Hadoop的Mahout等。该过程的特点和挑战主要是用于挖掘的算法很复杂,并 且计算涉及的数据量和计算量都很大,常用数据挖掘算法都以单线程为主。
整个大数据处理的普遍流程至少应该满足这四个方面的步骤,才能算得上是一个比较完整的大数据处理。