作者:斌頭老師
單位:華南師范大學(xué)計算機學(xué)院
時間:2017年10月
版本:0.99
引言
2017年秋季,華南師范大學(xué)計算機學(xué)院圖靈班將會迎來其第三批學(xué)員。本文旨在更客觀務(wù)實地完成以下任務(wù):明確教學(xué)目標(biāo)、策略,制定更詳細的工作計劃和教學(xué)計劃。同時,希望本文可成為圖靈班學(xué)習(xí)、工作指南。
圖靈班的目標(biāo)
- 讀幾本核心的教材;
- 培養(yǎng)正確的學(xué)習(xí)方法,建設(shè)優(yōu)秀的學(xué)習(xí)團隊;
- 為未來的發(fā)展尋找方向;
圖靈班的策略
- 圖靈班鼓勵學(xué)有余力的同學(xué)利用“課余時間”進行更多的課程學(xué)習(xí)、學(xué)術(shù)攻關(guān);
- 圖靈班的學(xué)習(xí)各種“利益”脫勾,能在學(xué)習(xí)上有所收獲就是最大的利益;
- 圖靈班的學(xué)習(xí)圍繞學(xué)院的核心課程,在進度難度上有所提高。
課程計劃
教學(xué)計劃主要分為:先修課程、初級課程、進階課程及科研課程等若干階段,有些部分可并行展開,比如:進階課程與科研課程的學(xué)習(xí)就可以并行開展。
先修課程及遴選
設(shè)定圖靈班先修班的目標(biāo)旨在選拔優(yōu)秀學(xué)員,避免使用以往的一般課程考核的方式,提高學(xué)生的區(qū)分度。同時,通過先修班也讓學(xué)員知道圖靈班教學(xué)的模式及體會相應(yīng)的學(xué)習(xí)強度、壓力。讓進入圖靈班的同學(xué)是真正喜歡學(xué)習(xí)、愿意學(xué)習(xí)的同學(xué)。
- 課程網(wǎng)站:ketangpai.com,邀請碼:2YA2UT。
- 課程論壇
作為敲門磚,特選兩門與正常教學(xué)計劃相對應(yīng)的課程。首先是:
- How to Think Like a Computer Scientist: C version(簡記為HTCS-C)和How to Think Like a Computer Scientist: C++ Version(簡記為HTCS-C++)。
HTCS這門課對應(yīng)大一的“程序設(shè)計語言”,所以,不會進行過多的授課,學(xué)生以自學(xué)為主。在開學(xué)一個月之內(nèi),提交一份HTCS-C閱讀報告、入圖靈班的申請,并通過面試者可參加第一學(xué)期的學(xué)習(xí)討論。初步計劃,入班人數(shù)為20人以內(nèi)。(注,我作為指導(dǎo)老師,最歡迎有大志者進班學(xué)習(xí)。為什么需要“大志”?請看"志閑而少欲"!)
第一學(xué)期的學(xué)習(xí)內(nèi)容
第一學(xué)期的內(nèi)容主要包括:
- 程序設(shè)計
- 數(shù)據(jù)結(jié)構(gòu)與算法
- MIT:Linear Algebra, 網(wǎng)易公開課上對應(yīng)的視頻
- 計算機系統(tǒng)入門
程序設(shè)計
程序設(shè)計主要是針對大一新生ACM競賽做輔導(dǎo),以HTCS-C++為基礎(chǔ),輔助教材包括:
- Pointers on C.
線性代數(shù)
《線性代數(shù)》是大一主干課程之一,這里使用了完全不同的教材--MIT的GSLA,講解方式、內(nèi)容也大相徑庭。特別是,針對這一門入門數(shù)學(xué)課,要求學(xué)生完成若干程序項目,不讓數(shù)學(xué)課脫離工程實踐。
先修課程中學(xué)員的表現(xiàn)作為學(xué)員遴選的重要指標(biāo)。到第一學(xué)期期末,以這兩門課內(nèi)容為主進行一次選拔考核。最終遴選出優(yōu)秀學(xué)員成為圖靈班學(xué)員,進入下一階段的教學(xué)。
數(shù)據(jù)結(jié)構(gòu)與算法入門
主要內(nèi)容包括CLRS的前12章,可忽略大部分的證明與概率分析。建議專題如下:
- 二分查找法、中間值查找
- 排序算法:插入排序、歸并排序、快速排序
- 數(shù)據(jù)結(jié)構(gòu)相關(guān):隊列、堆棧、二叉樹
- 堆與堆排序
- Hash表
- 二叉查找樹
計算機系統(tǒng)入門
主要內(nèi)部包括CSAPP的前兩章。閱讀為主。
注,目前已經(jīng)完成學(xué)員招收工作,初步入班人數(shù)11人,女生一名。2017年10月7日
初級課程
初級課程在大一寒假開始進行,主要是一門課:
- 算法導(dǎo)論(CLRS),網(wǎng)易公開課視頻.
雖然是初級課程,但是,我們將這兩門課程視為圖靈班的核心課程,是重要的“敲門磚”也是課程建設(shè)的重點。
首先,安排學(xué)生在寒假期間進行自學(xué),老師給出相應(yīng)的學(xué)習(xí)指導(dǎo)。其次,在新的學(xué)期開始之后,再安排具體的學(xué)習(xí)計劃。需要強調(diào),圖靈班的授課一定不會是目前的老師滿堂灌的形式。
學(xué)期末,再次考核,決定學(xué)員是否繼續(xù)圖靈班的學(xué)習(xí)。當(dāng)然,學(xué)員也可根據(jù)自己的需要退出。
進階課程
進階課程學(xué)習(xí)安排在大一結(jié)束之后的暑假開始。主要包括以下課程:
- 深入理解計算機系統(tǒng)(CSAPP)(第三版),機械工業(yè)出版社,R.E. Bryant
- 計算理論導(dǎo)引,ITOC,M. Sipser
- 概率與計算,Michael Mitzenmacher
- 數(shù)論概論 (FINT),J.H. Silverman
- 代數(shù),Michael Artin
進階課程分為幾個階段,而且也不僅限以上書目。首先開始的是CSAPPv3 。其他內(nèi)容根據(jù)實際情況再做調(diào)整。為配合學(xué)術(shù)研究,圖靈班還開設(shè)以下課程(講座):
- 科研導(dǎo)引
- 科技論文閱讀寫作
科研學(xué)術(shù)課程
待定!
實踐教學(xué)計劃
待定!
結(jié)束語
本文歸納總結(jié)圖靈班的建設(shè)目標(biāo)與策略,制訂了初步的開展計劃。過去兩年的經(jīng)驗告訴我,這個計劃具有比較高的可執(zhí)行度。這個計劃最妙之處還在于其不完善,一切皆有可能,每一次行動都是一次完善的過程。如何改進,這是一個問題......
附錄A. 初級核心課程書目
- 微積分,James Stewart
- How to Think like a Computer Scientist
- 線性代數(shù)導(dǎo)論[MIT],G. Strang,
- 算法導(dǎo)論(CLRS)
- 深入理解計算機系統(tǒng)(CSAPP) 或 A practical introduction to computer architecture,Daniel Page
- 計算機程序的構(gòu)造與解釋(SICP)
- 概率與計算,Michael Mitzenmacher
- 數(shù)論概論 (FINT),J.H. Silverman
附錄B. 進階核心課程書目
- 計算理論導(dǎo)引,ITOC,M. Sipser
- Logic in Computer Science:modelling and reasoning about systems,Michael Huth and Mark Ryan
- 具體數(shù)學(xué),GKP
- 代數(shù),Michael Artin
附錄C. 沒有列入核心書目的好書
- Algorithms
- 挑戰(zhàn)程序設(shè)計競賽(第二版),人民郵電出版社,巫俊澤等譯.
- 編譯原理:技術(shù)與工具 (Dragon Book),Addison-Wesley.
- Introduction to Automata Theory, Languages, and Computation(IALC).
- 計算機程序設(shè)計藝術(shù)(TAOCP)