[关闭]
@bintou 2015-09-12T02:17:53.000000Z 字数 4209 阅读 4822

打造华南师范大学的计算机科学铁军--图灵班

教学改革
作者:王立斌
单位:华南师范大学计算机学院
时间:2015年9月
版本:0.5


引言

本文简要分析指出近年华南师范大学计算机学院本科教学中的若干核心问题,提出一种新的且有望实现的教学模式,描述相应的目标与策略,并给出初始的教学计划。希望本文可抛砖引玉,引起各方重视,从而可群策群力,最终可实现打造华南师范大学计算机学院的学术精英学生团队的目标。

策划动机

计算机学院是华南师范大学为数不多的工科学院之一,在当今信息技术工程人员需求激增的年代,每年为社会输送三百多名IT人才。可以自豪地说,计算机学院同学的就业率与薪酬都居于学校前列。在创新创业、科技创新、学科竞赛等方面,计算机学子也是冲锋在前的骨干力量,取得了不少骄人的成绩。

成绩与危机并存,回顾近年来在本科教学当中的问题,主要可归纳为几点:
- 科技创新、学科竞赛难以取得高水平的突破,甚至有水平滑坡的趋势;
- 难以培育出高水平科技论文,与本校兄弟院系相比,我们也处于下游水平,体现出学科教育中重工程、轻理论的倾向,学生们明显缺乏相应的学术科研训练;
- 学生中蔓延着比较浓重的畏难情绪,没有明确的长远目标,缺乏学习的激情。又因为环境、制度的影响和约束,学生的这种情绪得到了某种程度上的迎合;

每次进行教学改革讨论,我们都能发现很多的问题,但是各种解决方案又往往流于“头痛医头,脚痛医脚”,无法从根本解决问题。同时,老师们也都明白,之所以无法有效解决问题,往往是因为束缚过多。估计不经过“刮骨疗伤”的痛苦难以有大的改进。

比如,在2012年,学院针对相关问题提出了建设“实验班”的举措,至今已经已经招收了三届“实验班”学员。“实验班”的目标就是要培养学术精英,小班授课(30多人),让老师讲更难更多的内容。每位同学都配置一位专业导师,为其解决学术疑难,引导其走人学术前沿。然而三年下来,效果并不显著。“实验班”的建设困难重重:难以建立独立的行政班,没有独立的教学计划,没有行之有效的遴选与淘汰机制,过于短暂(3个学期)的教学过程,难以激发老师的教学热情,等等。使得“实验班”的同学没有得到更强有力的培养,没有发挥应有的力量,没有达到预期的目标。归根到底,束缚过多!

千言万语,解决以上问题无非一句话:让教育回归教育--老师喜欢教,学生喜欢学。“大学之大”也许不仅仅在于“大师之大”,而是在于学问之大。因此,我们需要:老师喜欢教“大学问”,学生努力学习“大学问”。于是我们问,在目前各种体制的束缚之下,回归教育的本源是否可以成为可能?以下我们试图给出一个初始的回应,如果还不能算是答案的话。

目标与策略

我们的目标是:建设“图灵班”,让“图灵班”的学员成为计算机学院科学技术的铁军,让他们成为科技创新、学术研究的先锋队。

为了排除之前实验班建设遭遇的困难,我们设想“带着脚镣跳舞”的策略,所有的师生都身于体制之内,然而让图灵班的建设摆脱尽可能多的束缚。归纳为以下几点思路:

  1. 学生必须有远大的理想,志于科研
  2. 建立独立且相对完善的图灵班教学计划,该计划不从属于本科教学计划;
  3. 图灵班学制四年,而非实验班原有三学期的限制;
  4. 所有课程使用著名英文教材,小班学习,灵活的授课机制,课程不纳入本科教学计划管理(负面地看,即你不会得到任何的学分);
  5. 建立完善的遴选淘汰制度,吸引优秀的学生,淘汰落后的学生,宁缺勿滥。初步计划10人左右;
  6. 必须挣脱“成规”与“利益”的束缚。

以上策略假定学生学有余力,能利用“课余时间”进行更多的课程学习、学术攻关。同时,为了让教学真正回归教学,我们有意识地让图灵班的建设与各种“利益”脱勾:我们不会用学院的支持给予图灵班学员加分政策,也不会给予“保研”的政策倾斜。换而言之,进入图灵班只是因为你愿意学,有能力学。为了保证教学场所与教学资源等得到保障,学院会提供相应的保障措施。

不为图灵班学员配学业导师,换而为学员配科研导师。与学业导师不同的是,还会制定相应措施约定科研导师的指导时间与导师的遴选。

课程计划

教学计划主要分为:先修课程、初级课程、进阶课程及科研课程等若干阶段,有些部分可并行展开,比如:进阶课程与科研课程的学习就可以并行开展。

先修课程

设定图灵班先修班的目标旨在选拔优秀学员,避免使用以往的一般课程考核的方式,提高学生的区分度。同时,通过先修班也让学员知道图灵班教学的模式及体会相应的学习强度、压力。让进入图灵班的同学是真正喜欢学习愿意学习的同学。

作为敲门砖,特选两门与正常教学计划相对应的课程。

HTCS这门课对应大一的“程序设计语言”,所以,不会进行过多的授课,学生以自学为主,老师组织若干讨论和练习。

《线性代数》也是大一主干课程之一,但是,这里使用了完全不同的教材,讲解内容也大相径庭,特别是,针对这一门入门数学课,要求学生完成若干程序项目,不让数学课脱离工程实践。

遴选考核

先修课程中学员的表现作为学员遴选的重要指标。到第一学期期末,以这两门课内容为主进行一次选拔考核。最终遴选出优秀学员成为图灵班学员,进入下一阶段的教学。

初级课程

初级课程在大一寒假开始进行,主要有两门课:

虽然是初级课程,但是,我们将这两门课程视为图灵班的核心课程,是重要的“敲门砖”也是课程建设的重点。

首先,安排学生在寒假期间进行自学,老师给出相应的学习指导。其次,在新的学期开始之后,再安排具体的学习计划。需要强调,图灵班的授课一定不会是目前的老师满堂灌的形式。

学期末,再次考核,决定学员是否继续图灵班的学习。

进阶课程

进阶课程学习安排在大一结束之后的暑假开始。主要包括以下几门课程:

  1. 计算机程序的构造与解释(SICP)
  2. 概率与计算,Michael Mitzenmacher
  3. 数论概论 (FINT),J.H. Silverman
  4. 计算理论导引,ITOC,M. Sipser
  5. Logic in Computer Science:modelling and reasoning about systems,Michael Huth and Mark Ryan
  6. 代数,Michael Artin

进阶课程分为几个阶段,而且也不仅限以上书目。根据实际情况再做调整。为配合学术研究及科研项目的申报,图灵班还开设以下课程:

科研学术课程

科研导师的指导时间大致在第四学期开始,科研课程由科研导师根据自己的学术兴趣进行安排,包括一到两门专业课,引领学生进入学科前沿。

首先,科研导师提交完善的培养计划,包括课程计划与研究课题计划。其次,学生选择导师。经过双方的双向选择最终学生进入科研团队。

我们强调,科研导师的培养计划必须包括一到两门专业课程的学习,计划中必须指明相应的教材以及授课计划。换而言之,我们不希望图灵班学员进入科研团队只是一个开发人员,而得不到更多的学术培养。

同时在第四学期,根据科研导师拟定的课题计划,学生可撰写研究计划,申报各级各类科技创新、创新创业计划。

实践教学计划

图灵班的课程已经包括了许多的实践内容,暂不作列举。学员还会在老师的指导下,针对自己关注的学科问题,撰写一份研究计划或者项目计划。除此以外,图灵班还会倡导开源软件的应用与开发,我们会鼓励学生完全工作在开源操作系统之下,学习各种开源的开发工具,开发更多的开源工具。让学生们得到开源文化的熏陶,从而具备更广阔的国际文化视野。

同时,实践教学内容可以根据实际情况安排不同的讲座,可以是老师,也可以是同学,甚至可以邀请校友回来进行讲演。

结束语

本文为图灵班的建设进行各种设想,设计了建设策略,制订了初步的教学计划。坦率而言,这种教学模式并没有什么创新之处:让大学成为大学;让教育回归本源。然而,目前的环境与制度下,也许这些“正常行为”就会稍显另类,任何一小步的改进也许都会遭遇极大的困难与束缚。任重道远!在此呼吁,希望更多的老师、更多的学子可以参与这种正常的教学工作,为打造华南师范大学计算机的学术精英团队贡献力量。


结束语之外的话

也许有老师会怀疑,以上制订的计划是否过于“高难”,不适合我们华南师范大学这样的小学校。对此,笔者想回应两点:

  1. 本文作者尝试过在2014级的同学中进行《程序设计》、《线性代数》、《算法导论》等课程的教学,效果不错,完全可以跟上。这是当时的授课手记
  2. 本文作者有两位学生,他们都是在本科时候进入老师的科研团队学习工作,然后保研、读研,他们学习过这里推荐的大部分课程。目前这两位都在国外读博士,一位是在波鸿大学的Jiaxin Pan,一位是在里昂高师的Weiqiang Wen

因此,相信这个计划具有比较高的可执行度。而且,如果一个学校不坚持严标准高要求,那不正是教学没有回归教学本身的体现吗?

附录A. 初级核心课程书目

  1. 微积分,James Stewart
  2. How to Think like a Computer Scientist5
  3. 线性代数导论[MIT],G. Strang,
  4. 算法导论(CLRS)
  5. 深入理解计算机系统(CSAPP) 或 A practical introduction to computer architecture,Daniel Page
  6. 计算机程序的构造与解释(SICP)
  7. 概率与计算,Michael Mitzenmacher
  8. 数论概论 (FINT),J.H. Silverman

附录B. 进阶核心课程书目

  1. 计算理论导引,ITOC,M. Sipser
  2. Logic in Computer Science:modelling and reasoning about systems,Michael Huth and Mark Ryan
  3. 具体数学,GKP
  4. 代数,Michael Artin

附录C. 没有列入核心书目的好书

  1. Algorithms
  2. 挑战程序设计竞赛(第二版),人民邮电出版社,巫俊泽等译.
  3. 编译原理:技术与工具 (Dragon Book),Addison-Wesley.
  4. Introduction to Automata Theory, Languages, and Computation(IALC).
  5. 计算机程序设计艺术(TAOCP)
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注