大家好,我是计算机系邓俊辉,我承担的是“数据结构”“计算几何”等算法类课程,以下是我的同行锦囊:
邓俊辉
算法是CS专业的基础与核心,所以不必担心学生对这类课程不够重视。然而在揭示深奥原理、探究抽象概念和剖析繁复技巧的过程中,学生往往会陷入就事论事、过于关注技巧细节的陷阱。为此,我在讲解基本原理、基本方法的同时,还会常与学生共同咀嚼品味,以期透过林林总总的算法,重构出背后的那幅完整图景,为他们日后在科研和应用中有所发现和发明,在眼界与器识上打下充分的基础。当然,这样的启发和引导必须自然而然,做到内容贴切、形式亲切、情感恳切和宗旨确切。
首先是善用典故譬喻。我会通过“愚公移山”的故事引出“减而治之”的算法策略,也会以“曹冲称象”的故事引出规约(Reduction)的概念。而在讲授各种图搜索算法时,更会用“Theseus探索迷宫”、“亚瑟王骑士聚会”等故事做类比,揭示出如何通过模仿自然过程实现高效率的计算。
其次是“通情达理”。在讨论最短路径算法、Quicksort算法时,我会提及发明者的图灵奖获奖演说,扼要回顾Dijkstra在从理论物理转入CS专业过程中的纠结、权衡与决断,重温Hoare在软件开发过程中屡败屡战的艰辛探索,与学生共同体会大师们对学术、对职业的谦恭,对人生、对世界的敬畏,以及他们对至善至美的执着追求。
最后是批判思维。在讲解Huffman、Prim等算法后,我会适时点出“步步最优,未必整体最优”这个往往被忽略的真理。我也会先与学生重温“善待教训、及早试错、以终为始”等箴言,再通过拓扑排序、BM匹配、BCC分解等实实在在的算法,确凿地给出佐证。而在发现散列算法居然能“突破”复杂度下界之后,我更会启发学生去关注直觉的可贵,认识到不仅要精通已有的工具与技术,更要志于和敢于创造新的计算模型与架构。
点击音频聆听邓俊辉老师的同行锦囊
点滴体会抛砖引玉,你我相互学习彼此启发,育人路上并肩前行!
供稿:教务处
编辑:李华山
审核:吕婷