蔡莉莉 侯珂珂 張潔
摘要:為了探索解決應(yīng)用型高校非計算機專業(yè)高級語言程序設(shè)計課程教學(xué)中存在的問題,提升教學(xué)質(zhì)量,從教學(xué)目標(biāo)、教學(xué)模式、習(xí)題設(shè)計、考核評價等方面進行了改革與探索實踐,改革思路著力于發(fā)揮學(xué)生的主觀能動性,提升其自主學(xué)習(xí)能力。課堂實踐證明了改革方案能夠促進學(xué)生學(xué)習(xí)的積極性,改善教學(xué)效果。
關(guān)鍵詞:高級語言程序設(shè)計;非計算機專業(yè);課程教學(xué);教學(xué)改革
中圖分類號:G642? ? ? 文獻標(biāo)識碼:A
文章編號:1009-3044(2021)16-0077-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
Exploration on the Teaching Reform of Advanced Language Program Design for Non-computer Majors in Application-oriented Universities
CAI Li-li1, HOU Ke-ke2, ZHANG Jie1
(1. Xinhua College of Sun Yat-sen University School of Biomedical Engineering, Guangzhou 510520, China; 2. Xinhua College of Sun Yat-sen University School of Health Sciences, Guangzhou 510520,China)
Abstract: In order to explore and solve the problems in the teaching of advanced language programming course for non-computer majors in application-oriented universities and improve the quality of teaching, reforms and practices have been carried out in terms of teaching objectives, teaching models, exercise design, assessment and evaluation. The reform thinking focuses on giving full play to students' subjective initiative and enhancing their independent learning ability. The practice has proved that the reform plan can promote students' enthusiasm for learning and improve teaching effects.
Keywords: advanced language program design; non-computer majors; course teaching; teaching reform
1背景
高級語言程序設(shè)計是非計算機專業(yè)中的大多數(shù)工科專業(yè)必修的一門專業(yè)基礎(chǔ)課。隨著信息技術(shù)的發(fā)展,掌握一門程序設(shè)計語言對于培養(yǎng)復(fù)合型研發(fā)人才非常必要,同時在面對工程實際應(yīng)用問題時,算法思維和程序設(shè)計更是對解決問題的效率和精度具有至關(guān)重要的作用。而該課程針對計算機專業(yè)和非計算機專業(yè)的具體要求也有所不同,如何立足于教學(xué)專業(yè)的特點進行高效教學(xué)是針對該課程教學(xué)改革的重點,同時如何改善課程的教學(xué)效果也是目前廣大教師廣泛研究的課題??紤]到教學(xué)專業(yè)的專業(yè)特點,課程選擇應(yīng)用廣泛的C/C++語言進行教學(xué)。
2 C/C++語言課程教學(xué)現(xiàn)狀
程序設(shè)計語言類課程具有理論邏輯性強和實踐應(yīng)用性高的特點,對該類課程的教學(xué)既要重視理論教學(xué)也要重視實踐教學(xué),該課程的教學(xué)過程普遍存在以下幾個問題:
1) 教學(xué)模式單一,傳統(tǒng)的課堂通常采用教師授課、學(xué)生被動吸收的“填鴨式教學(xué)”模式來達到教授知識的目的。但是針對C/C++語言理論知識而言,相關(guān)概念抽象而不系統(tǒng),學(xué)生很難快速融入教學(xué)環(huán)境,理解理論知識的邏輯和學(xué)習(xí)理論知識的必要性,而理論課程是進行程序設(shè)計的基礎(chǔ),這就導(dǎo)致學(xué)生的上機實踐效果較差。
2) 過于集中式的講述和關(guān)注語句的語法,比如涉及運算符、數(shù)據(jù)類型等基礎(chǔ)概念講解瑣碎且難理解。教師在講解過程中,經(jīng)常會列舉出大量的細(xì)節(jié)注意事項,難以讓學(xué)生理解的同時也加重學(xué)生的記憶負(fù)擔(dān)。導(dǎo)致學(xué)生的學(xué)習(xí)僅靠死記硬背,無法深層次理解[1]。
3) 忽視程序的“設(shè)計”過程訓(xùn)練,現(xiàn)有的C語言程序設(shè)計講解多是機械式地搬運教材上的知識點講述,舉例死板單一,脫離應(yīng)用實際,并未從真正的編程思維角度去訓(xùn)練學(xué)生編程能力,忽視對學(xué)生編程能力的培養(yǎng)[2]。
4) 驗證性上機例程過多,例子程序照本宣科且忽略程序調(diào)試思維的培養(yǎng)。上機實踐環(huán)節(jié),學(xué)生大多數(shù)按部就班抄寫課堂例題程序代碼然后編譯運行,程序報錯時無法確認(rèn)報錯原因,缺乏定位錯誤及程序調(diào)試的能力。
3 教學(xué)改革與實踐
針對以上教學(xué)過程中出現(xiàn)的問題,秉持以學(xué)生為主體的思想,對本課程進行以下4個方面的教學(xué)改革與探索。
3.1結(jié)合專業(yè)定位,優(yōu)化教學(xué)目標(biāo)
C/C++語言程序設(shè)計在內(nèi)容劃分上包含兩大基本編程思想:面向過程的程序設(shè)計和面對對象的程序設(shè)計。面向過程的程序設(shè)計屬于程序設(shè)計的基礎(chǔ)理論,與計算機專業(yè)類型學(xué)生相比,生物醫(yī)學(xué)工程專業(yè)學(xué)生在學(xué)習(xí)這門課程之前還未接受過系統(tǒng)的編程課程訓(xùn)練,且后續(xù)的專業(yè)課程如單片機原理及應(yīng)用、嵌入式系統(tǒng)課程所依據(jù)的編程技術(shù)也是主要基于面向過程的程序設(shè)計思想。因此針對該專業(yè)學(xué)生教學(xué)目標(biāo)調(diào)整為:培養(yǎng)學(xué)生面向過程的程序設(shè)計思想,掌握結(jié)構(gòu)化程序設(shè)計方法。教學(xué)內(nèi)容圍繞面向過程程序設(shè)計進行授課,在夯實編程基礎(chǔ)之后,為學(xué)生介紹面向?qū)ο蟪绦蛟O(shè)計的基本思想,學(xué)生可進行自學(xué)完成。
3.2引入線上線下混合式教學(xué)策略,優(yōu)化教學(xué)模式
傳統(tǒng)的線下教學(xué)模式較為單一,主要是以教師講課,學(xué)生被動聽課為主,無法發(fā)揮學(xué)生的教學(xué)主體作用。在當(dāng)下“互聯(lián)網(wǎng)+”的教學(xué)背景下,線上線下混合式的教學(xué)模式更是被大家廣泛接受,且實踐下來,學(xué)生反響良好[3]。針對本課程,線上線下混合式教學(xué)實踐主要分為以下兩個階段:
1)線上教學(xué)階段:線上教學(xué)平臺繁多,雨課堂、騰訊課堂、學(xué)習(xí)通、QQ微信等多種媒介各有利弊。考慮到泛雅平臺學(xué)習(xí)通為本校主流的線上教學(xué)平臺,因此本課程的線上教學(xué)實踐也主要是基于學(xué)習(xí)通進行展開。程序設(shè)計語言的前兩章通常是介紹一些語法基礎(chǔ),變量和數(shù)據(jù)類型等非?,嵥榈母拍睿@些理論知識繁雜,線下課堂教學(xué)往往要花費大量的課時講解,且學(xué)生抓不住重點,教學(xué)效果也較差。因此課前會針對性錄制一些課程導(dǎo)讀及重要知識點的微課視頻,提供給學(xué)生預(yù)習(xí)使用,同時會在泛雅平臺發(fā)布本次課程的學(xué)習(xí)任務(wù),如圖1所示,可幫助學(xué)生系統(tǒng)化梳理龐雜的理論知識,構(gòu)建自己的知識體系。
2)線下教學(xué)階段:線上教學(xué)擺脫了時空的局限性,但是完全依賴線上教學(xué)并不能保障學(xué)生的學(xué)習(xí)效果。線下教學(xué)在教學(xué)過程中仍然發(fā)揮其不可替代作用,面對面的交流增加了與學(xué)生之間的溝通親切感,同時針對學(xué)生提出的問題可做出即時響應(yīng),是線上教學(xué)有力地完善與補充。針對學(xué)生線上學(xué)習(xí)過程中遇到的疑難點,教師有針對性地進行講解。同時結(jié)合已學(xué)知識定期發(fā)布課題任務(wù),學(xué)生分組合作進行討論、實現(xiàn),這個過程仍然側(cè)重發(fā)揮學(xué)生的主觀能動性,教師不必面面俱到講述所有的編程細(xì)節(jié),學(xué)生在充分的課題實踐中逐步探索發(fā)現(xiàn),在培養(yǎng)溝通合作能力的同時也加深了對理論知識的理解。
3.3創(chuàng)設(shè)趣味題目,培養(yǎng)“編程”思維
教材中的例題設(shè)計一般多考慮數(shù)學(xué)類的應(yīng)用,舉例也偏數(shù)學(xué)化語言,缺乏一定的趣味性。這使得學(xué)生學(xué)習(xí)過程中,覺得枯燥乏味,難以激發(fā)學(xué)生的學(xué)習(xí)興趣。因此在課程選擇例題和習(xí)題方面,既要緊密結(jié)合實踐考慮實用性,同時兼具趣味性。針對該要求,本課程在授課過程中,為了激發(fā)學(xué)生的興趣,培養(yǎng)學(xué)生的編程思維,在例題和習(xí)題的選擇上引入游戲類和生活類題目,如講述循環(huán)時,以“猜數(shù)”游戲啟發(fā)學(xué)生思考,讓學(xué)生先自己嘗試實現(xiàn),這個過程學(xué)生的“頭腦風(fēng)暴”幫助學(xué)生鞏固理論,鍛煉編程思維;然后對學(xué)生編寫代碼進行點評,指出其漏洞,學(xué)生往往有種茅塞頓開、醍醐灌頂?shù)母杏X,學(xué)習(xí)過程是愉悅和充滿斗志的。此外,像雞兔同籠,韓信點兵等趣味題目也經(jīng)常會用作習(xí)題,增加學(xué)生做題過程中的趣味性。為了提高學(xué)生定位錯誤的能力,培養(yǎng)學(xué)生的調(diào)試思維,在初學(xué)者常常容易犯錯的點,如變量初始化錯誤、死循環(huán)與死語句與0比較問題、復(fù)雜情形的關(guān)系判斷問題、遺漏邊界條件測試、類型溢出等方面針對性地布置習(xí)題,有意識地讓學(xué)生“踩坑”,鍛煉他們調(diào)試程序的能力,加深對理論細(xì)節(jié)的掌握。
3.4多元化考核評價機制優(yōu)化評價體系
以往針對學(xué)生的成績考核,主要包含三大板塊,即平時出勤、上機和期末考試成績,分別占比10%、20%、70%。這樣的評分機制,導(dǎo)致期末占比過高,使得學(xué)生平時積極性不高、僅到快期末時才開始突擊,且最終分?jǐn)?shù)反倒與平時表現(xiàn)突出的學(xué)生相差很小,考核評價不具科學(xué)性[4]。因此,針對本課程的考核引入多元化的評價機制,增加線上學(xué)習(xí)視頻、平時問題討論,創(chuàng)新實驗完成情況、小組合作評分等考評方式,加大平時教學(xué)過程的評價占比。優(yōu)化后的成績考核為平時成績占比30%,其中平時成績除包含出勤外,還增加了上述幾項的考核占比,此外,上機占比為20%,期末考試占比50%,從而激發(fā)學(xué)生平時學(xué)習(xí)的動力,提高評價科學(xué)性。
4 結(jié)束語
編程語言設(shè)計類課程的理論邏輯性強,實踐性要求高,對于學(xué)生的學(xué)習(xí)自主性具有較高需求。通過以上教學(xué)改革措施,致力于發(fā)揮學(xué)生的教學(xué)主體作用,激發(fā)學(xué)生的學(xué)習(xí)積極性和提高其自主學(xué)習(xí)能力。在接下來的教學(xué)實踐中還將進一步深化教學(xué)改革,完善教學(xué)方法,提高教學(xué)質(zhì)量。
參考文獻:
[1] 梁銳,余波.以學(xué)生為中心的C語言課程教學(xué)改革初探[J].現(xiàn)代計算機,2019(35):74-76.
[2] 嚴(yán)仍榮.新工科背景下“C程序設(shè)計”課程思政教學(xué)研究與實踐[J].計算機時代,2020(12):76-78,81.
[3] 趙厚寶,付劍鋒,李琥.《高級語言程序設(shè)計》課程教學(xué)改革的研究[J].高教學(xué)刊,2020(9):137-139.
[4] 蘭聰花,何輝.“C語言程序設(shè)計”課程教學(xué)改革與實踐[J].工業(yè)和信息化教育,2020(4):29-32.
【通聯(lián)編輯:代影】