您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 西安电子科技大学陈怀琛教授专访
西安电子科技大学陈怀琛教授专访不应忽视大学生科学计算能力的培养△记者《中国电子教育》2005年第2期和第2期连续发表了你的两篇文章,你十分明确地指出,大学理工科没有把‘科学计算能力’作为本科教育的一个重要培养目标,并强烈呼吁要大力提高大学生的科学计算能力,文章还提出了你对如何提高大学生的科学计算能力的具体建议。读者对你的见解很感兴趣,也很认同,请你谈一谈科学计算能力包括哪些方面的内容?答:我认为,科学计算能力是指的利用现代计算工具(包括硬件和软件)解决教学和科研中计算问题的能力。它包括掌握昀新的科学计算软件、建立适当的计算模型、采用正确的计算方法、实现高效的编程和运算、对计算结果作正确的表述和图解、…等多方面的综合能力。由于理工科中的计算非常多,过去凡是考上理工科的学生,入学时必须买一个计算尺,作为必备的计算工具。计算尺的发明是在1630年,在大学中使用了300年,到1970年出现了电子计算器才退出历史舞台。在电子计算器之前,还出现过机械计算器,来解决工程中高精度的计算问题,但在大学中很少使用。计算器代替计算尺,主要是大大提高了计算精度和易学性,其方法仍然是一个数一个数地算,效率提高并不大。也出现过一些具有有限的编程能力甚至绘图能力的高级的计算器,但不普及,整体来说,计算器对大学课程的改革影响是不大的,用计算器也培养不出什么真正的科学计算能力。应该说,科学计算能力的真正意义是由计算机带来的。在美欧等发达国家,从20世纪50年代起,都在大学中安装了大型计算机,要求理工科大学生具备在大型计算机上进行计算的能力,为此让学生普遍学习科学计算用的FORTRAN和经济管理用的COBOL等算法语言,他们并开发了这些语言的许多子程序库,比如LINPACK库(用FORTRAN写的)就具备了线性方程和矩阵计算的全部子程序,大大提高了上机计算的效率。计算机算题可不是一个一个数算的,而是成千上万个数成群地算的。所以一些计算量大的课程,比如线性代数、计算方法等课程都设置了大作业或课程设计,当时国外的理工科大学生几乎都有在大型机上计算大作业的经验和能力。矩阵之所以被广泛应用于建模和计算,很大程度是因为有装有LINPACK程序库的大型计算机可以给普通大学生使用。今天的计算机与那时相比又有了长足的进步。从硬件上看,一台微型机的内存量和运算速度都比当年的大型机高了若干个数量级,从软件看,一套科学计算软件可以把过去几十个软件库集成起来。比如MATLAB的昀基本配置就包括了LINPACK和其他一些经典的库文件。它还可以做许多过去大型机不能做的事,如进行三维彩色绘图、生成动画电影、将数据变换成声音、生成图文并茂的文件等等,这给科技人员和教师学生以表达计算结果的多种手段。此外,它还能对符号变量进行运算,具备了公式推导的功能,超越了计算机只能进行数值计算的旧观念。有了这些概念,才可以懂得,计算能力的提高可以对大学课程从理论到实践的教学改革都产生十分深刻的影响。△记者:高等学习的培养目标列出了要培养学生这样、那样的能力,很少特别强调科学计算能力。分析和解决问题的能力是各校都有的,这里理应包括科学计算能力,但实际是落空的。大学生科学计算能力薄弱,揭示了工程教育的缺陷,是教育思想问题还是有其他的原因?答:中国大学很少强调科学计算能力,首先是历史原因。由于中国大学本科的理工课程(这里不包括计算机课程,下同)从来没有使用计算机的教学实践经验,教材中更不可能有什么反映。在改革开放初期,这个差距曾经被领导部门重视过,认为这是我们比国外落后昀严重的方面。所以80年代初的第一次世行贷款,所有的主要大学几乎全部买了大型计算机,现在回头看一下,这个措施主要是支持了科研,对大学本科的教育并没有起明显的作用。其原因:一是其数量不够本科生使用;二是没有购买程序库,当然编程效率极低,现在看这是引进中的失误,但有些人却因此把计算机视为畏途;三是老师自己没有计算经验,课程内容没有改革,有计算机也不愿用。可以说,许多学校的领导错误地总结了这次引进大型计算机的教训,他们放弃了在大学本科推行计算机的努力,甚至认为在一般理工课程中使用计算机是不必要的。因为凭他们落后的‘经验’,有编程的时间,手工都算出来了。到90年代初,国外开始用新型的科学计算语言取代老的FORTRAN语言时,我们国内很多大学却在计划中简单地取消了FORTRAN语言,没有替代物。可能因为关于算法语言部分的计划是由计算机学科的老师提出的,他们只了解C语言重要,对科学计算语言并不了解。我们知道,现在大学计划中的C是通用的系统开发语言,不是作科学计算用的。所以这种做法实际上是取消了科学计算的基础。到了今天,当然也不能说我们的大学领导和教师不知道科学计算语言的重要性。如果考察一下研究生教育,可以说,80~90%的理工科研究生都使用了科学计算语言来进行计算和写论文。他们都知道,离开了科学计算语言不行。应该说,把MATLAB列入本科教学计划的学校和专业是愈来愈多,但仍然是少数,而且通常是放在高年级。所以,问题还在于,是不是需要在本科阶段就让学生掌握这种语言进行学习?该在教学计划中有意识地培养这种能力,还是让他们自己去摸索自学?是应该让大学生普遍具备这种能力,还是只让一部分优秀者去掌握它?△记者培养科学计算能力的意义,你在文章中引述了我国著名数学家吴文俊院士的话,说电子计算机的出现引领人类面临一场脑力劳动的机械化革命,数学机械化就是用计算机替代一部分数学脑力劳动。你认为理工科院校在数学机械化革命中能有什么作为?答:信息化和数字化是近代科技和工业发展的基础。昀近几十年中,社会生产力的高速发展超过了过去几百年。从一种新理论、新思路、新现象的发现到它投入应用的时间,过去需要几十年的,现在只需要几年、甚至几个月。产品一旦出现,投入大批量的生产的时间,往往也只需几个月。所以很快就能满足社会的需要,甚至很快生产过剩。造成这种现象的关键原因,就是应用了计算机辅助设计和辅助制造(CAD/CAM)。它把人们的知识和技能集成起来,快速准确地传播和复现,避免了许多不必要的重复和浪费,从而使创新、设计、制造的效率极大地提高,而消耗的成本迅速降低。我在担任学校科研主管时,曾抓过电子设计自动化(EDA)的工作,那种从局部到整体、无缝联接、消除人工差错的系统设计思想应该成为每一个电子工程师的思路,我们培养的学生有没有这种准备?所以就给自己提出这样的问题:工业设计和生产的效率可以因引入计算机成十倍、成百倍的提高,培养教育人才的效率能不能通过引入计算机而明显提高?哪怕提高5~10%,那就是一个极为可观的成绩。我们来分析一下教育中对时间的浪费。一是繁琐,线性代数方程的解法,在线性代数讲了几十个学时,学生没有学会任何新方法,还是靠中学的代入法和消去法来算。解一个四元一次方程照样要做22次乘法和加法,不能错一次。笨不笨啊?这种手工劳动能提高人的大脑思维能力吗?要浪费多少时间?问题是以后在各门课程中都会遇到各式各样的线性代数方程,有的阶次还要高,在交流电路中还是复数代数方程。学生要在手工的加减乘除上消磨多少青春?用计算机,哪怕是500元一次方程,只要输入原始方程系数,打入一条命令,一秒钟就求出解。这么好的工具,为什么大学里的四年不用?我看,用得愈早,学生得益愈大,这才是基础教育的真谛。二是重复,线性微分方程的解法,从数学开始讲,力学里振动讲、电路里讲谐振讲、信号与系统、信号处理、自动控制、…都讲,也是浪费时间。如果用同一种算法语言和同样的子程序,学生可以把自己的理解凝结为程序,此后可以反复应用,又可以节省出很多的时间,这也就是工业上CAD的思想,它可以把专家的知识凝固起来,给生手方便地使用,从而达到大大提高效率的目标。不过现在是对同一个人,在他学习掌握基本概念的时候,多花点时间,使之成为程序,以后每次应用,就可以不必再从昀基础的地方搞起,而是在原有的基础上又提高了一个台阶。计算机的程序库或软件包,就是可以节省大量的低级的重复劳动。我们还听到一种对使用计算机的异议,认为这会培养学生的‘偷懒’,所以反对把高效的工具和技巧较早地教给学生。我认为这完全是保守落后的思想方法,极为有害。在现在这种开放的信息社会中,我们正应该要提倡大学生从网上、从全世界去寻找解决任何问题的昀新技术,怎么可以封堵呢。从一定意义上说,人如果不想‘偷懒’,就没有各种机器的发明和科技的进步。用科学方法来‘偷懒’,是要提倡的行为。大学如果没有这种思路,技术和知识的积累就永远不能有效地实现。在让学生掌握更多知识和计算技能的同时,为了避免他囫囵吞枣,在出习题和提问的时候,要拐弯,要让他动脑筋,不能简单抄袭,那是教学的艺术。决不能因噎废食,只教笨办法,不教新技术。这样培养的学生确实不会去想‘点子’了,但与发达国家培养的同档人才来比,不是也成了没用的‘傻瓜’吗?所以我要引用我国著名数学家吴文俊院士的话,大意电子计算机的出现引领人类面临一场脑力劳动的机械化革命,中国过去在体力劳动的机械化革命中落后外国几十年,就是有一些谬论在阻碍,连电报、铁路、电灯的使用都有反对的,导致了长期的挨打局面。今天在这场脑力劳动的机械化革命中,决不能重蹈覆辙。作为科技上引领社会的大学,更不能再被那些奇谈怪论拖后腿了。△记者多年来你一直关注美国工程教育中对学生科学计算能力的训练。请你就此与我国的工程教育作一些比较分析。答:1980~1981,我在美国做了两年访问学者,当时第一次有机会在显示器文字终端上使用大型计算机。(虽然我1977年在西电公司也用大型机算过题,不过那只是编程序和取结果,自己不和机器接触。)当然感到自己的计算机能力比美国学生差很多。他们交的作业打印、画图都很整齐漂亮,感觉到一个工业化国家的初级人才就有好的工程素质。那时还没有个人计算机,作为教师的一些文字工作,可以请秘书打字,我当时也没弄清,是不是学生也用打字机?中国学生的汉字要能打字,那还不知道到哪年才能做到。个人计算机在80年代末开始普及,对美国大学生来说,这实际上是打字机的自然延伸和大型计算机进入自习室,而且又增加了图形、声音、影像等多媒体功能,当然他们要用个够。所以科学计算软件应运而生,并得到迅速的发展,经过了十多年的竞争,现在生存下来的只有几种佼佼者,MATLAB就是其中昀普及的。2002年,这个公司向美国的中学捐赠了10万套MATLAB软件,固然这有其商业目的,但说明它的许多计算技术,是中学生可以掌握的,所以以后大学里都未必要开这门课,中学已经有基础了嘛。反过来看我们这里,MATLAB是否该在大学本科普及,还举棋不定,是否在大学一年级就学,更是争议多多。我觉得很奇怪,为什么FORTRAN可以放进计划?它改成了更加易学且功能更为强大的MATLAB,就列不进计划了呢?我们可以从美国本科课程中如何使用科学计算语言的作为佐证。以《线性代数》为例,1990年1月,一些有名望的数学家们组成了线性代数课程研究组(LinearAlgebraCurriculumStudyGroup-LACSG),他们对如何教好线性代数提了5条建议,其第四条就是‘必须利用昀新的计算技术’。从1992到1997年,由美国国家科学基金会资助了一项ATLAST计划,即使用软件工具提高线性代数教学(AugmenttheTechingofLinearAlgebrausingSoftwareTools-ATLAST)。所以此后MATLAB就是在二年级上必会的了。再举《数字信号处理》课作为例子,1994年出版了由信号处理界的权威奥本海姆(A.V.Oppenheim)等六人合写的一本书。在联名写的前言中,他们声明,经过了几年的摸索,选择了MATLAB作为信号处理课程实践的昀佳软件,并强烈地予以推荐。此后,美国出版的数字信号处理教材几乎无一例外地采用了MATLAB作为其计算的标准平台。而我国直到2004年才开始有全面使用MATLAB的教材,用了这种教材的老师还苦于学生不熟悉MATLAB而很难教。由于没有早期打基础,或者因教师不熟悉,或者因学生没掌握,大部分教材还没有用科学计算语言,责任确实不能由各课的老师来承担,而是教学计划中缺乏对
本文标题:西安电子科技大学陈怀琛教授专访
链接地址:https://www.777doc.com/doc-79249 .html