摘要:本文剖析了藝術(shù)專業(yè)C語言課程教學中存在的難點問題,并介紹了為解決這些問題所做出的一些教學設計和教學方法上的嘗試,主要以增加學生內(nèi)驅(qū)力為導向。從實踐數(shù)據(jù)看,新的方法取得了較好的效果。
關(guān)鍵詞:C語言;內(nèi)驅(qū)力;藝術(shù)專業(yè)
一、課程作用
計算機應用及人工智能技術(shù)的發(fā)展,正在使很多行業(yè)發(fā)生顛覆性的變化,進而促進了專業(yè)培養(yǎng)方案的修訂。我校藝術(shù)學院遵循行業(yè)和市場發(fā)展規(guī)律,不斷增加計算機類課程數(shù)量,形成了包含大學計算機基礎(chǔ)、程序設計語言、人工智能、軟件應用等多門課程的計算機通識教育體系,全面培養(yǎng)學生的計算思維能力和計算機應用能力。
C語言作為功能強大的經(jīng)典編程語言之一,兼具低級語言和高級語言的優(yōu)點,能幫助學生進一步理解計算機硬件結(jié)構(gòu),尤其是存儲系統(tǒng)結(jié)構(gòu);它提供多種數(shù)據(jù)構(gòu)造和靈活豐富的控制語句,能實現(xiàn)各種算法,也能為python等語言編寫庫文件,為學生的“奇思妙想”提供強有力支持;它面向過程,語法嚴謹,有利于充分鍛煉學生的邏輯思維能力。
作為藝術(shù)學院的程序設計入門課,課程在知識方面的目標主要是讓學生接觸到程序設計的基本概念和方法,為后續(xù)的網(wǎng)頁設計和Unity3D等課程打下基礎(chǔ)。除此之外,在能力方面,要求培養(yǎng)學生主動用程序去解決問題的意識,進一步掌握從各種問題中“抽絲剝繭”,把握主干流程的方法。
二、難點問題
C語言的學習對很多專業(yè)的學生來說都很困難,藝術(shù)學院的學生尤甚,其難點主要體現(xiàn)在以下幾個方面:
1.學習動力不足,未學先怕。藝術(shù)學院的學生數(shù)學基礎(chǔ)相對薄弱,對于工科課程存在天然的距離感。他們對于計算機程序缺乏了解,覺得自己邏輯思維不行,學不會。部分學生不能充分理解課程存在的意義,覺得與專業(yè)關(guān)聯(lián)不大,學習積極性較差。
2.語法細節(jié)多,學生難以保持良好的學習狀態(tài)。一方面,瑣碎繁雜的細節(jié)容易造成理論課堂的枯燥乏味,初學者應接不暇,顧此失彼,逐漸對學習喪失興趣。另一方面,上機實踐時程序錯誤多、調(diào)試排錯難,打擊了學生的學習信心。
3.課時偏少,導致實踐課多以模仿為主,學習難以深入。編程課是實踐性非常強的科目,要要進行大量的上機練習,但非計算機專業(yè)的學生,課時安排較少,多數(shù)時間用于驗證教材案例,同期相關(guān)聯(lián)的其它課程也不多,很少進行擴展內(nèi)容教學,難以在有限的教學時間內(nèi)讓學生透徹理解語法和算法。
4.實際應用相對較少,難以體現(xiàn)課程價值。與其它高級語言相比,C語言更靠近硬件底層,學生能編寫出來的“生動有趣”的內(nèi)容較少,付出的勞動不能立即“變現(xiàn)”,影響了學生的學習積極性,使其不愿花費課后的時間去主動學習。
為解決以上問題,課程組在教學設計和方法上,作了針對性的調(diào)整。
三、教學設計
課程選用高教出版社何欽銘主編的《C 語言程序設計》及其配套的實驗與習題指導作為教材。根據(jù)藝術(shù)生的實際水平和專業(yè)需求,將主要知識點劃分為5個模塊,共48個學時,如表1所示。
在教學過程中,以幾個貫穿多個章節(jié)的主要案例,如表2所示,來帶動相關(guān)知識點的學習,不斷加深學生對基本概念的理解,同時逐步完善語法細節(jié)。一個星號的案例做提示講解和作業(yè)分析,兩個星號的案例不在課堂講解,完全由學生自行完成。
課程考核弱化期末考試成績,強化平時考核。平時成績占比不低于百分之五十,其主要組成部分為日常測成績、小組成績和實踐成績。
四、教學方法
美國認知教育心理學家奧蘇貝爾認為,學習動機對于機械學習來說是非常重要的。編程語言中有各種符號指代,需要大量的練習,部分機械學習內(nèi)容難以避免,在這種情況下,只有充分激發(fā)學生內(nèi)驅(qū)力,才能將被動學的模式變?yōu)橹鲃訉W。赫爾的內(nèi)驅(qū)力理論認為,學習效果不光與內(nèi)驅(qū)力狀態(tài)有關(guān),還與習慣強度有關(guān)。所以教學過程中不僅要著力提高學生的學習熱情和學習效率,還要提供足夠的練習機會,加強其習慣強度。在教學實踐中,我們選用了以下的教學手段和方法。
1.原型法教學,層層深化。借鑒信息系統(tǒng)開發(fā)中的原型法概念,摒棄語法大而全的傳統(tǒng)教法,從第一堂課開始,就讓學生能寫出一個完整的程序,揭開編程的“神秘”面紗,打消學習的顧慮。在后續(xù)教學中,每一個章節(jié),都深化或完善前期的內(nèi)容,始終保持以“能運行起來”為核心。在此基礎(chǔ)上,為代碼添磚加瓦。從深度方向上,逐漸為代碼增加功能,完善程序的通用性、健壯性,建立更良好的用戶接口。從廣度方向上,引導學生思考,這件事件還能怎么解決,這個方法還能用來解決什么。
以“成績分析”這個程序為例,在整個教學過程會出現(xiàn)六次。在第一節(jié)課出現(xiàn)時,僅能輸入一個整數(shù)成績,將數(shù)字增加5分并回顯,在演示過程中,弱化main函數(shù)的意義,著重講解變量和運算符的概念,讓學生熟練掌握輸入和輸出整數(shù)的方法,能自己寫出代碼來。課后練習擴展到其它種類數(shù)據(jù)的輸入輸出方法。第二次出現(xiàn)于控制結(jié)構(gòu)模塊,要能判斷成績是否達標,以此講解分支結(jié)構(gòu)控制方法,課后擴展到處理非法成績。第三次出現(xiàn)時,要求輸入多位同學的成績,據(jù)此講解循環(huán)結(jié)構(gòu)控制方法,課后擴展到使用多種方法控制循環(huán)。第四次出現(xiàn)時,將成績判斷部分打包成函數(shù),再次回顧主函數(shù)和輸入輸出函數(shù)的語法。第五次出現(xiàn)于庫函數(shù)模塊,要求能利用math.h庫,完成一些方差等統(tǒng)計分析功能。第六次出現(xiàn)時,要求建立結(jié)構(gòu)體,每位同學可以輸入多門課成績。
這個例子貫穿整個教學環(huán)節(jié),最終形成一段較復雜,功能相對完善的代碼。這個逐步完善的過程,讓學生可以更清楚地了解各語句的作用,他們是否有替代品,為什么是最優(yōu)選擇。每次僅關(guān)注一個新知識點,同時不斷強化前期內(nèi)容,也有效降低了學習難度。
2.分組學習,共同進步。從目前的班級規(guī)模來看,用傳統(tǒng)的講授法,教師不可能做到因材施教、面面俱到。我們使用同伴教學法來促進學生的自主思考,增加團隊合作意識,也能更及時準確地收到信息回饋,有的放矢地解決個性化問題。根據(jù)座位布局,每四人分為一組,組長負責組內(nèi)答疑和向教師提問,人選由教師和學生共同確定。在課程進行到第三周時,教師綜合日常成績,差額提出組長人選,學生在人選范圍內(nèi)推舉組長,這樣可避免教師將交流和表達能力比較弱的學生指定為組長。每組組員隨機分配,以免特別熟悉的同學主動扎堆,組長礙于情面,放任惰性強的學生。小組座位相對固定,每節(jié)課給出小組學習時間,討論課堂重點,完成教師布置的小任務。每四周進行一次小組測試,從每組隨機抽取一位同學的答題成績做為整個小組的成績,計入課程最終的總評成績,以此激勵大家互相督促。
3.充分利用手機、平板等工具。受限于硬件條件和同伴教學的設計,課程無法全程在機房進行,但在教室里光聽不練,也影響學生對語法的理解,不能及時找準沒有聽懂的問題點。得益于手機等移動式智能設備的普及,我們用手機和平板解決了這個矛盾。在小組討論出階段性結(jié)果時,可以利用c4droid之類的手機app來驗證想法。同時,利用超星等網(wǎng)教平臺,將一些設計性比較強的作業(yè)設置為學生互相評分并寫評語,得分最高的在學習群內(nèi)展示。這種方式利用了學生的好勝心來進一步提高學習內(nèi)驅(qū)力。
4.重點分解,碎片化學習。由于課時緊、內(nèi)容多,引入課外學習成為必然選擇。在預習部分,可選擇一些優(yōu)秀的網(wǎng)課小視頻,通常不超過十分鐘,整合推薦給學生,使其能充分利用較短的零散時間,集中精神專攻一個知識點,日積月累,形成規(guī)模。課中借助網(wǎng)課平臺,進行多種形式的小測驗。課后主要利用PTA網(wǎng)站,提供習題集和自動批閱的手段。這一部分的學習效果,以平時成績中的日常測來檢驗,包括入門測、課間測和出門測,每節(jié)課時間累計不超過二十分鐘。
五、結(jié)語
我們在同年級的兩個班分別應用兩種方式教學。一個班采用傳統(tǒng)的方式,理論課主要由教師講,實踐課學生按教材練。一個班綜合采用本文提到的幾種教學方法。為了檢驗新方法的教學效果,期末采用了兩種方法來進行測試,一種是傳統(tǒng)的閉卷筆試,一種是含5道編程題的上機測試。采用了新方法的班級,卷面平均成績比采用傳統(tǒng)方法的班級高出3.7分,標準差減小1.1,上機成績高出24分。從測試成績上看,新的方法優(yōu)于傳統(tǒng)方法,尤其在實踐方面,效果提升明顯。
整套教學環(huán)節(jié)的執(zhí)行節(jié)奏很快,教師和學生都要付出相當多的時間和精力才能完成任務。從匿名收集的學生評教數(shù)據(jù)來看,總體接受度較高。接近一半的學生留下了評語,認為課程學習得雖然辛苦,但是收獲很大,每天都能看到自己的進步,每節(jié)課都在“痛并快樂著”。部分學生表示對編程很感興趣,希望有進一步的學習機會。
對于初次接觸編程的藝術(shù)學院學生來說,這套學習方案可以起到較好的承前啟后的作用。既鞏固了大學計算機基礎(chǔ)課中的硬件和算法部分的知識,也為網(wǎng)頁設計、動畫制作課程中程序設計的部分奠定了良好的基礎(chǔ)。同時,讓學生對數(shù)據(jù)挖掘、計算機繪圖有了初步的認識,提升了他們學習和使用計算機的興趣和信心。
參考文獻:
[1]穆愛霞.國外訪學時所接觸到的“同伴教學”的實證研究.物理通報,2020(11)
[2]薛小鋒.翻轉(zhuǎn)課堂在 C 語言程序設計教學中的研究與實踐.信息與電腦,2020(17)
[3]符強,任風華.非計算機專業(yè)C語言教學方法研究.教育教學論壇,2020(14)
作者簡介:王婷,1979.8,女,漢族,籍貫:湖北,學歷:碩士研究生,就職單位+職稱:湖北經(jīng)濟學院講師,研究方向為:基于網(wǎng)絡的計算機應用技術(shù)。