`
izuoyan
  • 浏览: 8911455 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

计算机教材:写给自己,还是读者

阅读更多

计算机教材:写给自己,还是读者

北京理工大学计算机学院 金旭亮

进入21世纪以来,人类已进入信息时代,社会对计算机人才的需求大增。在这个大趋势下,我国上千所大中专院校,除了少数极为专业的院校,绝大部分都开设了计算机及相关专业,在读的学生估计可能达到数十万人。

巨大的市场需求推动了计算机教材的繁荣,各大出版社或引进或组织教师编写,各种计算机教材陆续走进了课堂。

供需两旺,市场繁荣,好象局势一片大好。

然而,这欣欣向荣的表象之下,真的也是“局势一片大好吗”

一、计算机类教材的隐忧

1.题材撞车与“自留地”现象

有谁能说出全国一共出了多少种《C程序设计》教材?有谁能说出全国出了多少种《编译原理》教材?还有《数据结构》、《微机原理》、《软件工程》、《离散数学》……,几乎所有的计算机专业骨干课程,都可以列出长长的一个书单。而这些教材,几乎都是一个模子里出来的,从目录上看,内容差不多,甚至连写作的语言也让人“眼熟”。

很明显,教材的写作似乎已进入“工业化大生产”阶段,教材成了“教材生产流水线”上的产品。

然而我怀疑,这样的生产流水线,出得了堪称精品的教材?

教材内容雷同的现状,催生了各个院校在教材选用上的“自留地”现象,即选教材时优先选用本校教师写的教材。因为大部分的教材内容大同小异,那为什么不用自己的?做出这个决定省时省力,而且可以说出一连串的“合情合理”原因。

但教材选用上的“自留地”现象,客观上为推广优秀教材带来了阻碍。

2.面孔严肃,拒人千里

我的一个朋友有句名言——“书非K不能读也!”。他的意思是,学习教材的过程是非常痛苦的,要经历一个“死去活来”的过程,才能最终琢磨出味道来。

在我看来,这实在太确切了。

我们太多的教材,老板着个脸,文字乏味枯燥,拒人于千里之外。在这方面,最典型的是理论性本身就很强的教材。比如《离散数学》,大多数的教材都充满了大量的抽象的概念与定理,并夹杂着大段大段枯燥的形式化推导与证明,如果有人告诉我这样的书他读得“很享受”,那他不是一个“数学天才”就是在说反话。

北京某著名大学的老师编写的《离散数学教程》,写作风格比较简洁,但太简洁时就增大了阅读的难度,薄薄的几页有时就得耗去读者数个小时。刚好手头还有另一本机械工业出版社引进的《离散数学及应用》(《Discrete Mathematics and Its Applications》,Kenneth H.Rosen著),就显得平易近人多了,论厚度,这本是耿老师写的书的1.5倍左右,但相比之下,我还是宁愿抱着台电脑用“金山词霸”去啃这厚厚的“英文砖头书”。

这位著名学府的老师她本人无疑具有很高的数学水平,而这本教材,我想可能是针对北大基础很好的本科生编写的,对于象我一样数学水平有限的普通读者选它来学习,无疑是个错误。

国内国外同类教材对比,我不由得产生以下疑问:

为什么国内作者在写作时不能多举些例子,不能多一些通俗的解释?为什么国内作者如此惜墨如金,能不能在书中多写几段话,点明这些理论的实践意义?为什么国内的作者不能在教材中对最重要的知识点给出“画龙点睛”式的强调,以帮助读者去把握这一领域的脉络?

我衷心希望国内作者在写教材时多从读者的角度去想想,不要对读者已掌握的知识与技能作太多的假设!

真正有成就的人,比如许多大科学家,都说他们之所以取得一定的成就,都是因为他们对各自的领域有着强烈的兴趣,著名数学家陈省身就说过他是在“玩”数学。能把如此抽象的学科看成玩具,难怪<personname w:st="on" productid="陈">陈</personname>先生能成为一代数学大家!

那对科学的兴趣从何而来?

现在的家长和教师,从小学到大学,无不为孩子沉迷于网络游戏而发愁。为什么这么多的学生会喜欢上网络游戏?很简单,因为网络游戏有趣,好玩,让他们有成就感,可以让他们逃避让他们感到痛苦的学校学习生涯。

为什么学生认为学习是件苦差使?他们天天要啃的教材是这样一副冷冰冰的模样,有哪个学生会喜欢?这是非常自然的事情。

当然,无论怎样编写,教材是无法做到象游戏一样引人入胜的,但教材的编写者完全应该想办法让学生的学习多一点乐趣,少一点痛苦!

当前大多数教材读起来毫无乐趣可言,这点无庸多说,每个过来人都有体会。

3. 在写教材还是在写论文?

教材的写作风格与论文有很大不同,然而,真有一些教材是以“论文笔法”写教材。

论文有特定的写作方法,高水平的论文可能会用高深的数学语言来表述,比如爱因斯坦最初的有关狭义相对论的论文,据说当时全世界科学家中能看懂的没几个,不为大众所理解,并不影响论文本身的水平。

然而把这种“论文笔法”用到教材上,那就走入了误区。教材的主要目的是传播知识,而不是向世界宣告您又发现了什么新理论,如何让读者能更快地汲取书中的营养,这是教材编写者必须考虑的问题。

除此之外,还有更严重的问题。

当今中国高校非常强调论文的发表数量,太多的人为发论文而忙碌。为了发表论文,出现了一种很不好的论文写作风格,我称之为“浅入深出”。作者自己并未做太多的研究,也没有多少真正的成果,为了论文更易于发表,必须人为地加大论文的阅读难度,比如某个问题其实可以用几句大白话就讲清楚的,一定要绕个大弯子,加上N多数学公式……,别人看不懂,呵呵,那是你水平不够!大批这样的论文中,其中不乏“南<personname w:st="on" productid="郭">郭</personname>先生”。

由于教材也是晋升高一级职称审批的指标之一,就有人为此目的而拼凑教材,自然而然地将拼凑论文的套路用到了教材编写上,习惯成自然嘛。对这种“新鲜出炉”的教材,那只能用一个词来形容了——“误人子弟”!

4 从理论到理论的“空对空导弹”

计算机科学本质上是一门实践性非常强的科学,正是实践在推动计算机科学与技术的不断进步,许多的计算机理论都可以找到它的实践基础。

拿《编译原理》来说,其中介绍到的许多理论与方法在软件开发中应用是很广的:复杂的软件如一个编译器,简单的程序如一个计算器;大规模的软件如现代软件集成开发环境,小的软件如某个MIS系统中四则运算公式的解析模块,都可看到编译理论的巨大威力。

然而,太多的编译教材只重理论不重应用,讲了一大堆的文法和自动机理论,罗罗嗦嗦地详细介绍各种分析方法,却都是“纸上谈兵”,从理论到理论,难怪有这么多的学生困惑不已:我为什么要花这么多的时间去学这么难的课程?它有什么用?难道仅为了考试?

知识的获取与掌握是有其客观规律的,一般而言,具体的知识易于理解,而抽象的知识则难于把握,在学习过程中,应遵循“具体à抽象à具体à……”这样一个无限循环的过程。

如果某人对一门学科所知不多,却指望他能通过理论学习迅速地把握这门学科,这违反了人类认识世界的客观规律。

因此,从认识论角度出发,教材的编写是不能从理论到理论的。必须先从实例引入,再介绍理论。教材应尽可能地展现出人类在探索某个问题时所经历的具体过程,理清其来龙去脉,阐明知识之间的内在联系,从而帮助学生在学习过程中循序渐进地建立起一个相对完整的知识体系。

二、改进之路

那么,应该如何写出一本好的教材呢?

1作者要有责任心

教材的作者,绝大部分都是教师。要牢记教师的职责:传道、授业、解惑。我们身上是有责任的,误人子弟,则罪莫大焉!

这就要求作者厚积薄发,尽可能不要出于功利性目的(比如升职称)而写教材。当然现实中功利性因素是不可避免的,只能要求作者既然要决定写,就要尽可能地写好。

我强烈反对没有任何实际开发经验与实际教学经验的人写计算机类教材。孙子有语:不知彼不知已,每战必败。这样的人既对计算机技术不熟,又不了解学生的真实情况,怎可能写出好教材?

另一个对作者的要求是与时俱进。计算机理论与技术的发展太快了,因此一本好教材应及时补充新内容。在这点上,国外的许多经典教材做得很好。比如我前面提到过的《离散数学及应用》,我手头上的已是第5版。还有一个例子,比如著名的Deitel父子写的《Java How To Program》(《Java大学教程》),几乎做到了Java每出一个新版本,相应地他们也会跟着更新书中的内容,出一个新版。

第三个对作者的要求是能与读者互动。在互联网大普及的时代,网络是最便捷的获取读者反馈信息的手段。国外的著名教材,几乎每本都有一个网站提供各种的附加资源,并给读者答疑解惑。对于国内的作者而言,要求每本教材都建立一个独立的网站是不切实际的,但最起码作者应该留一个电子邮件地址。目前Blog(博客)非常红火,许多博客网站都提供免费的BLOG服务,我个人认为这是一个很好的读者与作者互动方式。

2 弄清楚教材是给谁看的

教材与理论专著不同,教材是学生学习的依据,其目的是更快更好地将知识传授给学生,因此,应从学生角度而不是教师角度编教材,要让学生“便于学”,而不是教师“便于教”(当然最好两者兼顾,不能兼顾则学生优先)。

我看到许多的教材都是“教师编给教师看的”,而不是“教师编给学生看的”,这种教材如果没有老师教,学生几乎无法自学。

比如看到某教材有“教师手册”与“学生课本”之分,或者有“正式课本”与“辅导材料”之分时,我觉得这是一种“一切以教师为中心”的教学思想的反映。其本质在于教师要比学生垄断更多的资料,以便树立教师的“权威”,而学生只能在教师的讲授与指导下学习,有这个必要吗?这种方式,我怎么看都有点“武大郎开店”的嫌疑。

在现在这个信息爆炸的时代,重要的是培养学生的自学能力,怎能让学生离了教师就不会学习了?

另外,按“便于学生自学”的方式编写教材,其实反过来也有助于教师(特别是新教师)深入理解教材,从而把教学工作做得更好,真正做到“教学相长”。

3 深入浅出才是好教材!

一本适合于学生自学的教材,一定要做到深入浅出。这是很不容易的,其前提是作者要有深厚的积累,才能“用普通话讲抽象的理论,用大白话讲复杂的技术”。我个人发觉,如果做到八个字,教材的可读性就可大大增强。这八个字是:善用比喻,实例为王!

一个好例子,胜过千言万语。例子在帮助学生掌握知识方面的作用怎么估计也不过分,尤其是针对理论性强的课程。

举个例子,《数据库原理》往往要讲到数据库范式,理论讲得太多,不如举一个学生都非常熟悉的网上选课系统,详细分析将学生信息与课程信息分布到数据库表中的不同方案,比较每个方案的优缺点,进而自然地引出范式的概念,并让学生能直观地理解如何在数据库中应用范式去解决数据完整性、冗余性等在实践中遇到的问题。

另一个方面,计算机科学理论与技术中都涉及到大量抽象的概念,教材在向学生介绍概念的内涵时,既要注重科学性与严谨性,更要注重通俗性。

在这方面,比喻这一修辞手法大有用武之地。

比如,介绍C++课程中的名字空间(namespace)概念时,将“类”比做书,将“名字空间”比作图书馆或书架,则学生很快就能明白这一抽象概念的含义。

还有《数据结构》中的堆栈,可以将其比喻成羽毛球筒,其特点是每次只能从开口处塞入和取出一个羽毛球。

《软件工程》中介绍软件项目的迭代开发原则时,可以用“滚雪球”来类比软件项目的进化过程。

其实汉语有着丰富的表现力,看看过去和现在各个文学家的著作,难道我们的教材编写者不能从这些地方汲取营养,把教材写得尽可能地“好看些”?

4 授人以鱼,不如授人以渔

“授人以鱼,不如授人以渔。”

传颂千古的名言,蕴含着深刻的道理。

计算机科学的每个领域,其实都有一些最重要最基本的思维方法。在教材中,应致力于将这些非常重要的思维方法以直观的形式突显出来,引导学生先去认识这种思维方法,再让他们去尝试应用这种思维方法,最终能活用这种思维方法。

因此,好的教材,应该让学生能领会不同领域具有不同特点的思维方法,而不是仅仅只关注一些具体知识的传授。

比如,学数学就要让学生知道怎样从特殊到普遍,从已知推未知,知道怎样从假想开始再以科学的推理方法去证明假想的对错,掌握从大量的数据中去找出其中蕴含着的特定的数学规律的方法……

学编程就要让学生知道针对某个问题,应怎样去设计一个解决方案;在具体开发中,面对着技术难点,用什么方法去攻克它;理解为什么在编码过程中,要高度注意编码的规范性;知道如何将软件工程的相关理论渗透到具体开发实践中……

只有具有这样特点的教材,才能使学生掌握做事的方法,并使他们的思想深刻起来,成为一个有着独立思维能力的人。

我想,作者如能作到以上几点,写出的教材其质量应是不差的。

三、写出特色来——我的教材编写实践

作为一名高校的一线教师,我既热爱教学工作,又喜欢钻研软件技术。

在我的工作中,我一直都在琢磨着有关计算机教育方面的一些问题。本文前面的一些观点就是我在教学实践中逐渐形成的。

但这些观点是否正确,是否可行?

这只能由实践来说话。我决定编写一本教材,全面地尝试我在上面所提到的各种观点。

200411月开始,到20057月,我用了9个月的时间写了一本“不像教材的教材”——《编程的奥秘——.NET软件技术学习与实践》,与传统教材的模样有很大的不同。

这本书的基本原型是我在北京理工大学开设的《.NET软件开发技术基础》选修课教案,该课程得到了微软公司2005年“微软高校精品课程支持计划”的资助,教材于20061月由电子工业出版社出版。

在写作过程中,我想得最多的就是如何走出一条教材编写的新路子,探索一些新的教材编写方法,一句话——写出自己的特色来!

书出版以后,我在自己的BLOG上(http://blog.csdn.net/bitfan)上建立了一个读者作者交流区,自己的邮箱也陆陆续续地收到不少读者邮件。

在我收到的读者反馈信息中,大都对这本书给予了充分的肯定。而这些读者中,绝大多数是在校的大学生,由于书价较贵,有读者来信说他省了半个月的饭钱才买下这本书,还有的读者在书店“站读”数个小时……,令我非常感动。

学生对这本教材的肯定给了我很大的鼓舞,我想应该把自己的这些观点公开提出来讨论,这种讨论是有益的。

关于计算机教材的编写,其实是个非常大的话题,我所知道的一些朋友中,有不少在这个领域有着独到的见解,从他们那儿我得到了许多启发,而这篇文章仅仅代表我个人对计算机教材编写问题的思索结果,其中一定有许多偏颇不当之处。在此,敬请读到这篇小文的读者海涵,非常欢迎大家与我共同探讨计算机教育的相关问题,我的电子邮件:JinXuLiang@bit.edu.cn

此文权当“抛砖引玉”之“砖”。

--------------------

注:此文已发表于《计算机教育》2006年第6期,网络转载注明出处。

分享到:
评论

相关推荐

    21世纪高等教育计算机规划教材:Oracle11g管理与编程基础教学辅助资料

    本文档是以下图书的配套资料: 王鹏杰、王存睿、郑海旭《Oracle11g管理与编程基础》人民邮电出版社,2012.9 本文档中的课件ppt、脚本、脚本...同时,本教材提供技术支持QQ群:249449451,欢迎全国各地的读者加入~~

    计算机知识全集(教材版)

    本篇从电子计算机的特点入手、简要介绍计算机的组成和工作原理、它的产生和发展历史,在此基础上,进一步介绍计算机中的信息表示、计算机硬件结构与设备环境、计算机软件概念和分类,并给出了计算机社会信息化方面的...

    思维导图 计算机组成原理 唐朔飞

    balabala...这是我自己学的时候做的...《面向21世纪课程教材•普通高等教育"十一五"国家级规划教材:计算机组成原理(第2版)》通过对一台实际计算机的剖析,使读者更深入地理解总线是如何将计算机各大部件互连成整机的。

    操作系统实验——进程的同步与互斥(读者写者问题)

    以生产者消费者模型为基础,在Windows环境下创建一个控制台进程,在该进程中创建读者写者线程模拟生产者和消费者。写者线程写入数据,然后将数据放置在一个空缓冲区中供读者线程读取。读者线程从缓冲区中获得数据,...

    计算机网络教程:自顶向下方法

    《计算机网络教程:自顶向下方法》是计算机领域知名作者Forouzan按照目前计算机网络教学比较流行的自顶向下方法编写的一部重要教材。《计算机网络教程:自顶向下方法(英文版)》延续了Forouzan一贯的风格,以通俗易懂的...

    21世纪计算机应用技术系列规划教材 程序设计基础:C++

    本书系统地讲述C++语言的基础知识、基本语法以及编程方法,并且结合C++阐述面向对象的程序设计思想,使读者在掌握C++语言语法知识的同时,能够解决现实生活中较简单的问题,并用计算机语言进行描述。本书每一章中都...

    计算机网络实用技术(高等学校计算机应用规划教材)

    《计算机网络实用技术》系统地介绍了计算机网络技术的相关知识,并对计算机网络技术等内容进行了归纳和总结,集中从7个方面向读者讲解计算机网络技术。内容包括计算机网络概述、网络服务器的配置和管理、交换机基础...

    计算机导论基础及计算机组成原理

     本课件通过对计算机科学探索发展的描述,力图把最前沿、最深奥的获奖成果,用生动的语言介绍给读者,激发读者的兴趣和求知欲望,使读者能对化学家的追求与奉献,研究工作中的成功、喜悦与遗憾,计算机科学迅速发展...

    2009年全国计算机软考指定教材

    2009年全国计算机软考指定教材 注:考试用书出版后,读者可以到当地大书店或网上书店购买(或预订)

    计算机组成与设计:硬件 软件接口

    《计算机组成与设计硬件:软件接口》(原书第3版)是计算机组成的经典教材。全书着眼于当前计算机设计中最基本的概念,展示了软硬件间的关系,并全面介绍当代计算机系统发展的主流技术和最新成就。同以往版本一样,...

    高校教材管理系统分析与设计(计算机本科毕业设计-UML建模)

    所以,这里为读者介绍一个高校教材管理系统的建模实例。 2.1需求分析 高校教材管理系统的功能性需求综述如下: (1)高校的每个学生使用自己的姓名和学号登陆系统之后,可以查询自己每个学期的教材使用情况,也能够...

    《离散数学》(第6版)-国外计算机科学教材系列

    作者:(美)约翰巴夫(Johnsonbaugh R.) 石纯一出版社:电子工业出版社本书从算法分析和问题求解的角度,全面...本书既可作为计算机科学及计算数学等专业的本科生和研究生教材,也可作为工程技术人员和相关人员的参考书。

    计算机网络技术与应用 (电子教案 参考答案)

    本书既注重基础知识的介绍,让读者对计算机网络理论有所认识,又注重实用性和先进性,以增强读者的实践能力。本书图文并茂、通俗易懂,便于初学者学习和掌握,可作为高等院校相关专业的教材和网络技术的培训教材,也...

    《计算机图形学原理及算法教程》(Visual C++版)电子教案(课件)+配套源代码

    随书光盘提供案例的全部源程序代码,供读者选用,读者可直接在Visual C++中打开各程序包进行学习或在此基础上修改开发自己的绘图程序,特别适合学习者上机仿效练习,其中的简单CAD系统开发实例为读者开发实际图形...

    大学教材 计算机图形学入门经典书籍

    本书采用面向对象语言Visual C 6.0的MFC编程环境作为开发平台,系统讲解...通过本书的学习,读者可以制作出具有光照和纹理的动态消隐的三维旋转立体,从而实现对图形的交互式设计。 本书为大学图形学入门的经典书籍。

    教材-计算机组成原理第2版__唐朔飞

    该课件与《计算机组成原理》第2版教材在体系上完全一致,它以课堂教学为依托,帮助读者边阅读边思考,通过点击鼠标,逐行显示精练的文字和简明的图表,既可从文稿中对教材的重点和难点加深理解,又可从视图中看到...

    操作系统实验二:进程、线程之间的同步

    教材和相关的阅读材料中对读者写者问题算法均有描述,但这个算法在不断地有读者流的情况下,写者会被阻塞。编写一个写者优先解决读者写者问题的程序,其中读者和写者均是多个进程,用信号量作为同步互斥机制。

    计算机组成原理与设计:软件与硬件接口 英文第五版

    《计算机组成与设计硬件:软件接口》(原书第3版)是计算机组成的经典教材。全书着眼于当前计算机设计中最基本的概念,展示了软硬件间的关系,并全面介绍当代计算机系统发展的主流技术和最新成就。同以往版本一样,...

    计算机组成原理白中英版第五版课后答案.ppt

    本书是一本面向应用型专业的计算机组成原理教材。全书共分6章: 第1章帮助读者快速、有趣并深刻地建立计算机系统的整体结构;第2章介绍计算机的存储体系;第3章介绍计算机的输入输出及其控制技术;第4章介绍计算机的...

    深入理解计算机系统(原书第2版)

    《计算机科学丛书:深入理解计算机... 《计算机科学丛书:深入理解计算机系统(原书第2版)》适合作为高等院校计算机及相关专业本科牛、研究生的教材,也可供想要写出更快、更可靠程序的程序员及专业技术人员参考。

Global site tag (gtag.js) - Google Analytics