华南师范大学计算机学院图灵班工作计划--2017年

作者:斌头老师
单位:华南师范大学计算机学院
时间:2017年10月
版本:0.99


引言

2017年秋季,华南师范大学计算机学院图灵班将会迎来其第三批学员。本文旨在更客观务实地完成以下任务:明确教学目标、策略,制定更详细的工作计划和教学计划。同时,希望本文可成为图灵班学习、工作指南。

图灵班的目标

  • 读几本核心的教材;
  • 培养正确的学习方法,建设优秀的学习团队;
  • 为未来的发展寻找方向;

图灵班的策略

  • 图灵班鼓励学有余力的同学利用“课余时间”进行更多的课程学习、学术攻关;
  • 图灵班的学习各种“利益”脱勾,能在学习上有所收获就是最大的利益;
  • 图灵班的学习围绕学院的核心课程,在进度难度上有所提高。

课程计划

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

先修课程及遴选

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

  • 课程网站:ketangpai.com,邀请码:2YA2UT。
  • 课程论坛

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

HTCS这门课对应大一的“程序设计语言”,所以,不会进行过多的授课,学生以自学为主。在开学一个月之内,提交一份HTCS-C阅读报告、入图灵班的申请,并通过面试者可参加第一学期的学习讨论。初步计划,入班人数为20人以内。(注,我作为指导老师,最欢迎有大志者进班学习。为什么需要“大志”?请看"志闲而少欲"!)

第一学期的学习内容

第一学期的内容主要包括:

程序设计

程序设计主要是针对大一新生ACM竞赛做辅导,以HTCS-C++为基础,辅助教材包括:

  • Pointers on C.

线性代数

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

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

数据结构与算法入门

主要内容包括CLRS的前12章,可忽略大部分的证明与概率分析。建议专题如下:

  • 二分查找法、中间值查找
  • 排序算法:插入排序、归并排序、快速排序
  • 数据结构相关:队列、堆栈、二叉树
  • 堆与堆排序
  • Hash表
  • 二叉查找树

计算机系统入门

主要内部包括CSAPP的前两章。阅读为主。

注,目前已经完成学员招收工作,初步入班人数11人,女生一名。2017年10月7日

初级课程

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

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

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

学期末,再次考核,决定学员是否继续图灵班的学习。当然,学员也可根据自己的需要退出。

进阶课程

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

  • 深入理解计算机系统(CSAPP)(第三版),机械工业出版社,R.E. Bryant
  • 计算理论导引,ITOC,M. Sipser
  • 概率与计算,Michael Mitzenmacher
  • 数论概论 (FINT),J.H. Silverman
  • 代数,Michael Artin

进阶课程分为几个阶段,而且也不仅限以上书目。首先开始的是CSAPPv3 。其他内容根据实际情况再做调整。为配合学术研究,图灵班还开设以下课程(讲座):

  • 科研导引
  • 科技论文阅读写作

科研学术课程

待定!

实践教学计划

待定!

结束语

本文归纳总结图灵班的建设目标与策略,制订了初步的开展计划。过去两年的经验告诉我,这个计划具有比较高的可执行度。这个计划最妙之处还在于其不完善,一切皆有可能,每一次行动都是一次完善的过程。如何改进,这是一个问题......


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

  1. 微积分,James Stewart
  2. How to Think like a Computer Scientist
  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)

推荐阅读更多精彩内容

  • 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 1) 注...
    Albert陈凯阅读 19,131评论 7 460
  • 概念 协程是程序(软件)控制的可以实现多线程效果的方法.线程是由CPU控制的高并发方法. 协程,gevent,gr...
    EnjoyWT阅读 1,969评论 0 3
  • 著名作家杨朔曾说过:“作为一个人,要是不经历过人世上的悲欢离合,不跟生活打过交手仗,就不可能真正懂得人生的意义。”...
    郭子睿的一条阅读 301评论 0 3
  • PM—21:30 此刻的我,独自坐在开着台灯的电脑桌前,网易云音乐里循环播放着哥哥的“左右手”,空调的冷气从背后呼...
    cain_shen阅读 40评论 0 1
  • 养只母鸡在家里,每天给它各种饲料,总想着它一天天长大,然后下蛋,下蛋,下蛋,之后再孵一窝小鸡,再喂,再下蛋,再孵小...
    和俊卿阅读 234评论 0 0