金 瑩,陶先平,張 莉,張 潔,陶 燁
(南京大學 計算機科學與技術系,江蘇 南京 210023)
隨著計算科學本身在各領域應用的快速擴張和深入應用,不同專業(yè)的人才培養(yǎng)都對其提出更高的要求,但專業(yè)需求差異較大。隨著計算機輔助設計技術的不斷發(fā)展,建筑、藝術及部分文科院系將更多的設計理念和應用轉移至計算機平臺上,因此對計算機設計有著較高要求。法學、商學等專業(yè)則由于數據庫技術的不斷完善及近年來大數據帶來的巨大優(yōu)勢,提出在計算機應用分析方面的迫切需求。傳統(tǒng)的理工科專業(yè)為適應智能制造、自動控制、數值模擬和數學計算的產業(yè)和科研人才需求,在進一步加強學生對相關軟件的應用能力培養(yǎng)的同時,始終強調編程能力以及軟件工具的開發(fā)和持續(xù)的改進創(chuàng)新能力。
尊重個體差異,因材施教,滿足個性化人才培養(yǎng)是現代教育面臨的一大難題,然而實際情況是,由于多數高?;臼敲嫦蛉珖猩h(huán)境、興趣和性格的差異導致學生個體從入學基礎到對知識的轉化程度、能力的提升程度、創(chuàng)造力的發(fā)揮程度,以及個人對計算機領域不同方向的需求都各有不同,且可能有較大的差異。
通過調研發(fā)現,目前國內高校計算機基礎教育的教學目標大致分為工具培訓類、人文引導類、程序設計類等,并未能有效對應不同專業(yè)需求建立起系統(tǒng)而有針對性的課程體系,全面兼顧計算機基礎教育的通識特性和專業(yè)需求的差異問題,特別是缺乏有效的頂層設計。具體而言,在教學過程中顯現的問題如下。
以具體軟件工具培訓為目的的教學過于具體化,使得學生過于專注具體軟件的用法,而不能找出軟件使用的通用性,更無法探尋出軟件發(fā)展的規(guī)律。目前的軟件工具發(fā)展速度很快,常用的軟件工具面臨著不斷升級更新,學生無法適應這種快速的軟件更新?lián)Q代;新的軟件也層出不窮,學生對于新工具往往會產生畏懼心理,使用時無從下手,不能有效地擴展和遷移所學的知識。教師也會陷入在上課時選擇何種版本軟件施教的尷尬境地。
計算科學及計算機軟硬件技術的迅猛發(fā)展,使教育始終落后于發(fā)展,而一味地追求最新的技術和知識會使教師備課壓力過重,在不變的教學課時下很難完成原本基礎內容和不斷增加的新內容,也會給學生的學習造成壓力和困擾,使得學生對內容消化不足,較難把握重點內容。即便在課堂上學到了最新的內容,由于計算機技術仍然在飛速發(fā)展,學生今后應用時需要面對更多、更新的內容,沒有對技術背后本質規(guī)律的認知和發(fā)展的眼光,沒有包括自學能力、應用能力、轉化遷移能力、計算思維能力等的支撐,仍然無法適應時代的要求。
各領域都需要使用計算機,但應用的方向、側重、程度并不相同,一套教學方案應對所有專業(yè)的學生顯然不符合現狀要求。從事計算機基礎教學的教師多數是計算機專業(yè)出身,對各專業(yè)的應用理解并沒有專業(yè)課教師深入,且計算機基礎教學通常面對的都是大一、大二的學生,他們對專業(yè)領域的接觸也只是皮毛,因此貼近專業(yè)需求把握計算機在各領域應用的共性,同時兼顧專業(yè)人才培養(yǎng)的傾向性,讓學生學有所得,在學習的過程中就能充分意識到學習的必要性。
多數計算機理論課程仍然采用“教師講、學生聽”的授課模式,實驗課采用“學生上機操作、教師或助教現場答疑”的方式。隨著很多學校人才培養(yǎng)計劃的變動,實驗課被安排在課外完成,在沒有建立有效的交流和監(jiān)管機制的情況下,會導致教師無法對學生學習情況進行準確把握,而在課堂授課時,加劇單方面灌輸的被動學習,往往教師在臺上唱“獨角戲”,學生的主觀能動性無法被有效調動,從而無法達到教學目標,但隨著慕課、翻轉課堂等新教學形式的提出,相關教學平臺和手段的問世及不斷完善,這一局面正在發(fā)生改變。
由于各種差異的存在和個性化培養(yǎng)需求的客觀存在,如果不對課程內容和形式進行改進,僅采用傳統(tǒng)的方式只能兼顧一般性要求,無法實現個性化的定制,因材施教難以真正實現。部分院校由于師資力量不足,計算機基礎課程多采用大班授課的形式,導致因材施教更加難以施行。如果能將內容與形式有效結合,利用先進的技術平臺和手段,配以充足的資源,因材施教就不再成為困擾教師的難題。
計算機基礎課程受眾廣,目前零基礎的學生已經很少,但基礎的差異卻越來越大。多數學生已有的知識和技能往往是為了解決單個問題而獲取,且多集中在應用層面,如對硬件熟悉、對某些應用軟件操作嫻熟、對網絡很感興趣,因此多以知識碎片和技能孤島的形式存在。通過計算機基礎課程內容和結構的修訂,幫助學生有效地進行知識補充、串聯(lián)、梳理和建構,進而形成體系,打好基礎,從而支撐未來更廣泛的應用需求。
信息技術的飛躍式發(fā)展使計算機基礎教學內容疲于跟進,內容不斷膨脹,而課時有限,矛盾凸顯。教師應抓住計算的本質和規(guī)律,以計算思維能力培養(yǎng)為核心,凝練出“微內核”結構的教學內容,根據不同專業(yè)制訂教學大綱,配套契合的教學案例,安排合理的實驗內容,使其具有較好的兼容性、適應性和可擴展性,以尋求解決這一問題的根本途徑。
個體基于專業(yè)應用和興趣愛好的需求性差異很大,而傳統(tǒng)的教學形式使因材施教難以真正施行,可以通過引入MOOC、翻轉課堂等先進的教學手段,選擇和制作大量的教學資源,并提供各種參考資料及進一步探求知識的方法,購買或開發(fā)教學平臺和考試練習系統(tǒng),對于實驗教學則以項目設計為驅動,突出學生學習的主體地位。
除了課堂教學外,如果沒有及時有效的應用和對新技術的切實體驗,就很難鞏固學生對所學知識的掌握,特別是對于學生所處的相對集中化的教育階段。在多年的不斷學習中,有的學生會偏離最基本的學習目標,淪為學習“傀儡”,為學而學,單純應付考試,不知學有何用。因此,通過不定期的課外講座和一年一度的“計算機教育周”活動,為學生創(chuàng)造一個良好的學習、競爭、感受、交流氛圍,以每年信息技術領域的熱點為主題,開展系列活動,深化學生對知識的理解和對技術應用的程度。
計算科學已經和理論科學、實驗科學并列成為推進社會文明進步和科技發(fā)展的三大手段,與之對應的是三大科學思維:理論思維、實驗思維與計算思維,計算思維是人類科學思維活動固有的組成[1]。多年的教學經驗和調查研究結果[2]表明,通過計算思維能力的培養(yǎng)可以從上層統(tǒng)一不同專業(yè)和受教育者個體的需求差異,成為大學計算機教育的終極目標。具體的做法是以計算機系統(tǒng)理論為內容標準,以計算思維能力培養(yǎng)為核心凝練教學內容,幫助學生有效地完善知識結構、構建知識體系,同時結合專業(yè)需求調整教學大綱中的內容重點、建設教學案例、設計實踐內容;既考慮到計算機基礎課程的通識課程定位,滿足通識教育的特點“超越學科界線、拓寬專業(yè)基礎、優(yōu)化知識結構”[3],又能夠滿足不同專業(yè)的差異化需求。
圍繞計算思維能力培養(yǎng),在課程體系架構上,從通識教育課、新生研討課、計算機入門課、計算機技術應用課4個方面,建立完善的課程體系,如圖1所示。
圖1 課程體系
其中,計算思維導引是通識教育課程,面向全校新生講授高級算法設計思想和技術。在各專業(yè)平臺課程群中,為適應不同專業(yè)學科的人才培養(yǎng)開設相應的課程,包括為匡亞明院、電子學院、數學系等類計算機專業(yè)開設程序設計基礎課,為理工科專業(yè)開設C語言程序設計課,為醫(yī)學、建筑等專業(yè)開設VB程序設計課,為文科開設Python程序設計課等平臺課程,為全校非計算機專業(yè)開設大學計算機應用、大學計算機信息技術等平臺課程。在各專業(yè)選修課程群中,開設數據科學與大數據分析、高級數據處理技術、信息安全、計算與思維、用Python玩轉數據等面向文理科的高級應用技術課程。
教學內容上,將學生已有的知識碎片和技能孤島進行有效地補充、串聯(lián),梳理成知識體系,挖掘各種應用背后不變的思想和規(guī)律,在有效實現知識建構的同時,潛移默化、自然而然地培養(yǎng)學生的計算思維能力,并通過與專業(yè)結合的案例驅動不斷經由實踐和應用內化為一種基本的思維習慣,以此讓身處在計算和數據時代的學生能將計算的思想、技術、方法和知識與專業(yè)研究、職業(yè)需求及創(chuàng)業(yè)夢想有機結合,以支撐其未來可能面對的各種發(fā)展變化和應用需求。因此,基礎課的大綱在計算思維微核心保持一致的基礎上與專業(yè)契合,在教學案例、課程實踐和應用設計上嵌入式區(qū)分,分層次教學。與專業(yè)結合的計算思維微核心結構如2所示。
以計算思維為微內核凝練的教學內容,改變了關于計算機“狹義工具論”的觀點,使課程更好地定位于通識基礎,輔以各種教學手段,具有很好的兼容性、適應性和可擴展性;擺脫淺層技能培訓、疲于表面更新的窘境,通過MOOC、微課提供豐富的教學資源,結合線上線下知識來源的多樣性,彌補學生的差異,增強課程的可擴展性。翻轉課堂充分發(fā)揮學生的主體地位,將教學內容通過具體的應用場景進行表達,加強學習的深度;加強實踐環(huán)節(jié),使知識水平、能力、思想認知都得以提高,采用團隊形式完成具有一定難度和規(guī)模的課程設計,并挖掘優(yōu)秀作品參加各級競賽,增加學生學習提升的機會,且通過團隊合作和團隊競爭,培養(yǎng)學生的大局意識、協(xié)作精神和服務奉獻精神;通過教育周活動拓展課堂內容,圍繞每年的熱點展開,通過講座、競賽、項目體驗等各種活動了解最前沿的科技、社會對計算機應用人才的需求、畢業(yè)后如何運用計算機知識和技能在職場打拼、怎樣更好地學習計算機等。
圖2 與專業(yè)結合的計算思維微核心結構
此外,在厚基礎、重實踐的同時,通過舉辦計算機教育周活動將計算機基礎課程的內容從教室延伸至校園,將計算機應用人才的培養(yǎng)從大學引向社會。教育周一般以當年的計算機熱點為主題,通過學術界、企業(yè)界的各種報告,數據處理、信息安全、程序設計等各項賽事以及前沿科技的體驗活動對課堂延伸,擴展思維,啟發(fā)創(chuàng)新,在校園內掀起計算的熱潮,營造從基礎學習到發(fā)展創(chuàng)新的氛圍。
本教學方案從2010年開始調研論證,經過嘗試和完善,從2013年開始在南京大學正式全面實施,學生對以計算思維為導向的教學體系、內容及翻轉課堂、教育周、MOOC等形式都非常認同。
教師和課程獲得了較好的評價,如“教學內容非常好,把抽象的計算機基礎用貼近生活實際的例子講得生動可感;課件設計特別好,詳略得當,且內容豐富;注重對計算機思維與能力的培養(yǎng)”“上C語言的課不僅僅是為了拿到必修的學分,更是為了領略編程、算法的樂趣”……近5年來,團隊教師的上課平均分為4.87分(總分5分)。在課程體系中對實踐教學非常重視,組織學生以團隊方式結合專業(yè)興趣選擇項目,并進行實戰(zhàn)開發(fā),要求每位學生至少完成200行的代碼,使得學生既得到鍛煉,又完成具有實際應用價值的作品,在成就感的驅動和教師的指導下不斷改進完善自己的作品。采用以賽促教的形式,通過答辯評選和推送優(yōu)秀作品參加中國大學生計算機設計大賽,近5年來獲得一等獎2項、二等獎7項、三等獎10項。學生在競賽中不僅學到了更多的知識和技能,還培養(yǎng)了團隊協(xié)作互助的精神。此外,建立了較為完善的教學助理(TA)機制,通過助教選拔、工作職責的制度化,與教師教學的深度配合,學生與課程、學生與學生、高年級學生與低年級學生、教師與學生之間形成了完整的教學多節(jié)點互通模式,借助于學習平臺、社交平臺等實現課內與課外、線上與線下的互聯(lián)與互通,借由計算機教育周中數十場報告、競賽、體驗等活動擴展課堂、啟發(fā)創(chuàng)新,全方位保證實踐教學效果的提升。
以計算思維能力培養(yǎng)統(tǒng)一專業(yè)需求的差異,建立完善的信息技術課程體系;課程內容圍繞計算思維微內核,與專業(yè)結合制訂大綱、設計案例、實踐應用;課程形式多樣化,MOOC、翻轉課堂、課內外實踐訓練相結合,對課程內容和形式進行有效設計,實踐內容與學科競賽相結合,舉辦集講座、競賽、新技術體驗等于一體的教育周活動等,全方位、多角度地為學生提供計算機基礎教學。實踐證明,本套教改方案適應于當下人才培養(yǎng)的需求,有助于培養(yǎng)學生以計算思維為基礎、與專業(yè)相結合的創(chuàng)新意識和創(chuàng)造能力。