摘要:本文以西藏農(nóng)牧學(xué)院(以下簡稱“該校”)電氣自動化專業(yè)為背景,針對“C語言程序設(shè)計”課程在教學(xué)中的諸多問題,從教學(xué)內(nèi)容和教學(xué)方法、課程設(shè)置、考核方式設(shè)置,以及對藏漢學(xué)生進(jìn)行差異化教學(xué)等方面進(jìn)行了一系列的研究,并提出了相應(yīng)的改進(jìn)措施,以期激發(fā)學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生的編程能力、創(chuàng)新能力和邏輯思維能力。
關(guān)鍵詞:C語言程序設(shè)計;電氣自動化;教學(xué)改進(jìn);編程能力
一、引言
隨著科技的不斷發(fā)展,計算機(jī)的應(yīng)用越來越廣泛。作為非計算機(jī)專業(yè)的工科生,尤其是電氣自動化專業(yè)的學(xué)生,學(xué)習(xí)一門編程語言對后續(xù)就業(yè)和繼續(xù)深造有舉足輕重的意義[1]。C語言作為目前依然在全世界范圍內(nèi)流行的面向過程的編程語言,在2023年11月TIOBE編程社區(qū)指數(shù)公布的編程語言排行榜中列于第二位[2]。C語言具有如下優(yōu)點:一是簡潔。C語言是現(xiàn)有程序設(shè)計語言中規(guī)模最小的語言之一;二是靈活。C語言的語法限制不嚴(yán)格,自由度大;三是功能豐富。C語言的數(shù)據(jù)類型非常豐富。同時,C語言具有低級語言的特性,允許訪問物理地址,能進(jìn)行位操作,能實現(xiàn)匯編語言的大部分功能,能對硬件進(jìn)行操作[3]。
基于以上原因,該校電氣自動化專業(yè)選定C語言作為必修專業(yè)基礎(chǔ)課,在大二第一學(xué)期開設(shè)。該專業(yè)班級學(xué)生的組成基本為一半漢族學(xué)生一半藏族學(xué)生。經(jīng)課堂調(diào)查,他們上大學(xué)之前并未接觸過計算機(jī)語言,在大一學(xué)過計算機(jī)應(yīng)用基礎(chǔ)。其中,藏族學(xué)生的數(shù)學(xué)底子普遍比較薄弱,邏輯思維能力相較于漢族學(xué)生要差一些,再加上C語言本身比較抽象,難以理解,造成大部分學(xué)生尤其是藏族學(xué)生在學(xué)習(xí)過程中產(chǎn)生畏難情緒,喪失學(xué)習(xí)興趣[4]。傳統(tǒng)的C語言程序設(shè)計在教學(xué)內(nèi)容設(shè)計、案例設(shè)計、考核方式等方面存在一些問題,亟需根據(jù)學(xué)生的實際情況進(jìn)行改革和創(chuàng)新,以便更好地提高學(xué)生的學(xué)習(xí)興趣,培養(yǎng)他們的編程能力和實踐能力。
二、 教學(xué)中存在的問題
(一)教學(xué)現(xiàn)狀
傳統(tǒng)的C語言課程教學(xué)通常采用教師在課堂上講授理論知識、演示課本上的例題和上機(jī)實驗相結(jié)合的方式。教師通過課堂講解理論知識、算法設(shè)計和程序代碼,學(xué)生在上機(jī)實驗中驗證教師所講的知識點并完成一系列實踐任務(wù)。實踐任務(wù)通常以課后習(xí)題為主,教師自主設(shè)計和拓展的任務(wù)比較少,與專業(yè)相關(guān)的案例更是一個都沒有,這種教學(xué)方式雖然能夠讓學(xué)生初步掌握C語言的基本語法和程序設(shè)計的基本流程,但在培養(yǎng)學(xué)生邏輯思維、編程思維、算法設(shè)計和程序調(diào)試等綜合能力方面還有很大的不足。
(二)“C語言程序設(shè)計”課程教學(xué)中的問題
1.各章節(jié)知識點結(jié)構(gòu)設(shè)計不合理
在教學(xué)過程中,教師只是將各個知識點機(jī)械地羅列出來,并未體現(xiàn)其邏輯上的連貫性和過渡的平滑性。由于C語言本身涉及的知識點非常多,每個知識點都有比較復(fù)雜的語法規(guī)則,教師在授課過程中往往只重點強(qiáng)調(diào)這些語言規(guī)則,各個知識點之間并未有機(jī)地聯(lián)系起來,一方面導(dǎo)致課堂教學(xué)枯燥乏味,學(xué)生缺乏學(xué)習(xí)興趣,另一方面導(dǎo)致學(xué)生在學(xué)習(xí)過程中感到各章節(jié)知識點分散、凌亂,無法搭建起完整的知識體系框架。最終導(dǎo)致學(xué)生舉一反三的能力、解決實際問題的能力下降。
2.教學(xué)方法和教學(xué)手段缺乏豐富性和趣味性
傳統(tǒng)的“C語言程度設(shè)計”課程教學(xué)方法以教師講授為主,學(xué)生被動接受為輔,教學(xué)過程中甚至沒有課堂互動,課外也沒有其他學(xué)習(xí)平臺或者途徑鞏固課堂知識,難以激發(fā)學(xué)生的學(xué)習(xí)興趣和積極性[5]。
3.實驗環(huán)節(jié)薄弱,學(xué)生編程能力提升緩慢
現(xiàn)有的“C語言程序設(shè)計”實驗通常以驗證性實驗為主,實驗題目局限于課本上的例題和課后題目,學(xué)生在驗證性實驗中仍然存在不少問題 ,如語法錯誤多、思路不清晰等,究其原因,一方面,在課程教學(xué)中理論知識講得太多,實踐教學(xué)內(nèi)容太少,導(dǎo)致學(xué)生的實操能力未能得到有效提升;另一方面,學(xué)生的基礎(chǔ)比較薄弱,邏輯思維能力較差,再加上學(xué)生平時的學(xué)習(xí)往往停留在驗證性實驗階段,較少進(jìn)行綜合性、設(shè)計性和創(chuàng)新性的實驗練習(xí),導(dǎo)致學(xué)生在實驗過程中缺乏獨立思考和創(chuàng)新意識的培養(yǎng),編程能力提升緩慢。
4.缺乏與實際應(yīng)用的聯(lián)系
在傳統(tǒng)的“C語言程序設(shè)計”課程中,教師在設(shè)計和講解實驗項目時并未涉及與專業(yè)課緊密聯(lián)系的案例,導(dǎo)致教學(xué)的針對性不強(qiáng)。所有專業(yè)的學(xué)生都使用相同的實驗案例,一定程度上會使學(xué)生在潛意識中認(rèn)為學(xué)習(xí)該課程只是為了完成學(xué)分,對后繼續(xù)課程的學(xué)習(xí)沒有太大的幫助。
5.藏族學(xué)生的C語言基礎(chǔ)和能力相對薄弱
藏族學(xué)生在學(xué)習(xí)“C語言程序設(shè)計”課程時存在諸多困難,如語言、文化、教育水平等,具體表現(xiàn)如下:
(1)語言障礙:藏族學(xué)生可能不熟悉或者不習(xí)慣使用漢語進(jìn)行編程學(xué)習(xí)。C語言本身較為復(fù)雜,需要較強(qiáng)的邏輯思維能力。使用藏語思維方式進(jìn)行思考,勢必導(dǎo)致對C語言的學(xué)習(xí)過程更加困難。
(2)基礎(chǔ)教育的差異:一些藏區(qū)學(xué)校對計算機(jī)的基礎(chǔ)教育相對較少,學(xué)生可能沒有接觸過計算機(jī)相關(guān)的知識。而C語言需要一定的計算機(jī)基礎(chǔ)知識,如操作系統(tǒng)、內(nèi)存管理等。學(xué)生不具備計算機(jī)基礎(chǔ)知識,會增加學(xué)習(xí)C語言的難度。
(3)理解編程思維的困難:C語言是一種面向過程的語言,需要學(xué)生具有較強(qiáng)的邏輯思維和抽象思維的能力。藏族學(xué)生可能需要更多的時間和精力來理解和掌握這種思維方式。
(4)文化和背景差異:由于文化和背景的差異,導(dǎo)致認(rèn)知的差異。藏族學(xué)生認(rèn)為學(xué)習(xí)編程語言沒有任何意義,認(rèn)真學(xué)習(xí)本門課程只為了應(yīng)付考試拿學(xué)分,對計算機(jī)的應(yīng)用和編程的實際需求了解較少,這也會影響他們對C語言的學(xué)習(xí)和應(yīng)用。
5.課程考試方式未能體現(xiàn)實際應(yīng)用能力
以往的考核方式為平時成績占30%,其中,考勤部分占10%,以約束學(xué)生上課不遲到、早退及曠課;課堂表現(xiàn)占10%;課堂和課后作業(yè)占10%,課后作業(yè)一般多為筆試作業(yè);期末考試占70%,以筆試為主,以理論知識為考核重點,對實際應(yīng)用能力的考查占比很小,這就導(dǎo)致一部分學(xué)生死記硬背一些概念知識,只為應(yīng)付考試,并不能真正掌握這門課程的知識,更別說以后的實際應(yīng)用能力。
三、 改革措施
針對以上傳統(tǒng)的“C語言程序設(shè)計”課程教學(xué)中存在的諸多問題,本文從教學(xué)內(nèi)容與教學(xué)方法、課程設(shè)置、如何幫助藏族學(xué)生學(xué)習(xí)C語言、考核方式設(shè)置等四個方面提出了改進(jìn)措施建議,以期提高“C語言程序設(shè)計”課程的教學(xué)質(zhì)量。
(一)教學(xué)內(nèi)容與教學(xué)方法方面
教師可以根據(jù)學(xué)生的實際學(xué)習(xí)情況,適當(dāng)調(diào)整各章節(jié)知識點的講解次序,使整個知識結(jié)構(gòu)嚴(yán)謹(jǐn)且流暢,知識點間的過渡平滑,學(xué)生容易接受,提升課堂效率,提高學(xué)生的專注力。
課堂內(nèi)容講授應(yīng)從以下幾方面改進(jìn):
1.夯實語法基礎(chǔ)
語法是“C語言程序設(shè)計”課程的基礎(chǔ)。因此,教師需要加強(qiáng)語法基礎(chǔ)的教學(xué)。讓學(xué)生充分理解和掌握C語言的基本語法知識和常用的庫函數(shù)。學(xué)生最開始編程時出現(xiàn)最多的錯誤就是語法錯誤。減少語法錯誤,一方面要通過多實踐,另一方面就是要加強(qiáng)語法基礎(chǔ)的學(xué)習(xí)。
2.加強(qiáng)算法和數(shù)據(jù)結(jié)構(gòu)的教學(xué)
算法和數(shù)據(jù)結(jié)構(gòu)是“C語言程序設(shè)計”課程的核心。算法是編程中解決問題的步驟,數(shù)據(jù)結(jié)構(gòu)則是數(shù)據(jù)的組織和存儲結(jié)構(gòu)[6]。學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),就要求學(xué)生掌握數(shù)組、鏈表、棧、隊列、樹等相關(guān)知識。學(xué)習(xí)算法,要求學(xué)生熟練使用排序算法、查找算法、字符串匹配算法、圖論算法、動態(tài)規(guī)劃算法等。掌握算法和數(shù)據(jù)結(jié)構(gòu),有助于提高學(xué)生的編程能力和解決實際問題的能力[7]。
3.基礎(chǔ)與拓展內(nèi)容并重
教師在教學(xué)中,應(yīng)注重對C語言基礎(chǔ)知識和技能的教授,如數(shù)據(jù)類型、變量、常量、運算符表達(dá)式、控制結(jié)構(gòu)等。同時也應(yīng)加強(qiáng)對拓展內(nèi)容的教學(xué),如函數(shù)、指針、內(nèi)存管理、結(jié)構(gòu)體、鏈表、文件等,以幫助學(xué)生全面地掌握和應(yīng)用C語言。
4.采取線上與線下結(jié)合的教學(xué)方式
教師可將一些視頻和PPT課件放在學(xué)習(xí)通上,以便學(xué)生課前預(yù)習(xí)和課后復(fù)習(xí)。在完成每一章節(jié)的課程教學(xué)后,教師可在學(xué)習(xí)通上進(jìn)行一次測試,考查學(xué)生對基本知識理論的掌握程度,并以之為依據(jù)開展有針對性的指導(dǎo)和輔導(dǎo),讓每一位同學(xué)都能打牢基礎(chǔ),為后續(xù)的實驗課程做好鋪墊。
5.教學(xué)生使用AI技術(shù)解決問題
針對比較難的項目,教師可以引導(dǎo)學(xué)生利用AI找找答案。雖然借助AI生成的代碼不一定能用,但它有助于為學(xué)生提供借鑒思路,從而能夠提升學(xué)生的編程效率。
(二)課程設(shè)置方面
1.增加實踐課程比重
為了更好地培養(yǎng)學(xué)生的實踐能力和創(chuàng)新意識,需要增加實踐課程的比重。在課堂教學(xué)中增加學(xué)生的編程練習(xí)時間,設(shè)置更多的實驗和項目實踐環(huán)節(jié),讓學(xué)生在實踐中學(xué)習(xí)和掌握C語言的編程技能和創(chuàng)新能力。同時,教師也可以利用計算機(jī)實驗室等資源,為學(xué)生提供良好的學(xué)習(xí)環(huán)境和設(shè)備,鼓勵學(xué)生自主學(xué)習(xí)和探索。
2.引入與電氣自動化專業(yè)相關(guān)的案例分析
為了更好地與電氣自動化專業(yè)的需求相結(jié)合,在課程中引入與電氣自動化專業(yè)相關(guān)的案例分析,如定時器與計數(shù)器控制程序、電機(jī)控制程序、PLC控制程序等實際案例。通過實際案例的引入,可以增強(qiáng)學(xué)生的實際應(yīng)用能力,提高他們的學(xué)習(xí)興趣和動力,為后續(xù)學(xué)習(xí)單片機(jī)原理等課程打下良好的基礎(chǔ)。
(三)藏族同學(xué)學(xué)習(xí)C語言方面
1.引導(dǎo)和幫助
先從思想上讓藏族學(xué)生意識到學(xué)習(xí)這門課程的重要意義。只有思想問題解決了,其他問題都會迎刃而解。由于每個班級大體都是一半漢族學(xué)生一半藏族學(xué)生,可以采取一對一的幫扶措施,由一名漢族學(xué)生帶一名藏族學(xué)生,以一對一輔導(dǎo)的方式提升藏族學(xué)生的編程能力。
2.提供實踐機(jī)會
教師可以組織一些編程實踐活動。實踐活動可以以從易向難、從小項目到大項目的順序循序進(jìn)行,這樣可以讓藏族學(xué)生在實踐中實現(xiàn)能力的提升。
總的來說,盡管藏族同學(xué)在學(xué)習(xí)C語言時可能會面臨一些困難,但只要教師用心并采取適當(dāng)?shù)拇胧┖头椒?,他們完全能夠成功地學(xué)習(xí)和掌握C語言。
(四)考核方式方面
改革后的“C語言程序設(shè)計”課程的考核方式包括平時成績、實驗成績和期末考試。其中,平時成績(30%)包括平時考勤、課堂作業(yè)與課后作業(yè)成績、實驗報告和參與度等;實驗成績(20%)主要通過實驗報告和實驗結(jié)果評價。實驗包含個人單獨完成的實驗、小組整體項目實驗、期末個人綜合實驗;期末考試(50%)主要考查學(xué)生對C語言基本知識的理解和應(yīng)用能力。
總體來說,改革后的考核方式更加注重培養(yǎng)學(xué)生的編程思維能力和動手能力,有助于提高學(xué)生的邏輯思維能力和搭建項目框架的全局架構(gòu)能力,從而為學(xué)生后續(xù)開展專業(yè)知識的學(xué)習(xí)和應(yīng)用打下良好的基礎(chǔ)。
四、結(jié)束語
通過對實際教學(xué)成果的分析,調(diào)整課程設(shè)置、課程內(nèi)容,對藏族學(xué)生采取一對一或者小組幫扶的方式,增加電氣自動化專業(yè)相關(guān)案例、優(yōu)化考核方式后,學(xué)生學(xué)習(xí)該課程的興趣更加濃厚,課堂效率更高。根據(jù)該校新工科建設(shè)的基本要求,并結(jié)合電氣自動化專業(yè)的發(fā)展方向,增加了實驗課時占比,同時,實驗課程設(shè)置從傳統(tǒng)的課本案例驗證向綜合性實驗轉(zhuǎn)變。通過此轉(zhuǎn)變,學(xué)生的學(xué)習(xí)積極性和課堂參與度大大提升,其編程能力、解決實際問題的能力和創(chuàng)新意識得到大幅度提高,邏輯思維能力和綜合素質(zhì)也有了質(zhì)的飛躍,為今后學(xué)習(xí)專業(yè)課程打下了堅實而良好的基礎(chǔ)。
作者單位:雷向玲 西藏農(nóng)牧學(xué)院
參考文獻(xiàn)
[1]劉志雄,彭赟,王波.電氣專業(yè)本科生計算機(jī)編程類課程開設(shè)研究[J].中國電力教育,2021,(08):50-52.
[2]https://www.hangge.com/blog/cache/detail_3380.html.
[3]王劍峰,馬濤,劉浪.C語言程序設(shè)計教程.航空工業(yè)出版社.2021.4.
[4]張鵬龍.電氣工程中的C語言課程教學(xué)實踐[J].電子技術(shù),2023,52(3):182-183.
[5]曹雪能,吳雪,周鮮鮮,等.混合式教學(xué)模式下C語言課程的教學(xué)改革實踐探究[J].電腦知識與技術(shù),2023,19(17):43-46.
[6]楊琦,張曉月,韓鑫.C程序設(shè)計課程案例教學(xué)內(nèi)容研究與實踐[J].高教學(xué)刊, 2023,9(12):112-115.
[7]江建,肖運昌.工程教育認(rèn)證背景下“C語言程序設(shè)計”教學(xué)改革研究[J].長沙航空職業(yè)技術(shù)學(xué)院學(xué)報,2023,23(01):55-59.