張寧 李敬輝
摘 要:在新工科背景下,針對(duì)傳統(tǒng)C語言程序設(shè)計(jì)教學(xué)過程中存在的問題,以能力培養(yǎng)為目標(biāo),結(jié)合專業(yè)應(yīng)用需求,提出了基于案例教學(xué)、改革教學(xué)模式、建立多維評(píng)測(cè)機(jī)制等方法,旨在提高學(xué)生的計(jì)算思維能力和解決復(fù)雜問題的能力,能夠應(yīng)用程序設(shè)計(jì)解決專業(yè)問題,為學(xué)科交叉融合打下基礎(chǔ)。
關(guān)鍵詞:程序設(shè)計(jì);計(jì)算思維;案例教學(xué)
引言
為適應(yīng)新經(jīng)濟(jì)發(fā)展和國家發(fā)展戰(zhàn)略,2017年教育部在新時(shí)代全國高等學(xué)校本科教育工作會(huì)議上,強(qiáng)調(diào)了發(fā)展新興工科專業(yè)、改造升級(jí)傳統(tǒng)工科專業(yè)的規(guī)劃[1],并于 2 月 18 日、4 月 8 日和 6 月 9 日分別在復(fù)旦大學(xué)、天津大學(xué)和北京相繼組織召開了高等工程教育發(fā)展戰(zhàn)略研討會(huì)、新工科建設(shè)研討會(huì)、新工科研究與實(shí)踐專家組成立暨第一次工作會(huì)議,分別形成了“復(fù)旦共識(shí)—新工科建設(shè)”、“天大行動(dòng)—新工科建設(shè)行動(dòng)路線”、“北京指南—新工科研究與實(shí)踐項(xiàng)目指南”[2]。新工科建設(shè)的提出和實(shí)施加快了高等學(xué)校專業(yè)建設(shè)改革的步伐,進(jìn)一步推動(dòng)了新的教學(xué)理念、新的教學(xué)手段和新的教學(xué)模式在教學(xué)中的嘗試和完善。
新工科的人才培養(yǎng)目標(biāo)中指出,要培養(yǎng)創(chuàng)新能力強(qiáng)、工程實(shí)踐能力強(qiáng)且具備國際競(jìng)爭(zhēng)力的高素質(zhì)復(fù)合型人才。C語言程序設(shè)計(jì)作為工科類專業(yè)的實(shí)踐應(yīng)用型課程,在人才培養(yǎng)中有非常重要的地位。C語言程序設(shè)計(jì)不僅有利于培養(yǎng)學(xué)生分析問題、解決問題的工程設(shè)計(jì)能力,還可以與專業(yè)應(yīng)用相結(jié)合,提高學(xué)生的工程實(shí)踐能力和創(chuàng)新能力。在新工科的人才培養(yǎng)目標(biāo)下,課程要適應(yīng)人才培養(yǎng)的需要,更新教學(xué)理念和方法。為此,本文提出了基于新工科人才培養(yǎng)的C語言程序設(shè)計(jì)教學(xué)改革,從分析教學(xué)對(duì)象入手,探索適合學(xué)生和人才培養(yǎng)需求的教學(xué)新方法、新模式。
一、教學(xué)對(duì)象分析
C語言程序設(shè)計(jì)授課對(duì)象多為大學(xué)一年級(jí)新生,盡管隨著教育水平的提升和信息技術(shù)產(chǎn)品的普及,新生對(duì)計(jì)算機(jī)的認(rèn)識(shí)和應(yīng)用能力較以往有明顯提高,但對(duì)于計(jì)算機(jī)的基本工作原理、信息的數(shù)字化表達(dá)認(rèn)知基礎(chǔ)仍然比較薄弱,這對(duì)程序設(shè)計(jì)構(gòu)成了很大的障礙。學(xué)生難以理解計(jì)算機(jī)執(zhí)行程序的基本原理和程序設(shè)計(jì)的基本思想,因此,學(xué)生出現(xiàn)的問題是,能夠看懂例題,但不會(huì)動(dòng)手設(shè)計(jì)程序,看到題目無從下手,造成入門難,學(xué)習(xí)興趣缺失,逐漸形成惡性循環(huán),導(dǎo)致學(xué)習(xí)狀態(tài)不好,影響后續(xù)專業(yè)課程的學(xué)習(xí),甚至影響學(xué)習(xí)態(tài)度。
程序設(shè)計(jì)語言的語法知識(shí)較多,學(xué)生剛開始學(xué)習(xí)對(duì)于瑣碎的語法規(guī)則不熟,語法錯(cuò)誤頻出。常見的問題例如:花括號(hào)或圓括號(hào)不匹配,關(guān)鍵字書寫錯(cuò)誤(例如main寫成mian),中英文標(biāo)點(diǎn)符號(hào)錯(cuò)誤(例如“:”寫成“;”),輸入輸出語句格式錯(cuò)誤屢見不鮮,一個(gè)程序多個(gè)main函數(shù)等。盡管都是簡單的語法錯(cuò)誤,但學(xué)生實(shí)踐少,對(duì)語法生疏,難以自行發(fā)現(xiàn)錯(cuò)誤所在,導(dǎo)致上機(jī)調(diào)試程序編譯通不過,程序執(zhí)行不了,浪費(fèi)大量時(shí)間,學(xué)生受挫。
學(xué)生對(duì)知識(shí)的靈活運(yùn)用能力不夠嫻熟,例如,學(xué)生編寫程序總是習(xí)慣把所有的功能寫入主函數(shù),而不是將各功能獨(dú)立編寫成函數(shù),形成模塊化的程序設(shè)計(jì),對(duì)函數(shù)的理解不透徹,不清楚為什么要使用函數(shù),怎樣自己設(shè)計(jì)函數(shù);另外,對(duì)于同一類題目,如數(shù)組中數(shù)的逆序存儲(chǔ)與回文的判斷,盡管求解方法類似,但學(xué)生缺乏舉一反三的能力。究其原因在于,學(xué)生對(duì)知識(shí)的理解不夠深入,沒有理解知識(shí)的本質(zhì)。因此,授課目標(biāo)不僅在于使學(xué)生學(xué)習(xí)一門程序設(shè)計(jì)語言,更重要的在于使學(xué)生理解語法的本質(zhì)、計(jì)算機(jī)執(zhí)行程序的基本原理以及程序設(shè)計(jì)的基本思想。培養(yǎng)學(xué)生分析問題、解決問題、靈活應(yīng)用知識(shí)的能力。
二、案例教學(xué)
傳統(tǒng)的教學(xué)方法更多關(guān)注語法規(guī)則,學(xué)生面對(duì)繁多的語法規(guī)則感到枯燥乏味,極易喪失學(xué)習(xí)情趣,計(jì)算思維和編程思想的培養(yǎng)也無從談起。而案例教學(xué)能較好地解決這些問題,通過精心總結(jié)和設(shè)計(jì),利用生活中常見的問題,將知識(shí)貫穿于問題中。課程不再以枯燥的語法為主線,而是以案例為牽引,通過提出問題、分析問題、解決問題傳授解決問題的方法,培養(yǎng)學(xué)生分析問題、解決問題的能力。語法知識(shí)穿插于問題求解過程中,使得語法不再單調(diào)、枯燥,也突出了課程的重點(diǎn)是學(xué)生能力的培養(yǎng)。
授課案例可以是生活中的實(shí)際問題,例如出租車分段計(jì)費(fèi)、空氣污染指數(shù)計(jì)算、物品價(jià)格查詢等;也可以是C語言的經(jīng)典有趣案例,如兔子繁殖問題、水仙花數(shù)、素?cái)?shù)判斷等;當(dāng)學(xué)生有了一定基礎(chǔ)后,還可以采用綜合性的案例,如學(xué)生成績信息管理系統(tǒng),將所學(xué)的知識(shí)貫穿起來。通過解決實(shí)際問題,學(xué)生不僅對(duì)課程產(chǎn)生濃厚的學(xué)習(xí)興趣,還可以深刻感受和體會(huì)到程序設(shè)計(jì)的用途。
案例講解要注重學(xué)生思維能力的培養(yǎng),關(guān)注問題的求解思路和步驟,使學(xué)生學(xué)會(huì)解決問題的方法,而不僅僅是一個(gè)具體問題的求解。例如,判斷輸入的任意整數(shù)n是否為素?cái)?shù),是則輸出“YES”,否則,輸出“NO” 。對(duì)于該問題,應(yīng)首先分析問題的求解思路,然后一步步求解,初始的大體步驟如下:
通過一步步分析問題,建立起問題的解決步驟,通過程序設(shè)計(jì)語言將步驟加以實(shí)現(xiàn)。這個(gè)過程中,更注重學(xué)生思維能力的培養(yǎng),使學(xué)生掌握分析問題、解決問題的方法,達(dá)到“授之于漁”,而不是“授之于魚”。
三、線上線下結(jié)合的教學(xué)模式
程序設(shè)計(jì)課程入門難,內(nèi)容多,要達(dá)到掌握程序設(shè)計(jì)方法并能夠靈活運(yùn)用的教學(xué)目標(biāo),僅僅靠課內(nèi)學(xué)時(shí)遠(yuǎn)遠(yuǎn)不夠。而MOOC和SPOC的新型教學(xué)模式為以上問題的解決提供了可能。C語言的語法知識(shí)和每一章節(jié)的基礎(chǔ)知識(shí)難度較小,學(xué)生通過自學(xué)可以自行掌握,因此,這部分內(nèi)容可以借助網(wǎng)上的MOOC資源由學(xué)生獨(dú)立完成。課上的學(xué)時(shí)則用來對(duì)基礎(chǔ)知識(shí)進(jìn)行歸納,并在此基礎(chǔ)上擴(kuò)展延伸。通過案例將基礎(chǔ)知識(shí)加以應(yīng)用,同時(shí)開展翻轉(zhuǎn)課堂,給學(xué)生更多參與課堂的機(jī)會(huì),針對(duì)相同的問題提出不同的見解,拓寬了思路,通過思維的碰撞,對(duì)問題認(rèn)識(shí)更加深刻。學(xué)生課下完成任務(wù)的方式,不僅需要學(xué)生對(duì)知識(shí)查閱、整理和歸納,還需要團(tuán)隊(duì)溝通合作,既能夠鍛煉學(xué)生解決問題的能力,也能培養(yǎng)學(xué)生的團(tuán)隊(duì)合作精神。
程序設(shè)計(jì)能力的提高離不開實(shí)踐,除了課內(nèi)的實(shí)踐環(huán)節(jié),還應(yīng)為學(xué)生提供課下練習(xí)的平臺(tái),通過程序設(shè)計(jì)在線評(píng)判系統(tǒng)(OJ)在線布置和提交作業(yè),學(xué)生的程序代碼通過OJ系統(tǒng)在線評(píng)判,使得學(xué)生的作業(yè)能夠及時(shí)得到反饋,知道對(duì)錯(cuò),從而能夠及時(shí)分析解決,從而不必單純地依靠老師來檢查、指導(dǎo)。作為老師,則通過OJ系統(tǒng)可以實(shí)時(shí)查看學(xué)生的作業(yè)完成情況,了解學(xué)生的掌握情況和薄弱環(huán)節(jié),從而有針對(duì)性、有重點(diǎn)地講解。
四、建立多維評(píng)價(jià)機(jī)制
傳統(tǒng)的教學(xué)評(píng)價(jià)模式以期末考核為主,學(xué)生的學(xué)習(xí)過程不能充分體現(xiàn),僅憑期末一次考試無法衡量學(xué)生學(xué)習(xí)情況。為客觀衡量學(xué)生的學(xué)習(xí)效果,應(yīng)注重學(xué)習(xí)過程,為此,引入多維評(píng)價(jià)機(jī)制,多角度地評(píng)價(jià)學(xué)生的學(xué)習(xí)效果,促使學(xué)生把功夫下在平時(shí),切實(shí)保證學(xué)習(xí)效果,達(dá)到人才培養(yǎng)的目標(biāo)。
課程的綜合成績包含以下幾部分:
(1)出勤:占5%。
(2)作業(yè)(10%):分為書面基礎(chǔ)知識(shí)練習(xí)作業(yè)和OJ在線編程作業(yè)。
(3)上機(jī)限時(shí)實(shí)驗(yàn)(10%):上機(jī)課上作業(yè),需要在課上規(guī)定時(shí)間內(nèi)完成。
(4)階段測(cè)驗(yàn)(25%):共有以下階段測(cè)驗(yàn):流程控制結(jié)構(gòu)、函數(shù)、數(shù)組和指針、結(jié)構(gòu)體和文件。
(5)期末(50%):理論測(cè)驗(yàn)+編程測(cè)驗(yàn)。
五、結(jié)語
通過基于新工科人才培養(yǎng)的C語言程序設(shè)計(jì)的創(chuàng)新型教學(xué)改革研究,對(duì)C語言程序設(shè)計(jì)的課程教學(xué)模式進(jìn)行了實(shí)踐探索。將以教師講授為核心的傳統(tǒng)課堂教學(xué)活動(dòng)組織形式,變?yōu)橐詫W(xué)生的自主學(xué)習(xí)為主導(dǎo),極大地提高了學(xué)生學(xué)習(xí)的自主性,并且將教師從繁重的課堂教學(xué)中解放出來,更多地去關(guān)注C語言程序設(shè)計(jì)課程的教學(xué)方法以及教學(xué)資源的優(yōu)化、組織和管理,提高教學(xué)效果。今后,我們將進(jìn)一步結(jié)合我院學(xué)生的特點(diǎn),完善教學(xué)內(nèi)容、方法和手段,提升學(xué)生的專業(yè)實(shí)踐應(yīng)用能力和綜合創(chuàng)新能力,滿足社會(huì)、企業(yè)對(duì)新工科人才的需求。
參考文獻(xiàn)
[1] 楊業(yè)娟,鄭棣,史汶澤,等.基于新工科人才培養(yǎng)的C語言程序設(shè)計(jì)創(chuàng)新型教學(xué)改革研究[J].計(jì)算機(jī)時(shí)代,2019(10):80-82.
[2] 喬加新,梁后軍,魏蘇林.構(gòu)建全方位分層程序設(shè)計(jì)類課程創(chuàng)新教學(xué)體系:基于新工科理念的計(jì)算機(jī)專業(yè)[J].黑龍江工業(yè)學(xué)院學(xué)報(bào)(綜合版),2019,19(9):20-24.