【2008年国家级精品课程系列之五】

《数据结构与算法》:苟日新,又日新,日日新

“这次被评为国家级精品课程和我们长期以来的努力是分不开的,这是一个水到渠成的结果。”当被问及《数据结构与算法》这门课是如何被评上国家精品课程时,北大信息科学技术学院教授、博导,该门精品课主持人张铭以她特有的爽快如是回答。

三十年课程建设 实至名归

张铭老师对于获得这项荣誉的解释是“水到渠成”,而他的同事、学生更喜欢用“实至名归”来概括。

“实至名归”来自于课程的发展历史和长期的建设。张铭老师娓娓道来,课程申报成功只是一个结果,而整个课程的建设是一个长期的过程,课程思想体系的建设是其中最重要的部分。

《数据结构与算法》这门课程的历史最早可以上溯到1978年,在计算机系建系伊始,它就已被列为主干基础课,由杨冬青等前辈首次编写了《数据结构》讲义,1985年许卓群等编写的《数据结构》(高教社)在全国具有很大的影响力。自1996年张铭主持这门课程至今,课程的建设经历了1996—2001的发展阶段和2002年至今的提高阶段。其间知识体系、课程设置、使用教材几经变革,现在使用的正是由张铭等北大教师编写的“十一五”规划《数据结构与算法》这本教材。

谈到国家精品课程的申报,曾担任过国家精品课程评选评委的张铭也颇有感触。她说,能被评为精品课程是需要从多方面努力的:一是教学思想要形成有影响力的教材和教学论文,二是要建设好与课程配套的学习网站,三是要呼应考核点,突出课程特色,四是经费问题,通过学校拨款和出版社的立项经费等途径解决。

信息科学与技术学院给课程组配备了优秀的教师,而且每年都给课程配备博士生和硕士生组成的强大的助教队伍,这对于教学工作的顺利开展也有着很大的帮助。尤其值得一提的是,完备的网络建设及其他教学资源公众分享的措施,使得许多外校的同学也能够通过远程技术学习这门课程。网络课程受到了来自全国各国其他学校的学生的肯定,“不仅让本校学生受益,同时也惠及其他学校的学生。”

苟日新,又日新,日日新

“苟日新,又日新,日日新。”这句典出《礼记?大学》的话用来形容当代信息科学技术的发展可谓恰如其分。而《数据结构与算法》这门和信息技术密切相关的课程也有着日新月异的变化。

提到计算机技术发展的瞬息万变,张铭回忆说,自己1984年高考报志愿时,正值国防科技大学刚刚研制成功银河亿次计算机,计算机科学技术的发展可谓如日中天。从昔日的燕园求学,到今日的三尺讲台,张铭一路走来,孜孜以求、乐在其中。她现在主要从事社会网络分析、语义网和数字图书馆等前沿方向的研究,其终端产品之一是北大已研制出的“在线课程组织”。该项目利用垂直搜索引擎技术,把网页上大量的课程信息抓取出来,通过信息抽取技术导入数据库,利用语义网技术把建立课程知识点直接的关联,即将加入的标签、评注、学习社区等社会网络功能。这一产品提取了国内外课程的信息,使用它来搜索和学习课程知识要比Google方便得多。

说到搜索引擎技术,张铭说,2000年春季学期自己曾经给1999级学生布置过一道作业题:设计并实现一个简单的搜索引擎。当时Google还未上市,百度也刚刚成立,但学生完成的情况已经很令人满意。他们当中就有现就读于全美排名第5的UIUC计算机系的梅俏竹,这位KDD 2006、2007最佳学生论文奖得主回忆起这道作业题时说道:“北大的本科生课程实习就能有这样的前瞻性的问题绝对是值得称道的。”

美国卡内基?梅隆(CMU)大学的张晖教授认为,《数据结构与算法》这门课 “毫不逊色于美国的CMU、Berkeley等一流大学的相应课程,甚至在深度、广度上扩展得更多。”斯坦福大学计算机系博士生徐颖则称赞其“完全可以与美国最好的计算机系的相应课程媲美”。

“让学生学习实用的技术”

如何才能学到具有前瞻性、实用性的计算机技能可能是这个专业的学生最关心的。而《数据结构与算法》这门课程也恰恰满足了学生的这一求知需求。

从知识结构来说,该课程上承“计算概论”与“程序设计实习”,下启“算法分析与设计”和“计算复杂性理论”,同时是操作系统、软件工程、数据库概论、编译技术、人工智能、计算机图形学等专业必修先行课,是计算机专业的核心课程之一,本科教学的重中之重。很多系统软件和应用软件都要使用到各种数据结构和算法。在搜索引擎、数据挖掘、生物信息学等前沿研究中,数据结构与算法也有很多应用和发展。

张铭老师自己从事科研,也乐于将从科研中获得的信息在授课过程中反馈给学生。例如,Google的PageRank算法等,以此来激发学生的学习热情。她很欣慰地说,我们的学生有这样的能力,给他们一些提示和参考文献,学有余力者就会通过课后自学的方式来拓展自己这一领域的知识。

在网上流传着这样一个说法:参加国内IT公司的考试,一定要用张铭老师的教材;准备国内的升学考试,要用清华严蔚敏老师的教材;参加国外的考试,用MIT的教材。张老师课程体系的前沿性和实用性可见一斑。

这门课程的训练和培养,大大提高了北大学生在ACM/IPC国际大学生程序设计竞赛中的成绩,2005年,北京大学代表队获得全球第11名(铜牌),2006年和2008年均获全球第13名,2007年获得全球第14名。此外,这门课程对前沿科领域的关注,也大大激发了学生创造力,多名同学因此获得了信息学院“十佳”优秀毕业论文和北大“挑战杯”一等奖的荣誉。

当谈到这个学科的学生应该具有的素质时,张铭细心地将学生分为研究型、工程型和应用型三种不同类型的人来分别提出要求,而未简单地“一刀切”。 研究型人才的基本要求是扎实的计算机基础理论和核心技术以及创新意识和创新能力,工程型人才熟悉计算机软硬件产品的工程性开发和实现工作,应用型人才能够从技术上实施信息化系统的构成和配置。

张铭认为,信息科学的学习对于一个人的思维培养可以起到良好的作用。她笑着称“计算机专业的学生是坚韧而又不固执的一群人”,除了理工科学习所培养的逻辑性之外,因为计算机专业不像数学那样追求极致,由于时间与空间的限制,这个专业要求的是可行解而非最优解,这对学生的性格也产生了很大的影响。编程所培养的创造性,IT技术的不断更新及其在生活中的渗透,北大“常为新”的传统影响,都使得学生们极具创新精神和敏锐的洞察力。许多大项目的团队合作也很好地培养了学生的团队合作精神、全局观和系统观。毕业20周年返校时,她发现昔日的84级同学在高级管理岗位的较多,例如纽交所上市公司的副总裁、跨国医疗器械公司的大中华区总经理等,这与专业的思维方法训练是密切相关的。

“我是一个喜欢与人分享的人”

谈及自己的学生,张铭老师如数家珍。

谈到为何选择毕业留在北大做老师并一直坚持到现在时,张铭老师说,我是一个喜欢分享的人——喜欢把自己觉得正确、有价值的东西告诉别人;生活中,如果有了购物新发现也会打电话告诉朋友。她笑称自己的这种性格是“好为人师”。她说,自己是一个比较真也比较直的人,高校的人际关系简单,适合自己。教师的职业选择还可能与她的家庭有关——她的母亲毕业于湖南师范大学历史系,却一直遗憾自己没有当老师,后来四个姐妹虽然读的都不是师范类大学却都不约而同地选择了教师职业。

自身的受教育经历无疑也对她做出在北大当老师的选择有着重要影响。从1984年考上北京大学计算机系,念完本科、硕士、博士一直到留校工作,张铭从未真正远离过北大。北大特有的人文氛围,燕园里先生们的传道授业,对她有着潜移默化的影响。比如说,现在“新东方”的王强是大学时的英语老师,王强老师在课堂上朗读华兹华斯诗篇的场景,伴随着燕园求学的那段纯真时光,沉淀成了张铭老师最美好的回忆。

张铭说,她自己有空也会去浏览“北大课程在线”上的视频,上面其他老师的课堂也给了她很多启发。上课时,她喜欢采用互动讨论的方式,这样学生的热情会比较高。同时,她也承认这对教师的知识储备和课堂掌握能力提出了远高于“照本宣科”式教学的要求,但学生们的良好反馈让她一直坚持这样授课。

作为一个教师,张铭对于学生的关怀并不局限于课堂,而是放眼于他们的整个职业发展生涯。她自己曾邀请84级计算机系校友一起开过“职业规划与领导力发展”的暑期课程,很受学生们的欢迎。如由她08年主持的“职业规划与领导力发展”暑期课,学生们表示他们从该课中受益匪浅:“短短一个月的课程,精心设计,汇聚了IT人士的经济学、管理学经验,中国企业的成长和全球化过程等成功商业案例,以及市场开拓、企业的财务管理等理念。”

今年11月份,她请回97级的三名学生来给自己现在正在带的07级学生讲一讲职业生涯发展。这三名学生分别是融资1200万美元创立酷讯公司的陈华、迅雷公司下载事业部总经理的段晖和百度公司的技术骨干马飞。马飞在《数据结构与算法》课程推荐中曾深情地写道:“张老师是计算机系中对学生最认真最负责的几个老师之一”,“记得这门课程期中考试的时候,我是倒数第6名,张老师把我们6个成绩最差的人叫过去,同时叫上成绩最好的6位,指定一对一的帮带,张老师这种不丢弃不放弃的态度令我终身感动。”

张铭老师请回97级学生交流

张铭老师谈道,许多学生刚开始学习时没找着门道,还是零起点(中学没有学过编程),与那些程序设计竞赛的保送生相比,编程能力有些差距,因此很着急,这是正常的。为了帮助同学们调整好心态,她专门请这三位97级的学生返校与07级的学生交流。当年他们也都是零起点,但是他们在老师和同学的带动下,加上自己不懈的努力,终于成长为优秀的程序员、系统架构师。从校友们的身上,07的同学可以给自己的未来做个展望——10年后的自己会是怎么样,鼓励他们在专业学习上不断精进。

采访最后,张铭老师还特意为信息科学的学生留下了一段寄语:“在知识经济时代,信息技术如日中天,深入到各行各业,你们正确地选择了信息科学这个方向,希望同学们认真踏实地打好基础,培养过硬的理论技术和实践能力,无止境地追求卓越,创造属于自己的美好未来!”

希望同学们“无止境地追求卓越”的张铭老师,她自己,无论是科研还是教学,又何尝不是在无止境地追求卓越呢?

编辑:聪平