昨天下午,忽然在群里看到一条消息,大学《数据结构》教授严蔚敏先生因病医治无效,永远离开了我们,刹那间,严老师的音容笑貌一下子浮现在眼前,仿佛又回到那个阳光明媚的下午,同学们在教室上严老师的《数据结构》小课。可能是因为严老师年纪比较大(56岁),也有可能是因为轮班,我们那年的数据结构是殷人昆老师上大课,小课才是严老师上课。我刚入学时,我的两位学长,88级陆明与89级的何明,他们都来宿舍找过我,给我讲了一些学校和系里面的事情,感觉很好。后来他们都特别提到过,严蔚敏老师的课一定要认真听课,其中最主要的原因是讲的真好,另外一个原因暂且按下不表。系里90级有5个班,估计是随机分配,我在软件班,对口的是计算机系软件教研组,《数据结构》就是软件组开设的课程,因此虽然没赶上严老师的大课,但是赶上了严老师的小课,其他班级就没有那么幸运了。
那天小课是习题分析,大体上就是把作业里面特别容易出错的题目拿出来分析,也出了几道题目让大家做。有一道题是做一个搜索算法,要O(N)复杂度,我盘算好一会,用了一个单次扫描,但是每个节点还要根据情况做一个局部扫描。写完后洋洋得意,让同班奥赛选手把把关,同学说没问题,O(N)复杂度,点赞!然后就请严老师过来看看,心中还有那么一点等着听表扬的窃喜。严老师拿起本子看了一眼,说了一句,O(N2),我和同学都懵圈了,严老师让我们在仔细想想,我们现场琢磨半天也没想明白,后来再意识到问题出在局部扫描上,虽然局部扫描尤其条件,但是时间复杂度不看这个条件,因此这个算法的实际执行在在O(N)和O(N2)之间,但是复杂度是O(N2)。回想起来,严老师见过的算法比我写的算法还多得多,虽然手写的算法涂涂改改,严老师还是一眼就能识破了其中的问题,打心眼佩服!
正如我的两位学长说的那样,严老师讲课确实好,但是严老师考试也是真的很难。当年是计算机四大名铺,其中印象深刻的,还有《概率论》葛余博老师,后来和物理系聊天,他们说《随机过程》才是真的难!《数据结构》考试最大的问题是,一个问题改改就不是原来那个算法了,灵活性太大,很看通过死记硬背拿高分。以前可能更难,据马少平老师回忆,他在考严老师《数据结构》的时候,是上午8点考到下午2点,可见以前更难!!我们考试的时间还是正常的,但是考试完之后,大家都不正常了!那些平常成绩好的,都说考砸了,那些平常一般的都感觉考的还不错!事出反常必有妖:数据结构就是这样的,平常成绩一般的往往会觉得自己做出来了,其实他们没看懂严老师在题目里面暗藏的玄机;成绩好的虽然看懂了玄机,但是时间不够来解决问题。我的感觉就不太妙,但是估摸着还不至于挂科。果然那年成绩普遍不行,据说拉分了还有人挂科了。整个年级都胆战心惊地告别了数据结构!看了学长们的回忆录,虽然言语不多,但同样的感受和痛觉在字里行间暴露无遗!不过学长们也都功成名就了,不太好意思把自己说的那么惨烈,说都是“一门真正将学生带领进计算机领域的课程”、“对以后编程思维影响极大”、“印象深刻”之类风凉话。还是同样考过严老师课的马少平老师说出了真话,“影响了应该不止一代人!”
严蔚敏(1938.04—2024.12.10),女,汉族。清华大学计算机系教授,长期从事数据结构教学和教材建设,和吴伟民合作编著的《数据结构》、《数据结构题集》第一版曾获“第二届普通高等学校优秀教材全国特等奖”、 1996年《数据结构》、《数据结构题集》教材获国家科技进步三等奖, “数据结构” 课程连续三次被清华大学评定为一类课。
同学发在群里的教材,这是Pascal版本的
教材的目录
我那本Pascal版的教材找不到了,这是我1999年买了C语言版本,博士论文期间还翻了翻
后记1:老师和学长们对严蔚敏老师的回忆
方黎江(1986级系友):谈起在清华求学时代的课程,方黎江首先提到的一门便是《数据结构》,“那是一门真正将学生带领进计算机领域的课程”。教授该课程的严蔚敏老师的严格要求、言传身教给方黎江留下了深刻的印象。(1986年考入清华大学计算机科学与技术系,1989年赴加拿大留学,毕业于滑铁卢大学计算机系,分别于1991年和1993年获学士和硕士学位,1993年进入微软西雅图总部工作,现任微软(亚洲)互联网工程院副院长)
廖春元(1993 级系友):”谈到大学期间印象深刻的专业课程,廖春元说非《数据结构》莫属,对以后的编程思维影响很大,而且他也幸运地成为计算机系“名捕” 之一严蔚敏老师的关门弟子。还有《编译原理》也令他收获颇多,通过这两门课的学习,他对计算机的理解又提高了一个台阶,不再是只属于一个 coder 层次。
彭凌(1999年软件学院辅导员):1999年秋,第一届二学位学生入学了,-彭凌肩负起学生管理的工作。给彭凌留下最深刻印象的,就是当年老师们对待学生的态度。彭凌始终记得,60多岁的严蔚敏老师不厌其烦地给从未学过《数据结构》的学生讲授课程内容,并亲自批改每份学生作业;彭凌还记得,汤志忠老师常常因为给学生补习错过回家班车,甚至就在办公室的沙发上将就睡一晚。彭凌感慨地说:“什么是自强不息,什么是厚德载物?这些老师的一言一行都是典范。”
蒋维杜老师回忆录:1961年聘入前苏联莫斯科大学留学回国的沈佩娟老师,1961年以后主要是聘留本专业的毕业生:1961年数0班留任教师的有张大鸿、林行良、严蔚敏、柳西玲、吕映芝、郑人杰、郑启华、蒋维杜等八名;1962年数2班留任教师的有俞盘祥、周之英、金千方、蒋国南等四名;1963年数3班留任教师的是蔡大用;1964年力04班留任教师的是洪先龙;1965年留任教师的是力503班的李忠源、赵锦蓉、赵致格、孙宏昌、肖均祥;1970年留任教师是力03班的张素琴、沈金发;力003班的吴恩华、李大法、朱继生;1981年留任了“文革后”第一届硕士毕业生、原自00班的周立柱,及原力03班的殷人昆。
1965年计算机系史:我校研制晶体管小型数字计算机“112机”的计划得到北京市仪表局副局长王震环同志的大力支持。我系按校领导部署,集中力量攻克三大科研高地之一的计算机高地。1月,全晶体管小型通用数字计算机教研组集中数字教学组大部分教师,包括金兰、房家国、王尔乾、郑衍衡、苏伯珙、朱家维、潘孝梅、张公忠等老师和数力系吴家勋、蒋维杜、郑启华、严蔚敏等老师带领计算机专业和计算数学专业的高年级学生开始“112机”的研制。从元器件,电路到机械结构,乃至接插件全面开展研制攻关。研制过程中,北京沙河半导体研究所、北京计算机三厂同我们通力协作。模拟机组师生在系车间配合下,成功研制出556型自动搜索电子模拟计算机,并在校科研成果展览会上展出。
唐泽圣老师回忆录:20世纪80年代初,教师的知识结构严重落后于当时的国际水平,有些国外大学已经开设的课程,计算机系的老师从未开过,例如:数据结构,软件工程等。聘请外籍教授到清华为教师和研究生讲课,不失为一个提高教师水平的有效方法。为此,我们先后聘请李凡、冀中田和郭善珣等美籍华裔教授到我系讲课。冀中田教授给老师们讲授数据结构以后,由严蔚敏教授在以后的几年中将课程内容予以充实提高,她所编写的教材,几经修改,为全国100多所大学选用,获全国优秀教材一等奖。其他美籍华裔教授的讲课也都取得良好效果。
马少平老师追忆:惊闻严蔚敏老师去世,她可能是最早一批在国内开设数据结构课程的老师,严老师的数据结构教材影响的应该不止一代人。同学们在群里悼念时,均提到严老师的数据结构课,是伴随一生,最重要的一门课。 严老师讲课极其认真,要求高,考试难度高、量大,我们当时这门课考试从早上8点考到下午快2点才结束。
后记2:严蔚敏老师的一些点点滴滴
我看了网上的一些文章,只有两张照片,一张是百度百科的照片,黑乎乎的,另外一张是艺术照。严老师当我们老师的年代,还没有手机,因此确实没有那么多照片,我又仔细找了一下,找到了严老师的一些纪念照片,做成合集,放在下面,致敬严老师平凡而光荣的一生!!这些照片多数是合影,也都是公开的,里面有我的导师、很多授课老师,还有学长,还有我的老楼长陈阿姨,向他们一并致敬~
1992年:严蔚敏等编写的《数据结构》教材获1992年度国家教委全国特等奖
1993年:《数据结构》获1992-1993年度清华大学“一类课程”称号
1993年:校领导接见我系《数据结构》教学小组成员( 前排左起:陈希,黄圣伦,梁尤能,张光斗,方惠坚,王大中,余寿文,后排左起:殷人昆,谢若阳,严蔚敏)
1996年:严蔚敏教授(三排左二)的《数据结构》教材获国家科技进步奖,受到国家领导人(前左三为国务院副总理邹家华,左四为教育部部长李铁映)接见
1996年:严蔚敏老师获得国家科技进步三等奖的获奖证书
2010年4月,严老师参加1985级同学毕业20周年纪念大会(同学们还邀请到当年9号楼楼长陈阿姨到现场,对楼长当年的照顾表达特别感谢)
2014年:计算机系84级思源基金成立,严蔚敏老师参加并鼓励校友们。基金于2014年3月18日正式启动,旨在汇集力量,帮助支持有经济困难的计算机系离退休教工。截至2014年4月,募集资金已达206000元人民币和12388美元
2023年4月:计算机系举办1988级校友毕业30周年纪念活动,学长们为严老师献花
2023年4月:1988级30周年活动,4位教师代表发言,从上至下、从左至右依次为:罗建北、严蔚敏、陈群秀、戴一奇
网上可以看到的艺术照,气质妥妥的!
相关信息
https://www.cs.tsinghua.edu.cn/info/1168/4252.htm
http://www.tup.tsinghua.edu.cn/bookscenter/book_02564806.html
https://www.cs.tsinghua.edu.cn/info/1015/2105.htm
https://www.cs.tsinghua.edu.cn/info/1146/3720.htm
后记3:计算机系历史回顾(摘录自蒋维杜老师回忆录)
专业队伍从无到有
根据中央开创发展计算机学科的决策,我校于1958年上半年在工程力学数学系中新建了计算数学专业,该专业包含计算方法及程序设计两个专门化的方向。与全国高校及相应的研究所一样,程序设计专门化在以后的发展中,逐步演化成现在的计算机软件。
1、计算数学专业成立之初的师资
赵访熊先生任教研组主任,另外有李庆扬、孙永强、吴剑龙等三位年轻教师,1958年底从北京大学聘进刚毕业的吴家勋老师。1959年聘入本校毕业的杨德元、陈昌昭、万锦堃等老师,以后又从科学院计算技术研究所进修班聘入燕渠源、陈振中、郑佩敏等老师。 1962年以后又从我校数学教研组陆续调入陈德问、迟宗陶、贺锡璋、卢开澄、马振华等老师,并从哲学教研组调入从事逻辑学研究的周寿昌老师。
2、计算数学专业的学生班级
1958年8月从全校各系各专业的二、三、四年级抽调了八、九十名学生分别建立了数0、数1、数2(当时以五年制称)三个计算数学班级,后来改为六年制时,又分别称为数0、数2、数3。同年按计算数学专业名称招收了壹年级新生建立数4班。从1959年到1965年招收一或两个班,分别为数5班、数6班、数7班、…(以六年制称)等等,后因工程力学数学系统一班号,这些班级又分别称为力403班、力503班、力603班、力703班、…等等。
3、计算数学教研组的逐渐壮大
1961年聘入前苏联莫斯科大学留学回国的沈佩娟老师,1961年以后主要是聘留本专业的毕业生:1961年数0班留任教师的有张大鸿、林行良、严蔚敏、柳西玲、吕映芝、郑人杰、郑启华、蒋维杜等八名;1962年数2班留任教师的有俞盘祥、周之英、金千方、蒋国南等四名;1963年数3班留任教师的是蔡大用;1964年力04班留任教师的是洪先龙;1965年留任教师的是力503班的李忠源、赵锦蓉、赵致格、孙宏昌、肖均祥;1970年留任教师是力03班的张素琴、沈金发;力003班的吴恩华、李大法、朱继生;1981年留任了“文革后”第一届硕士毕业生、原自00班的周立柱,及原力03班的殷人昆。
4、教辅队伍
计算数学教研组成立后不久,在1961年建立了计算机教学实验室,并配备了手摇计算机,和电动计算机。从而开始了教学辅助人员队伍的建设。1962年招聘了退伍军人李富贵及俩名初中毕业的青工张静庄和张秀琴,并派送李富贵到打字机厂进修一年,回校后全面负责实验室的管理和维修工作。随着电子数字计算机在我校的发展,从系里调入了金惠芬,1964年又招收了张祝平、韩国申、吴季增、王守喜等四位高中毕业生及一位初中毕业生苏瑞舫为实验员,辅助教师展开计算机原理、程序设计的辅导、实验、上机等的课程,还参与了其中的一些讲课任务。这样一支教学辅助队伍的建立和成长,是我们软件学科成长发展不可或缺的重要因素。
5、计算机软件教研组命名
1970年复课并恢复招生时, 计算数学专业与当时的自动控制系及无线电系部分专业组成电子系, 从1970年到 1976年每年都招收一至二个工、农、兵学员班,大约在1975年计算数学教研组改为计算机程序教研组。1977年恢复高考(1978年除外)之后,计算机程序系统专业进入正常的本科生招生培养。1979年我系更名为计算机科学与技术系,我教研更名为计算机软件教研组。
6 研究生培养
从1961年起,国内外著名的计算数学专家、清华大学副校长(62年聘任)、力学数学系副主任、计算数学专业教研组主任赵访熊教授前后从本专业招收:数0班叁名毕业生为研究生,其中两名(江善标、樊天蔚)研究计算方法、一名(俞宁辉)研究自动机理论;数3班两名(史畏三、何宇功)毕业生为研究生,研究计算方法;数5班一名(张大洋)毕业生为研究生,研究计算机语言的编译技术。
进入正常教学秩序后,1978年计算机软件专业招收了“文革后”的第一批硕士研究生,之后每年稳定地招收适当数量的硕士研究生,并在九十年代开始招收软件理论与技术专业的博士研究生。培养的研究生毕业后在各自的工作岗位上,对我国计算机软件事业的发展做出了重要的贡献。例如:在“文革”后的第一批毕业的硕士研究生中,包括了中国工程院院士总参第六十一研究所总工戴浩同志、国家计委信息中心数据库部副部长张大洋同志、清华计算机系主任周立柱同志等优秀的毕业生。
课程开设情况
1959年赵访熊教授开设计算方法课程,之后,该课程一直是计算数学专的壹门主要专业基础课程。“文革”后,随着计算数学专业转入应用数学系,该课程也转入到应用数学系。
1960年孙永强老师试开设了以算子法为基础的程序设计方法课程。1961年以后,在我国尚未引进计算机语言之前,结合“M-104机”、“M-103机”(分别为中国科学院计算技术研究所仿造前苏联的一台大型机、一台小型机)、“911机”及“112机”的机器指令代码,开设了计算机逻辑设计原理、计算机程序设计方法课程。到七十年代,结合引进的计算机和研制的计算机,分别开设了计算机汇编语言程序设计方法(主要是DJS-130机的汇编语言)及计算机语言程序设计方法(如:BASIC、FORTRAN、PASCAI、C语言等)两类课程。随后又开设了“形式语言自动机”、“形式语义学”等相关的理论课程。
1973年结合对BASIC语言解释系统的分析,试开设了“BASIC语言解释系统及编译技术”课程。以后逐步增加了一般编译技术及编译原理的内容,并加入了具体的类似PASCAL语言(PL/0)编译的实例。我们的《编译原理》教学及课程教材不但特别重视编译的具体实践,如(PL/0)编译的实例、关于编译的存储管理、目标代码的生成及优化等内容;而且重视编译技术的进展,如关于编译工具、编译器的自动构造及与编译有关的面向对象构造等前瞻性内容。从而形成了比较完善的理论联系实际、适合于教学实践、能适应不同教学要求的颇具特色的专业课程。
为填补“文革”造成的空白, 采取的措施之一是邀请外籍专家,引进当代知识结构。1980年美籍华裔学者冀中田、郭善珣来我校分别进行了《数据结构》及《数据库》的讲学,通过教研组很多老师的整理编排,先后分别开设了《数据结构》及《数据库》两门课程。《数据结构》教材几经优化重编,成为我国很多高校的首选,该教材还被教委评定为重点优秀教材。美国加州大学Berkeley分校电脑系黄凯(Eugene Wong)教授,结合PASCAL语言,为研究生开设软件讨论班,美国国家标准和技术研究所资深研究员Len Gallagher博士,为研究生开设数据库系统讨论班。为我们本科生及研究生教学的更新及发展起到了重要的推动作用。
20世纪80年代,通过软件出口及对外的软件合作,结合对软件开发中的工程方法的研究,开设了“软件工程”课程。随着对软件工程方法研究的深入和发展,陆续开设了各不同层次不同方向的有关软件工程的课程,包括有“软件过程”、“软件工程环境”、“面向对象方法”等软件工程的课程。
20世纪80年代初,派出教师赴美、英、加、丹麦和日本等国深造。在计算机语言、系统软件、数据库、信息系统、软件测试、软件工程方法等领域,掌握了更丰富的专业知识,促进了我们软件教学体系的发展和完善。
科学研究成果
计算数学专业成立之初,拟定了两个基本研究方向:计算方法和程序自动化,后者发展为计算机软件。我在这里仅仅回顾了计算机软件方向的研究工作。
1.结合重大项目所展开的计算机软件研究
包括在911计算机、112计算机和DJS-100系列计算机的研制任务中完成的软硬件设计和计算机应用项目。
(1)911计算机的研制和推广使用
软件专业的首届数0班的学生,分别来自我校机械工程系、土木工程系、水利工程系、动力工程系、电机工程系、无线电工程系、工程物理系等。数0班成立之后,在教研组年轻教师的带领下,组织了计算机基本知识的学习,并赴北京大学学习他们“红旗”计算机的设计研制过程。1958年底开始投入我校“911” 计算机的设计研制工作,主要参与了“911” 计算机的“逻辑设计”、“外部设备”、“电子线路”等的设计研制工作。
数0班的毕业设计,结合“911” 计算机的设计研制生产之外,还针对当时我校内很多重要科学研究项目,在计算方法方面展开的研究有:水利系大型水坝的结构应力分析;工程物理系反应堆分析;程控机床的计算方法及程序设计的研制、力学数学系风动实验室流体力学计算方法的研究;以及动力系、无线电系等有关项目的研究。
在程序设计方面展开的研究有:实现初等函数(包括三角函数、指数函数、对数函数、开方等等)计算的“标准函数库”;实现包括插值、数值积分、数值微分、高次代数方程数值解等基本计算方法的“标准程序库”;“表达式编译”的研究等。
(2) 112计算机(按国家的产品型号为DJS-5)的软硬件设计和语言处理软件
我校在1964年底开始到1966年初研制成功的“112机”是我国第一台自行设计制造的全晶体管计算机,由当时自动化系的计算机专业和数力系的计算数学专业合作研制。首先软硬件设计以“指令系统”设计为核心,从一开始就紧密结合在一起,整个研制过程积极配合协调,使设计目标得到了最好的体现。该机在当时的软硬件设计方面,都有很多创新的特色:
· 在“指令系统”设计中采用了类似于现代的“微指令”形式,最基本的指令限定在两个基本的指令周期中完成,而较复杂的指令是采用现代“伪指令”的形式即由最基本的指令序列来完成。这使得计算机的结构在很大程度上降低了复杂度,并能保证计算机提供丰富的指令系统。
·为该计算机配置了4096个单元的“固定存储器”,实现复杂指令的“伪指令代码”(基本指令序列)就存放在这个“固定存储器”中。另外,一些基本的初等函数也以这样的“伪指令代码”实现并存放在这个“固定存储器”中。从而极大地丰富了“指令系统”的内容。
·112计算机配置了当时颇为创新的外部设备:
(A)采用“55型打字机”作为一种输入/输出设备,替代了当时普遍采用的“开关面板”方式,极大提高了人机交互的友善性。
(B)采用“电容”式纸带输入装置,比较当时的“探孔”式纸带输入装置,输入速度有很大提高。
(C)采用“电灼”式输出打印机,具有极高的输出速度。
整个七十年代,《112计算机》演示接待了大批国内外重要的代表团,其中包括第一个美国计算机高级专家代表团。起到了很大的社会效果和国际影响。
1973年在《112计算机》上研制了我国第一个汉化的《BASIC语言》—GNBY语言的解释系统,电子部邀请了在京的有关部委及专家,在我校为该项目召开了现场会。该语言在我全校教师中进行了培训推广,对计算机在我校的普及起到了推动作用。
(3) DJS-100系列计算机软件的联合设计
大约在1974年,当时的四机部在清华召开了DJS-100系列产品的方案论证会(四机部陈正清同志主持),会议将日本产的“NOVA-1200”小型机为蓝本,该计算机最受关注的是其配置了BASIC语言解释系统作为该机的主要计算机语言,考虑到DJS-100系列计算机要作为小型计算机在全国推广,BASIC语言具有易学易用、良好的人机交互特性。在论证会上我们做了DJS-100系列计算机“系统软件”的可行性及实用性的全面论述。方案论证会最后决定成立了由全国几十个单位组成的联合设计组,并委托清华大学担当全国联合设计组组长单位。
软件教研组(林行良同志负责)为DJS-100系列计算机软件联合设计小组组长单位,负责协调DJS-100系列计算机软件的设计开发,并承担了其中的“汇编语言”、“BASIC语言”“查错(诊断)程序”等系统软件任务。为推动我国小型机系列软件的发展起到了重要的作用
2 .ALOGO-60形式文本的研究
六十年代初,参与了中科院计算技术研究所第九研究室(即后来的中科院软件所)对ALOGO-60形式文本的研究。当时教研组派出了郑人杰老师直接参加第九研究室的工作,并组织其他教师参加第九研究室关于ALOGO-60形式文本研究的讨论班。对教研组教师在学习、掌握计算机语言的基本原理、理论、语言编译等方面积累了丰富的知识,也为以后在计算机语言方面的深入研究打下了坚实的基础。
3.研发我国最早的出口软件
1981年我校计算中心(当时归属计算机系)从日本“富士通”公司引进了大型的M-150计算机(相当于IBM-360)。此后,我系(软件教研组及计算中心)与“富士通”公司经历了长达九年的软件开发技术的合作,并先后对日本出口了五项软件开发、研究项目产品。其中,1983年出口的软件产品“FORTRAN程序的动态分析《FORTUNE》”工具,是我国第一个出口的软件产品,受到日方媒体的很大关注,作出了较高的评价。日方媒体认为这样一个很难避免发生差错的复杂软件,达到如此高的正确性(没有发现任何差错),表明了清华大学的软件技术以达到了很高的水平。国内的《参考消息》、《光明日报》、《解放日报》等也发表了相关的消息。时任中国计算机学会主任的张效祥先生,为此给我系专程发来了贺信。
我们为富士通开发的五个项目是:
(1) 1983年完成《FORTUNE》:对用FORTRAN编制的程序进行动态的控制流及数据流分析,收集FORTRAN程序运行时程序块的调用关系及调用频率;收集各类变量的类型特性及各变量在运行中状态变化的有关信息。所有这些信息都用来测试所编FORTRAN程序运行时的性能及效率,作为提供改善被测FORTRAN程序的运行质量。
(2) 1984年完成《FORPRAN》:对用FORTRAN编制的程序进行静态的程序块及所有类型数据的分析,收集FORTRAN程序块的静态调用关系及调用层次结构;收集各类变量的类型特性及各变量在模块中被定义、更新及引用的相关信息。所有这些信息都用来测试所编FORTRAN程序的静态构造及类型变量布局的性能及合理性,作为提供改善被测FORTRAN程序的构造质量。
(3)1986年完成《C语言编译程序》:为日本富士通公司M-系列计算机配置C语言编译程序。C语言编译程序的源代码必须用C语言本身来编制,而M-系列(即IBM360/370)大型机并没有配置C语言编译程序。因此,首先在具有C语言编译程序的小型机《DUAL-68000机》上开发一个C语言编译程序的“核”,该“核”的目标代码是M-150机的汇编代码,采用交叉编译技术,将该“核”装入M-150机上,然后再采用“自展”技术,将“核”逐步“自展”成为符合《C语言》ISO国际标准的M-150系列机上的《C语言编译程序》。
(4)1988年完成《软件复用技术研究》:这是一个软件技术研究发展的课题,全面分析研究了软件开发过程中软件可复用的必要性和可能性,对已经采用的软件复用技术进行综合的考察和评价,对软件复用的新技术及新方法进行了探索,特别是对基于抽象数据类型的软件构造方法进行了较深入的探索。该研究项目为我们以后进一步对面向对象的软件构造方法的研究打下了基础。
(5)1990年完成《词法、语法分析器的自动构造》:该项目是从一个语言的“文法图”得到该语言程序的词法分析器和语法分析器,就是通常所谓的编译前端。用户在计算机屏幕上使用该工具软件按文法图的形式构造自己所需设计开发的语言的词法及语法结构图,该软件将根据文法图自动构造出该语言的词法分析器和语法分析器。
以上五个项目的开发研究总经费为一亿多日元。
4、承担国家重点科技攻关项目
完成了“六五”、“七五”、“八五”及“八六三”等多项国家重点科技攻关项目,涵盖语言编译系统,数据库系统,信息管理系统和软件工程等领域,如: COSA平台,BASIC语言,C语言,C++语言编译系统研制,软件测试工具,IDEF工具等等,其中我们参与的COSA平台获电子部科技进步特等奖,国家科技进步二等奖.
5、为国内外机构研发信息系统
软件教研组有一支较早就建立的数据库和信息管理系统研发队伍,曾研制或参与研制多个信息系统,有为联合国国际原子能机构开发的管理软件包括国家体委信息管理系统,工行总行信息管理系统等等。
1985年以前,软件教研组的科研方向包括系统软件(编译系统和操作系统)和软件工程、数据库、计算机设计自动化和计算机基础理论等四个方面,根据改革的需要,1985年计算机设计自动化方向单独成为一个教研组,1986年计算机基础理论方向单独成立一个教研组,这样软件教研组便只有两个方向了,而我们的研究方向是系统软件和软件工程,因此,以上所述项目,多是我们所接触到的,仅仅是我校计算机软件学科发展历程中的汪洋一角。我相信其他与我同时经历过这五十年的同志,一定会有更宽、更深的体会和理解。
现在的研究小组
1999年,学校进行机构改革,我系取消原有的九个教研组,成立了6个研究所,软件教研组划入计算机软件技术研究所,该所涵盖数据工程与知识工程、软件工程与方法学、计算机图形学、计算机辅助设计与可视化和VLSI设计自动化等研究方向。原有的系统软件和软件工程研究小组在计算机软件技术研究所成立初期的主要方向是 软件过程的建模和软件过程度量的研究、软件工具的研究和应用以及编译基础设施的研究。目前系统软件和软件工程研究小组的队伍更加年轻有活力,现有成员全部具有博士学位, 近几年在软件测试、嵌入式系统开发环境及编译技术等领域获国家自然基金资助5项,完成国际合作及其他横向课题多项任务,包括奥运信息系统集成测试管理平台、Linux桌面操作系统稳定性测试与管理平台、易用性评估工具;运行于清华THUMP CPU上的嵌入式Linux系统TUES、THUMP 及应用开发工具链(编译器、汇编器、调试器);可验证、可执行的目标机描述技术;OpenMP实现等等。现在小组成员在面向Web Services的测试、验证 / 确认式编译、可重定向编译、面向可信计算的形式方法以及安全嵌入式操作系统等研究领域承担着国家863、基金及国内外合作任务,作为一个退休的老同仁,欣喜地看到队伍的茁壮成长,也坚信不久一定会有更多创新成果出现。
[作者简介]蒋维杜,男,1936生,江苏人,教授,1955年入清华电机系就读,1957年转入工程力学数学系数0班就读,1961年毕业留校任教。1972年转入计算机系任教,曾任为计算机系学术委员会委员、清华大学学位委员会计算机科学与技术分委员会委员。享有政府特殊津贴。已退休。