復雜性思考
本書的靈感來源于無聊與迷戀的感覺:對常規(guī)的數據結構與算法介紹的無聊,對復雜系統(tǒng)的迷戀。數據結構的問題在于教師在教授這門課程的時候通常不會調動起學生的積極性;復雜性科學的問題在于學校通常不會教授這門課程。
2005年,我在歐林學院講授了一門新課程,學生要閱讀關于復雜性的主題,使用Python進行實驗,并學習算法與數據結構。當我在2008年再次講授這門課程時,我寫了本書的初稿。
在2011年第3次講授這門課程時,我準備出版該書并邀請學生們以案例研究的形式提交其工作成果并包含在書中。我在歐林學院找了9位教授成立了項目委員會,選擇可供出版的報告。符合標準的案例研究被納入到本書中。我們將在下一版吸納來自讀者的更多稿件(參見附錄A)。
對教師的建議
本書可以用作Python編程與算法的大學中級課程教材。我的教學遵循如下結構:
閱讀
復雜性科學涵蓋了各種主題。這些...
本書的靈感來源于無聊與迷戀的感覺:對常規(guī)的數據結構與算法介紹的無聊,對復雜系統(tǒng)的迷戀。數據結構的問題在于教師在教授這門課程的時候通常不會調動起學生的積極性;復雜性科學的問題在于學校通常不會教授這門課程。
2005年,我在歐林學院講授了一門新課程,學生要閱讀關于復雜性的主題,使用Python進行實驗,并學習算法與數據結構。當我在2008年再次講授這門課程時,我寫了本書的初稿。
在2011年第3次講授這門課程時,我準備出版該書并邀請學生們以案例研究的形式提交其工作成果并包含在書中。我在歐林學院找了9位教授成立了項目委員會,選擇可供出版的報告。符合標準的案例研究被納入到本書中。我們將在下一版吸納來自讀者的更多稿件(參見附錄A)。
對教師的建議
本書可以用作Python編程與算法的大學中級課程教材。我的教學遵循如下結構:
閱讀
復雜性科學涵蓋了各種主題。這些主題之間相互關聯,但需要花費不少時間才能搞清楚這些聯系。為了幫助學生們看到全景,我會向他們介紹一些閱讀列表,這些都來自于該領域最流行的研究成果。我的閱讀列表以及關于如何使用它的建議在附錄B中。
練習
本書提供了一系列練習;很多練習都要求學生重新實現一些開創(chuàng)性實驗并對其進行擴展。復雜性吸引人的一個地方在于我們可以通過適當的編程技能與數學知識接觸研究前沿。
討論
書中的主題提出了關于科學哲學的問題,這需要學生們進一步閱讀并進行課堂討論。
案例研究
在我的課堂上,我們將幾乎半個學期的時間都用在了案例研究上。學生們經由構思產生過程、形成團隊,并在一系列實驗上花費6~7周的時間,然后以4~6頁可發(fā)表的報告形式來呈現其工作成果。
可以通過https://sites.google.com/site/compmodolin了解課程大綱與我的說明。
對自學者的建議
在2009~2010年,我作為Google的一名訪問學者在其劍橋辦公室工作。在與我共事的軟件工程師中,讓我印象深刻的一點是他們廣博的求知欲以及增長知識與技能的動力。
我希望本書能夠幫助像他們一樣的人們來探索他們可能遇不到的一些主題與想法,練習Python編程技能,以及學習關于數據結構與算法的更多知識(或者看看有哪些內容不適合放在第1版中)。
本書針對自學者的一些特點有:
技術深度
Allen B. Downey擁有加州大學伯克利分校的計算機科學博土學位和MIT的碩士與學土學位,現任美國歐林工程學院計算機科學系的教授,曾經在威爾斯利大學、科爾比學院和加州大學伯克利分校教授計算機科學相關的課程。曾經擔任 Google的訪問科學家,對復雜性科學和Python十分著迷,有較為深入的研究和豐富的實踐經驗。
