宋友?李瑩?肖文磊
摘 要:程序設(shè)計課是計算機、軟件等信息類專業(yè)的核心基礎(chǔ)課,同時又是理工科其他各專業(yè)的公共基礎(chǔ)課。本文圍繞通識教育背景下大類招生、大類培養(yǎng)的人才培養(yǎng)需求,論述了程序設(shè)計“金課”建設(shè)的幾個具體問題。
關(guān)鍵詞:程序設(shè)計;“金課”建設(shè);大類培養(yǎng)
程序設(shè)計課是計算機、軟件等信息類專業(yè)的核心基礎(chǔ)課,專業(yè)性強;同時,又是理工科其他各專業(yè)的公共基礎(chǔ)課,學(xué)科交叉性特征明顯。程序設(shè)計課的教學(xué)目標(biāo)是教會學(xué)生針對科學(xué)和工程問題,能進行可計算的分析、設(shè)計、驗證,理論性和實踐性結(jié)合要求很高。由于其具有傳統(tǒng)性、時代性、專業(yè)性、交叉性、理論性、實踐性融合的特點,對師資水平要求高,對實驗條件依賴性強。但在一些理工科專業(yè),一些多年不編程甚至不會編程的老師卻在課堂上教學(xué)生編程,造成的直接后果是,不少學(xué)生雖然通過了考試甚至得了高分,但幾乎沒有實踐能力,不會編程解決問題、不會使用調(diào)試工具、不會查閱資料,更談不上具有計算思維了。因此,在通識教育背景下建設(shè)面向大類培養(yǎng)的程序設(shè)計“金課”迫在眉睫。
一、程序設(shè)計大類課的“金課”特征
1.高階性
課程的高階性強調(diào)知識、能力、素質(zhì)的有機融合,注重培養(yǎng)學(xué)生解決復(fù)雜問題的綜合能力和高級思維[1]。
程序設(shè)計課有高階性的自然要求。程序設(shè)計課的教學(xué)內(nèi)容包括數(shù)據(jù)的讀取、表示與處理,運算的規(guī)則與邏輯,程序的結(jié)構(gòu)與關(guān)系等;程序設(shè)計課的核心思想是計算思維,對復(fù)雜的科學(xué)問題或工程問題能進行分析與求解,包括抽象、簡化、歸納、演繹、分治、遞歸、封裝、組合、復(fù)用等。高階性要求程序設(shè)計課除了介紹基本編程語言語法外,還要進一步闡述其原理,教師要盡可能引其趣、激其疑、尋其思、解其惑,透過現(xiàn)象講解問題的本質(zhì)。比如C語言中的浮點計算誤差問題,很多教材上就是一句話“C語言中的浮點數(shù)表示不是100%精確”,大多數(shù)老師講課時也往往一筆帶過此問題,這會給學(xué)生留下疑惑而不得解。針對此問題,可以舉一些具體的實例,如執(zhí)行語句{a = 0.3; printf("%d", (int)(a*10));},直覺上應(yīng)該輸出3,但實際上卻輸出2。學(xué)生有了直接的觀察,老師就可以介紹浮點數(shù)的二進制表示規(guī)則,清晰地闡述浮點數(shù)在計算機中不能100%精確表示的原理。再結(jié)合之前已經(jīng)講授的整數(shù)的二進制表示規(guī)則,可闡述整數(shù)能保證準(zhǔn)確性,但能表示的大小范圍卻很有限。浮點數(shù)能表示“很大”的范圍,但不能保證100%的準(zhǔn)確性。這蘊含了生活中魚與熊掌不可兼得的哲學(xué)道理,揭示了程序設(shè)計學(xué)習(xí)對生活與工作的重要指導(dǎo)意義。這種思維的培養(yǎng),對于理工科學(xué)生,比如航空航天類等對精度要求很高的專業(yè)來說尤其重要,這屬于高階思維的培養(yǎng)。
2.創(chuàng)新性
課程的創(chuàng)新性要求課程內(nèi)容具有前沿性和時代性,教學(xué)形式體現(xiàn)先進性和互動性,學(xué)習(xí)結(jié)果具有探究性和個性化。幾十年來,程序設(shè)計課程經(jīng)歷了從簡單計算到復(fù)雜推理、從單機到網(wǎng)絡(luò)再到移動、從簡單數(shù)據(jù)處理到大數(shù)據(jù)分析、編程語言標(biāo)準(zhǔn)隨工業(yè)化信息化進程而快速更替的過程,對課程的前沿性和時代性要求非常高。
程序設(shè)計課的實踐性很強,實踐訓(xùn)練的分量應(yīng)超過理論課講授。在教學(xué)形式上,程序設(shè)計課程必須強化實踐,并且要體現(xiàn)當(dāng)今信息時代的先進性和互動性。面向大類培養(yǎng)的程序設(shè)計課要考慮學(xué)生未來專業(yè)的不確定性,從材料到生物、從電子到自動化、從機械到光電、從語音到圖像,以及航空航天等,這就需要程序設(shè)計課在精選和保留經(jīng)典內(nèi)容的基礎(chǔ)上,吸收多學(xué)科、前沿性的案例,融合具有時代性的新工科元素,著力培養(yǎng)學(xué)生的計算思維,為未來不同專業(yè)的學(xué)習(xí)奠定應(yīng)有的基礎(chǔ)。
3.挑戰(zhàn)度
課程的挑戰(zhàn)度是指課程有一定難度,需要跳一跳才能夠得著,這對老師備課和學(xué)生課下學(xué)習(xí)提出了較高的要求。
程序設(shè)計課的挑戰(zhàn)度非常明顯。一個好的程序設(shè)計課應(yīng)該是:課上,學(xué)生能基本聽懂老師講授的內(nèi)容;課下,學(xué)生能通過對知識的再學(xué)習(xí)而完成課設(shè)作業(yè)。課設(shè)作業(yè)需要有一定的難度和工作量,不能直接套用與照搬課堂上講解的編程語言的語法知識、基本的算法流程、示例代碼等,必須在反復(fù)試錯、不斷迭代、分析和調(diào)整各種邊界條件、綜合運用所學(xué)知識、與同學(xué)進行討論和交流、有效查閱資料后,才能編程實現(xiàn)給定的問題。這就是典型的跳一跳才夠得著的體現(xiàn)。
在未來的科學(xué)研究與工程應(yīng)用中,需要計算處理的問題千變?nèi)f化、復(fù)雜煩瑣,并沒有固定的、一成不變的套路,學(xué)生只有接受過挑戰(zhàn)思維的訓(xùn)練,才能具備解決實際問題的潛力。要做到這一點,老師除了以教材為藍(lán)本進行正向式教學(xué)備課外,還必須設(shè)計啟發(fā)式、逆向式的具體教學(xué)案例。同時,學(xué)生課下必須認(rèn)真復(fù)習(xí),加強上機編程練習(xí),僅靠課堂聽課肯定遠(yuǎn)遠(yuǎn)不夠。
二、程序設(shè)計大類“金課”師資隊伍建設(shè)
“金課”建設(shè)的關(guān)鍵在教師,優(yōu)秀的教師隊伍是成就一流本科教育的核心要素。
1.師資構(gòu)成
國內(nèi)傳統(tǒng)的程序設(shè)計課師資主要有兩種類型,一種是信息類(計算機或軟件等專業(yè))師資承擔(dān)全校的程序設(shè)計課。教師面對信息類和非信息類學(xué)生的教學(xué)方式、教學(xué)內(nèi)容基本相同,教師很難把握住非信息類專業(yè)學(xué)生的特點。另一種是各專業(yè)的教師承擔(dān)本專業(yè)的程序設(shè)計課。這些老師大多是非信息類科班出身,對程序設(shè)計課內(nèi)容的系統(tǒng)性、完整性認(rèn)識有偏差,且各專業(yè)的師資差距相差非常大。
復(fù)合型師資團隊是程序設(shè)計大類“金課”建設(shè)的基本要求。大類培養(yǎng)的學(xué)生在高年級時將走向各個具體的專業(yè),面向大類培養(yǎng)的程序設(shè)計課兼具基礎(chǔ)性與專業(yè)性,這就要求該課程的授課教師應(yīng)來自各專業(yè),共同組成課程組,把多學(xué)科的背景、知識、經(jīng)驗融合到教學(xué)內(nèi)容中,從而使課程具備高階性的師資基礎(chǔ)和特征。
2.師資選聘
一般情況下,教師講授一門課久了,容易產(chǎn)生惰性,不大愿意去改變教學(xué)內(nèi)容和方法,這在知識更替非常快的信息時代顯然是不合適的。因此,在大類課背景下,針對教師業(yè)務(wù)能力參差不齊的現(xiàn)狀,面向全校實行“公開招聘、擇優(yōu)上崗、業(yè)績考核、準(zhǔn)入退出”的競爭機制,有利于打破陳規(guī),組建優(yōu)秀的教學(xué)團隊,激發(fā)教學(xué)活力。
通過“自主報名、上機考試、答辯試講、專家評審”等多個考核環(huán)節(jié),能夠打破學(xué)科專業(yè)限制、職稱職位限制、年齡限制,選出合適的教師。這幾個環(huán)節(jié)的操作辦法和意義主要體現(xiàn)在:第一步報名,讓老師提交過去的教學(xué)大綱、課件等,如果是新老師,則需要按要求去認(rèn)真準(zhǔn)備這方面的材料,然后進行講課申請,這一步檢驗老師的教學(xué)熱情和意愿。第二步是上機考試,就是上機編程測試,這一點非常重要,因為程序設(shè)計課不僅僅是理論課,還是實踐性很強的課,如果老師不熟悉編程,或長期不練習(xí)編程,實踐能力生疏,則很難教好學(xué)生。第三步,答辯與試講能檢驗出老師是否具備必要的教學(xué)潛力或能力、是否有豐富的教學(xué)經(jīng)驗、是否掌握教學(xué)方法、是否懂得教學(xué)規(guī)律,等等。最后,專家通過對這幾個環(huán)節(jié)進行綜合評價和推薦,幫助教學(xué)單位選拔并聘任優(yōu)秀老師組建課程團隊。教師的聘任實行聘期制,實行教學(xué)質(zhì)量考核、教師準(zhǔn)入和退出辦法[2]。
3.師資團隊建設(shè)
組建大類課的師資團隊、課程組,能夠?qū)崿F(xiàn)“統(tǒng)一規(guī)劃、統(tǒng)一標(biāo)準(zhǔn)、統(tǒng)一建設(shè)、統(tǒng)一管理”的課程建設(shè)方針,淡化專業(yè)限制和學(xué)科邊界,統(tǒng)一教學(xué)標(biāo)準(zhǔn),定期開展集體備課,聚積集體智慧,整合優(yōu)質(zhì)資源。同時,課程組教師之間開展相互聽課,落實同行評議制度,形成教學(xué)的學(xué)、比、趕、超風(fēng)氣,營造相互學(xué)習(xí)、相互幫助、共同進步的教學(xué)團隊氛圍。
在傳統(tǒng)的程序設(shè)計課教學(xué)中,教師需全流程負(fù)責(zé),包括備課、實驗設(shè)計、實驗系統(tǒng)運營維護、答疑、學(xué)生學(xué)習(xí)過程分析、出考題、閱卷等,工作量很大。在課程組機制下,每位教師合理分擔(dān)不同任務(wù),做自己擅長的事情。教師的教學(xué)工作負(fù)荷降低了,就可以分出更多精力開展教學(xué)研究,發(fā)揮個人優(yōu)勢,專注于在自己擅長的領(lǐng)域開展深入的教學(xué)探索。在課程組建設(shè)與分工模式下,教學(xué)效率得以提升,水課的生存空間也就很難再存在。
三、程序設(shè)計大類“金課”的教學(xué)模式
“金課”建設(shè)并不是開設(shè)新課程,而是在現(xiàn)有課程基礎(chǔ)上,擴展深度、難度和廣度,使其具有高階性、創(chuàng)新性和挑戰(zhàn)度。程序設(shè)計課具有“金課”“兩性一度”特征,理論與實踐結(jié)合要求高,做好“理論課堂+實驗課堂+課下練習(xí)”的三位一體的教學(xué)實踐,有利于程序設(shè)計課的“金課”目標(biāo)的達(dá)成。就像游泳一樣,要成為一名專業(yè)的游泳健將,既需要專業(yè)教練(老師)傳授基本要領(lǐng)(理論),也需要進行必要的訓(xùn)練,更需要選手在平時多花工夫進行刻苦練習(xí)。程序設(shè)計課三位一體的教學(xué)模式可具體表述為如下內(nèi)容。
1.實例驅(qū)動的課堂教學(xué)
傳統(tǒng)程序設(shè)計類課程通常注重語法知識的理解、記憶和應(yīng)用,教師通過陳述性知識,講解什么是程序。這是一種低階性教學(xué)模式?;谟嬎闼季S的程序設(shè)計類課程則屬于高階性教學(xué),教師通過程序性知識和策略性知識,盡可能使學(xué)生理解如何設(shè)計和編寫程序,它旨在培養(yǎng)學(xué)生運用計算機解決實際問題的能力。陳述性知識主要指描述程序設(shè)計的概念和語法,程序設(shè)計性知識主要指編寫程序的過程和方法,策略性知識主要指運用已有知識來解決新問題。
上述三類知識應(yīng)有機地融合,通過具體的實例設(shè)計,把枯燥的編程語言的語法知識講得生動有趣,這是課堂教學(xué)的關(guān)鍵。比如,對于較難理解的指針部分,講解指針變量的時候,把變量A比作抽屜,A的地址比作鑰匙,而指針變量B則是另一抽屜,里面存放的就是A的鑰匙(地址),這樣,能打開(訪問)抽屜B,實際就能間接打開(訪問)抽屜A。又如,講解指針與數(shù)組的關(guān)系時,要闡述兩者“孰優(yōu)孰劣”的相對邏輯,可以用南方指路的“前后左右”模式(直觀好懂,但電話問路時就不管用了),北方指路的“東南西北”模式(準(zhǔn)確清晰,但在南北極時該方法就不再有效)。在理論課堂上以這樣的實例設(shè)計為驅(qū)動,講課時配上相應(yīng)的圖示,就能把復(fù)雜晦澀的概念講得通俗易懂,能保證學(xué)生聽起來饒有興趣,引發(fā)學(xué)生更寬廣的思考,培養(yǎng)學(xué)生的高級思維能力。
2.競賽模式的實驗教學(xué)
程序設(shè)計課的實踐性要求高,把ACM(Association for Computing Machine)程序設(shè)計競賽模式引入實驗課,能有效地向課程中注入前沿性和時代性。而在實驗課中采用ACM模式,展現(xiàn)了教學(xué)形式的先進性和互動性。ACM競賽是世界最知名的程序設(shè)計高端競賽,至今已40余年,每年吸引全世界3000多所著名高校的數(shù)萬名優(yōu)秀學(xué)生參與其中,被計算機教育界和產(chǎn)業(yè)界高度認(rèn)可。但該競賽一直以來都停留在高端層面,對于非計算機類專業(yè)學(xué)生和教學(xué)編程的老師而言,還非常陌生。目前,新工科建設(shè)提出了更高的計算思維培養(yǎng)要求,并且信息技術(shù)已發(fā)展到了新的階段,把ACM競賽模式引入到理工科程序設(shè)計教學(xué)中已不存在門檻。
把競賽模式引入實驗教學(xué)環(huán)節(jié),將改變傳統(tǒng)實驗教學(xué)模式,從以知識為中心轉(zhuǎn)變?yōu)橐詫嵺`為中心。(1)改進教學(xué)方法。把ACM競賽題目改造為實驗案例,以故事形式描述問題,能激發(fā)學(xué)生解決問題的興趣,實現(xiàn)理論和實踐的有機結(jié)合。(2)增強教學(xué)效果。按競賽的形式,把實驗案例設(shè)計成題目描述、輸入輸出要求、輸入輸出用例等幾個部分,一方面能鞏固和應(yīng)用所學(xué)知識,加強與實際應(yīng)用緊密結(jié)合的情景,另一方面加深學(xué)生對IPO(Input-Process-Output)程序設(shè)計模式的理解,訓(xùn)練他們運用理論知識解決實際問題的意識和能力。(3)調(diào)整學(xué)習(xí)方式。競賽模式不僅培養(yǎng)學(xué)生的實戰(zhàn)能力,在機器判題、實時排名的場景下,能使學(xué)生充分理解和深刻認(rèn)識程序設(shè)計的嚴(yán)密要求,可以培養(yǎng)學(xué)生一絲不茍的嚴(yán)謹(jǐn)精神。
3.在線平臺支撐的練習(xí)
保障程序設(shè)計課的教學(xué)質(zhì)量,不僅要有優(yōu)秀的課堂教學(xué)與實驗教學(xué),而且學(xué)生在課下也必須保證足夠的練習(xí)量。學(xué)習(xí)程序設(shè)計課的目標(biāo)是為了解決問題,因此,課下練習(xí)必須脫離應(yīng)試教育、題海戰(zhàn)術(shù)的模式。建設(shè)和開放7*24小時的在線編程練習(xí)平臺,開放更豐富、更擴散的海量練習(xí),能有效幫助學(xué)生完成課下練習(xí)任務(wù)。在線平臺的課下練習(xí)可看成是實驗課競賽模式的部分延續(xù),練習(xí)編程解決具體問題。在線編程平臺的循序漸進式的練習(xí)、競賽模式的訓(xùn)練,為老師在期末時采用競賽方式進行考試提供了方便。更重要的是,鍛煉了學(xué)生在未來工作中解決實際問題的實戰(zhàn)能力。
另外,在線平臺能記錄學(xué)生的學(xué)習(xí)行為、學(xué)習(xí)效果。通過數(shù)據(jù)分析,學(xué)生可以檢視自己的學(xué)習(xí)效果,教師可以分析自己的教學(xué)質(zhì)量,為改進教學(xué)提供重要的決策依據(jù)。
四、程序設(shè)計大類“金課”的教學(xué)質(zhì)量管控
“金課”的教學(xué)質(zhì)量管控是一個長期維護和迭代優(yōu)化的過程,需要在過程中建立多級質(zhì)量管控機制,才能長期有效維持高水平的“金課”質(zhì)量。
1.準(zhǔn)入退出制度下的師資質(zhì)量保障
授課教師準(zhǔn)入和退出機制建設(shè)是保障“金課”教學(xué)質(zhì)量的關(guān)鍵。采用對業(yè)務(wù)能力、教學(xué)效果、講課水平進行實時跟蹤與評價的迭代式機制,既可有效淘汰過時的水課,又可為教學(xué)團隊及時補充新鮮教師,給優(yōu)秀的青年教師提供講課的機會。建立合理公平的教學(xué)團隊的準(zhǔn)入與退出機制,可以充分尊重教師個人的意愿和平衡教學(xué)質(zhì)量要求,使進入課程團隊的教師更加珍惜得來的機會。嚴(yán)格的準(zhǔn)入退出機制會推進水課教師自然淘汰,使真正有意愿教好“金課”的教師倍加努力,認(rèn)真對待課程建設(shè),熱愛教學(xué)事業(yè)。
2.集體備課制度下的教學(xué)內(nèi)容保障
集體備課制度能聚積集體智慧,有利于制訂出高質(zhì)量的教案和講稿,從而保證教學(xué)內(nèi)容的質(zhì)量。迭代式交流可以對教學(xué)過程中產(chǎn)生的問題進行及時反饋和有效優(yōu)化。因此,要重視備課會議的交流與討論,嚴(yán)格會議考勤,對少數(shù)缺席備課會議的教師核減其績效,對多次缺席備課會議的教師可勸其退出課程組。嚴(yán)格的備課制度能使教師認(rèn)真對待教學(xué)工作,對課程建設(shè)具有使命感和責(zé)任意識。同時建立有效的激勵機制,對在課程組中貢獻(xiàn)較大的教師進行績效獎勵。
3.眾包方式的高質(zhì)量題庫建設(shè)
眾包是信息技術(shù)領(lǐng)域知識高質(zhì)量快速增長的重要方式。眾包與迭代模式的高質(zhì)量題庫建設(shè)是保證“金課”質(zhì)量與新鮮度的重要基礎(chǔ)。信息時代的應(yīng)用與技術(shù)日新月異,程序設(shè)計課的練習(xí)題除了保留經(jīng)典題以外,還應(yīng)增強時代性,產(chǎn)生好的新題,才能使學(xué)生在練習(xí)中產(chǎn)生樂趣,愿意投入更多精力開展學(xué)習(xí)。
優(yōu)秀的高年級學(xué)生助教是最了解學(xué)生學(xué)習(xí)特點與需求的群體。因此,應(yīng)建立一支強大的助教隊伍,不斷地更新高質(zhì)量題庫,使學(xué)生能夠得到充分的鍛煉和考察。為了緊跟教學(xué)進度,出題符合教學(xué)規(guī)律,由負(fù)責(zé)的教師進行出題前的范圍審核,給出上課的PPT和出題提綱,出題后有專門的教師負(fù)責(zé)審題。助教和教師給出題目的題解,由全體老師審核后再發(fā)給所有學(xué)生。這種眾包方式的題庫建設(shè),能有效凝練知識和經(jīng)驗。多級審核和迭代的方式,能有效提高實驗教學(xué)內(nèi)容的質(zhì)量。
4.多維度的教學(xué)過程控制
多維度的教學(xué)過程控制體系包括督導(dǎo)專家聽課、同行評議(課程組內(nèi)教師之間相互聽課)、教輔聽課(班主任、輔導(dǎo)員、教務(wù)員等)、助教跟課等。督導(dǎo)專家聽課是最常見的做法。科研上進行同行評議是通行的做法,但在教學(xué)上進行同行聽課并評議則不多見。通過同行評議聽課,教師之間可以學(xué)習(xí)對方的優(yōu)點,發(fā)現(xiàn)對方的不足,有利于組內(nèi)互助與改進。輔導(dǎo)員聽課,有助于其了解課堂學(xué)習(xí)效果,促進班風(fēng)建設(shè),協(xié)調(diào)助教或教師跨教學(xué)班組織學(xué)習(xí)講座。鼓勵優(yōu)秀高年級本科生和ACM競賽選手擔(dān)任助教,通過跟班聽課提升其助教水平。
參考文獻(xiàn):
[1] 吳巖.建設(shè)中國“金課”[J].中國大學(xué)教學(xué),2018(12):4-9.
[2] 宋友. 面向大類工科專業(yè)的程序設(shè)計課程教學(xué)改革[J]. 中國大學(xué)教學(xué),2018(11):47-50.
[資助項目:中央高校教育教學(xué)改革專項“北航大類專業(yè)程序設(shè)計課程群建設(shè)”、騰訊—教育部產(chǎn)學(xué)合作新工科建設(shè)項目“面向新工科的計算機專業(yè)核心課程改革”(201702002005)]
[責(zé)任編輯:夏魯惠]