魯強
摘要:大學新生通常不能對計算機學科從整體上進行認識,難以建立起各個理論之間的關(guān)聯(lián)。文章針對以上問題,對計算思維導引課程中的相關(guān)案例進行討論,闡述如何實施課程方案,具體介紹授課內(nèi)容及方式,說明課程效果并提出改進建議。
關(guān)鍵詞:計算思維;新生研討課;計算機導論
0引言
計算思維、數(shù)學思維和實驗思維是科學思維體系下的3種認識事物發(fā)現(xiàn)規(guī)律的方法。計算思維的重要性引起廣大教育工作者的重視,國內(nèi)已有相關(guān)學校開設了相關(guān)計算機基礎課程,或者以計算思維為指導思想的課程群。對于新生來講,一味地灌輸“計算思維”相關(guān)內(nèi)容,可能會引起其迷惑,這是因為思維以感知為基礎又超越感知的界限來探索與發(fā)現(xiàn)事物的內(nèi)部本質(zhì)聯(lián)系和規(guī)律性。思維是認識過程的高級階段,新生對于什么是計算機科學還沒有感知和認識,也就無從體會“計算思維”了。
計算思維導引新生研討課的開設并不是替代已有計算機基礎課程,而是作為已有課程的必要補充。通過案例來培養(yǎng)學生對計算機科學的感知,幫助學生理解計算機學科體系及課程結(jié)構(gòu)。授課過程中,強調(diào)案例應用與課程理論的映射,強調(diào)各理論的“輸入輸出”環(huán)境,強調(diào)專業(yè)課程之間的關(guān)聯(lián)。通過課程的實施來培養(yǎng)學生學習計算機科學的興趣,幫助學生初步建立起計算機學科知識框架,以助于其更好地學習計算機基礎課程和專業(yè)課程。
1課程目標及意義
計算機教學大綱中有計算機導論和大學計算機文化基礎兩門課程,分別對計算機和非計算機專業(yè)新生進行計算機相關(guān)專業(yè)知識的入門介紹和講解。由于這兩門課程均是從計算機專業(yè)知識角度進行內(nèi)容覆蓋式教學,而計算機科學里的思維方式與新生以前熟悉的數(shù)學抽象思維和物理實驗思維方式有很大不同,從而導致大多數(shù)學生對此門課的內(nèi)容是“知其然,不知其所以然”,學生不能理解和掌握計算機科學研究與工程實踐中的基本問題以及后續(xù)專業(yè)課程在計算機科學體系中的地位。
計算思維導引新生研討課的開設是為了突破現(xiàn)有計算機導論性質(zhì)課程的困境,通過研討課形式讓學生能夠理解計算機學科的發(fā)展脈絡,了解其中的關(guān)鍵問題以及課程體系框架,初步具有查閱、分析和總結(jié)文獻的能力。
2課程實施
2.1課程定位
計算思維是運用計算機科學的基礎概念去求解問題、設計系統(tǒng)和理解人類的行為。作為新生研討課,讓學生能夠完全具有上面定義的計算思維能力是不現(xiàn)實的,原因在于:思維能力是長期積累的過程,不可能通過短期訓練來完成;計算思維涵蓋的知識體系是整個計算機學科,不是一兩門計算機專業(yè)課能夠解決的。
基于上述分析,此課程不會也不應該代替原有的計算機導論性質(zhì)的課程,而是應該與這些專業(yè)課程相互之間進行配合,使得學生能夠很好地理解計算機科學中的一些基本概念和核心問題,以及掌握解決問題的一般思考方式。因此,此課程定位在學生知識和能力可接受的基礎上,通過以點概面的案例教學方式,選擇特定問題和內(nèi)容來逐步加深學生對計算機科學核心問題的認識;通過案例中引入相關(guān)理論課程信息,讓學生了解教學大綱中每門課程的目標及聯(lián)系;通過引導學生準備材料、總結(jié)和分析問題,讓學生逐步俱備解決具體計算機問題的能力;通過在研討中引導學生主動思考來激發(fā)學生學習計算機科學的熱情。
2.2課程內(nèi)容
本課程內(nèi)容要求既相對獨立又可作為計算機基礎課程中內(nèi)容的補充,要從知其所以然的角度來對計算機相關(guān)問題進行闡述。內(nèi)容圍繞著計算機科學中的算法理論和體系結(jié)構(gòu)兩個主線來展開,以當前研究領域中的熱點問題為切入點,通過通俗易懂的講解,使得學生能夠了解驅(qū)動當前IT發(fā)展背后的計算機原理性知識和相關(guān)技術(shù),并通過將這些知識和技術(shù)與計算機相關(guān)專業(yè)課程相對應,使學生能夠形成對相關(guān)課程的初步印象。
1)萬物皆信息——信息與編碼主題討論。
此部分內(nèi)容以《信息簡史》中的案例為依托材料,從中選取語言文字和通信方式演變等章節(jié)的內(nèi)容作為案例,與學生進行講解和討論。案例能夠反映出大腦思維到語言的映射、語言到文字的映射、文字到語義的映射、文字到編碼的映射,使得學生一步一步地分析、總結(jié)并發(fā)現(xiàn)其中的規(guī)律,進而幫助學生初步梳理出信息與編碼的關(guān)系。除此之外,將這部分知識與計算機導論中的編碼部分內(nèi)容(二進制、八進制、十六進制、哈夫曼編碼等)相關(guān)聯(lián),與數(shù)字邏輯電路的表示相關(guān)聯(lián),與編程語言中的符號相關(guān)聯(lián),幫助學生形成編程語言只是大腦中邏輯信息到計算機內(nèi)映射的初步印象,使其在較高層次上認識計算機語言。最后,通過講解密碼、香農(nóng)與信息論的實例來加深學生的編碼認識,對其中一些理論的指導意義和應用價值有所了解。
2)計算靈魂——數(shù)學與算法主題討論。
此部分內(nèi)容從數(shù)學發(fā)展歷史及算法發(fā)展方面進行講解,強調(diào)數(shù)學在算法中的作用,以實際簡單的算法實例來講解如何完成對算法的數(shù)學建模、如何推導數(shù)學模型來完成算法的效率分析。通過這些案例將大學階段所學的數(shù)學知識與算法分析相映射,幫助學生建立正確的數(shù)學課程學習目標;將這些案例與數(shù)據(jù)表示及算法理論分析相映射,引出算法復雜度、可計算性等相關(guān)概念并說明其意義。
3)計算理論與實現(xiàn)基石——圖靈機、可計算性與體系結(jié)構(gòu)主題討論。
此部分內(nèi)容將從圖靈、馮諾依曼等人的軼事說起,對圖靈機、馮諾依曼結(jié)構(gòu)進行介紹,引出狀態(tài)機及可計算性等相關(guān)理論。通過圖靈機案例實驗,讓學生理解其實現(xiàn)計算的過程;從中引出程序執(zhí)行的狀態(tài)及結(jié)構(gòu),進而說明馮諾依曼體系結(jié)構(gòu)。通過此方面內(nèi)容的案例引導,學生能夠?qū)⑺惴ㄅc計算理論聯(lián)系起來,將計算理論與計算機體系結(jié)構(gòu)聯(lián)系起來,從宏觀方面初步建立起計算機科學框架的知識體系。除此之外,還簡單介紹目前最新的生物分子計算、量子計算等最新計算理論及相應實踐系統(tǒng),從中引導讓學生對比和思考圖靈機、馮諾依曼結(jié)構(gòu)下的計算理論與生物分子計算、量子計算之間的區(qū)別,激發(fā)學生對未來計算理論及實現(xiàn)結(jié)構(gòu)的興趣。
4)人類智能之夢——人腦與人工智能主題討論。
此部分內(nèi)容從計算機是否能夠替代人腦的辯論話題切入,介紹計算機模擬人腦不同思考方式下的智能算法。通過介紹以下不同類型的智能算法(基于知識表示和推理的算法、基于連接的神經(jīng)網(wǎng)絡算法、基于數(shù)據(jù)的統(tǒng)計學習算法、基于仿生學的演化算法),讓學生能夠了解基礎理論與人工智能的對應關(guān)系:知識表示和推理是對人類心理過程的模擬,其知識與邏輯學之間相關(guān);神經(jīng)網(wǎng)絡是對通過解剖學認識的大腦神經(jīng)元之間的連接模擬;統(tǒng)計學習是以數(shù)理統(tǒng)計理論為基礎通過數(shù)據(jù)來得到預制模型的參數(shù)計算過程;演化算法是對群體生物的仿生模擬。通過這些內(nèi)容的事例展示和討論,學生能夠體會數(shù)學建模和智能算法的魅力,從而增強不同領域知識學習的興趣。
5)數(shù)據(jù)的力量——數(shù)據(jù)科學主題討論。
此部分內(nèi)容主要介紹目前興起的數(shù)據(jù)科學中的相關(guān)理論和方法,通過對Google、微軟、百度、阿里巴巴等公司的實際案例,向?qū)W生傳遞這樣的信息——數(shù)據(jù)就是力量,對其使用的好壞將關(guān)系一個公司的成敗。通過討論語言翻譯、搜索引擎、廣告推薦、輿情分析等系統(tǒng)中的實現(xiàn)原理與技術(shù)分析,來反映數(shù)據(jù)科學涉及的數(shù)據(jù)庫、概率與數(shù)理統(tǒng)計、數(shù)據(jù)挖掘、機器學習、數(shù)據(jù)可視化等內(nèi)容。除此之外,還在案例介紹過程中引人大數(shù)據(jù)、云計算等相關(guān)概念及實例,以拓寬學生的知識面。
6)萬物皆互聯(lián)——物聯(lián)網(wǎng)主題討論。
此部分從生物之間的交流話題切入,通過引導學生討論各自生物之間的交流、人類文明的發(fā)展與通信的關(guān)系、計算機互聯(lián)網(wǎng)等相關(guān)話題,傳達“萬物皆有互聯(lián)的潛質(zhì),互聯(lián)能夠促進萬物的發(fā)展”這樣的理念,進而對當前的物聯(lián)網(wǎng)技術(shù)進行介紹,將計算機網(wǎng)絡、傳感器網(wǎng)絡、操作系統(tǒng)與嵌入式系統(tǒng)和CPS(Cyber-Physical Systems)等相關(guān)知識點內(nèi)容引入物聯(lián)網(wǎng)討論中。通過對德國工業(yè)4.0和中國2025智能制造等相關(guān)計劃介紹,學生能認識到計算機學科的重要性,增強建立工業(yè)強國的使命感。
7)虛擬幻境——仿真與交互主題討論。
此部分從現(xiàn)代電影場景中人工合成和制作的畫面進行討論,逐步引入計算機圖形學、人機仿真技術(shù)、人機交互技術(shù)相關(guān)概念和理論。通過對電腦游戲、虛擬現(xiàn)實、人機交互和人腦交互等具體案例的講解與討論,為學生展示計算機科學強大的魅力。
8)計算機學科體系。
此部分內(nèi)容為上述討論總結(jié),幫助學生重新梳理計算機學科的知識脈絡。在講解和梳理過程中,根據(jù)本科培養(yǎng)計劃,重點說明主要課程各自的課程目的以及它們之間的關(guān)系,其中,特別強調(diào)計算機學科與數(shù)學、物理等學科的關(guān)系,說明本專業(yè)與這些知識內(nèi)容的“接口”課程。
從上面的內(nèi)容介紹可以看出,每個主題的討論相對比較獨立,適合具有相關(guān)領域特長的教師結(jié)合自己的科研實踐來進行講解(具體討論主題、內(nèi)容、目標及相關(guān)課程如表1所示)。雖然每個教師的專業(yè)知識背景不同,但是均圍繞此門課程的目標來設計教學方案。
此門課程重點在于通過具體案例討論,介紹計算機科學理論和相關(guān)技術(shù)的“輸入與輸出”。為學生全面了解計算機學科及相關(guān)課程體系提供支撐材料,以增加其學習計算機專業(yè)的興趣,為其后續(xù)課程的選擇和學習提供指導。
2.3授課方式
既然此門課程為新生研討課,那么授課形式就應該以討論為主,小班形式授課能保證學生最大程度地參與討論。授課與討論相結(jié)合,授課時間占全部課時的2/3左右,討論時間占1/3左右。在課前給學生布置討論主題以及需要閱讀的相關(guān)參考資料;在課上,由教師來引導學生主動完成對相關(guān)題目的討論,并從中傳授知識。但是,在實際操作過程中,由于新生不熟悉文獻的搜索、分析和總結(jié)等方法,以及部分文獻理論性過強等原因,不可能每堂課都以翻轉(zhuǎn)課堂的形式進行。目前,只能將討論穿插在授課過程中進行。
為培養(yǎng)學生閱讀文獻、總結(jié)文獻能力,除每次課布置的閱讀文獻外,還要求學生在課程結(jié)束時撰寫并提交一份計算機領域內(nèi)指定題目的研究進展綜述,以鍛煉學生提煉和總結(jié)材料能力。這部分內(nèi)容將計人課程最終成績,最終成績里還包括主題的討論成績。
目前,此門課程根據(jù)討論主題涉及的知識來分配相應研究特長的教師授課。授課過程中,要注意每個主題之間內(nèi)容的銜接性,有些內(nèi)容需要在不同討論主題授課中,反復對學生進行引導和說明,以加深其對專業(yè)課程知識內(nèi)容重要性的認識。
3課程效果和持續(xù)改進
目前,這門課程已經(jīng)開設2年共4批次講解實踐。通過直接交流和間接的意見反饋,學生在學習完本門課程后基本能夠理解計算機專業(yè)所從事的工作以及相應的課程體系;能夠?qū)η把氐挠嬎銠C研究問題有所了解;能夠幫助他們理解計算機專業(yè)課程的設置。從這些反饋內(nèi)容來看,授課基本達到了預期目標。
但是,也出現(xiàn)了下述問題:①課程內(nèi)容由不同教師完成,每個教師教學風格不一樣,對課程要求尺度標準不一樣,從而導致學生有時會無所適從;②授課形式不能完全調(diào)動學生學習的積極性;③文獻綜述要求過于嚴格,學生很難完全自己完成;④課時緊張,有些感興趣的話題并沒有給予充足的時間討論;⑤部分教師在案例講解過程中專業(yè)術(shù)語太多,雖然“高大上”,但很難理解其中的含義和內(nèi)容;⑥由于部分討論題目難度“太大”,課下無法準備,也就無法參與討論。
針對這些意見,我們根據(jù)課程目標,持續(xù)地對課程進行改進:①教學團隊成員進行充分交流與討論,從總體上確定每個主題的“輸入與輸出”,并對各個主題的學習要求統(tǒng)一布置;②通過課上算法游戲、真實系統(tǒng)演示等手段引起學生的興趣;③對部分內(nèi)容進行刪減,以保證主要討論題目的時間充分性;④針對文獻綜述的要求及格式說明,要在第一次課就布置下去,并且要在給定的材料中增加一些領域的綜述文章讓學生閱讀;⑤多與學生進行溝通及交流,通過增進了解和理解等“軟手段”來輔助相應題目討論的正常開展。
(編輯:郭田珍)