關(guān)鍵詞:C語言程序設計;教學改革;案例;線上線下混合式
中圖法分類號:TP312 文獻標識碼:A
1引言
科學技術(shù)日新月異,通信已經(jīng)從2G,3G,4G發(fā)展到如今的SG,技術(shù)的每次變革都離不開科研工作者的辛勤付出。C語言作為高級語言,在計算機技術(shù)應用中占據(jù)著非常重要的地位,同時成了其他高級計算機語言的基礎(chǔ)?!癈語言程序設計”在計算機相關(guān)專業(yè)教學中已成為必修課程,是學習其他計算機相關(guān)技術(shù)的基礎(chǔ)課程。C語言適于模塊化程序設計并可以直接操作計算機內(nèi)存。C語言的學習,可以為計算機相關(guān)專業(yè)的后續(xù)專業(yè)課教學奠定堅實的基礎(chǔ)。C語言程序設計技術(shù)廣泛應用于底層開發(fā),對學生的實踐能力、軟件編程能力有著很高的要求。傳統(tǒng)的教學方式是按照章節(jié)系統(tǒng)的學習,對于重要的知識點引入1~2個習題練習。這種教學方式導致學生學的知識點比較細碎,不能很好地建立相關(guān)的知識體系。本文提出將案例貫穿教學的整個過程,積極探索線上線下新的教學改革模式,從教學效果、考核結(jié)果等方面綜合衡量,并通過改變“C語言程序設計”課程的教學方式,達到優(yōu)化教學質(zhì)量的目標。
2引入案例的課堂教學內(nèi)容設計
首次進入“C語言程序設計”課程教學課堂,教師應暫且不講課本上的知識,而是引導學生明白學習C語言之后可以做什么?把往屆學生用C語言做的優(yōu)秀作品展示給學生,不僅使學生明確學習C語言的目標,還要讓學生被優(yōu)秀作品吸引,激發(fā)他們今后認真學習“C語言程序設計”課程的動力。同時,教師每次講新課前,用五分鐘時間把上節(jié)課所學的重要知識點羅列出來,帶領(lǐng)學生鞏固復習。
教師講授具體的知識時盡量引入一些可以吸引學生的“趣味故事”。例如,對數(shù)據(jù)類型與運算符章節(jié)知識引入“有容乃大”,講解sizeof運算符時借助“偷天換日”引入交換兩個變量的值,對數(shù)字的各位分解時可以引入“從頭到尾”故事。將趣味故事引入課堂教學中,能夠提高學生對知識學習的興趣,減少單純教學知識講解的枯燥感,進而加深學生對課堂知識的記憶。
自動販賣機是大家在日常生活中經(jīng)常見到和使用的一種售賣機器,以自動販賣機的運行原理為例子,通過編程模擬一種新的飲料自動販賣機,包含可樂、綠茶、咖啡等,結(jié)合C語言中的if else語句來實現(xiàn)。接下來,還可以在自動售賣機里添加紅茶、牛奶、巧克力等,再用if else語句實現(xiàn)上述功能,通過編程會發(fā)現(xiàn)當有過多的選擇時用if else語句也能實現(xiàn),但是步驟非常煩瑣,如果程序有錯誤還不太容易發(fā)現(xiàn)。于是,引入接下來要學習的知識點switch條件語句,會發(fā)現(xiàn)在選擇比較多的情況下用switch更合適,從而促進學生深入體會。
學習隨機數(shù)時引入小時候玩擲骰子的游戲,篩子占據(jù)了童年記憶的一部分,它雖然小,但是作用大。先引入骰子,進而重點講解隨機數(shù)的知識。學習循環(huán)的嵌套知識點時,教師先給學生展示小學學過的9*9乘法表,有行和列才可以定出乘法表,接下來,通過雙層循環(huán)并結(jié)合printf()輸出函數(shù)輸出一些好看的圖形展示給學生,自然而然地引入循環(huán)嵌套的外層循環(huán)和內(nèi)層循環(huán)的含義。
在實際生活和工作中可以發(fā)現(xiàn),一維數(shù)組計算有時不能滿足計算需求,比如一個包含6人的學習小組,其中每人需要考試兩門課程,在成績統(tǒng)計和分析中若僅采用一維數(shù)組計算會比較繁雜,這時便可以引入二維數(shù)組計算方式,使用魔方陣(在古代又稱為“縱橫圖”),即由自然數(shù)組成的方陣,激發(fā)學生對二維數(shù)組的學習興趣。
講解結(jié)構(gòu)體時可以引入學生信息管理系統(tǒng),統(tǒng)計學生的姓名、性別、角色以及對應教室等相關(guān)信息,同時將教師的姓名、性別、職稱、所在學院等信息同步統(tǒng)計到系統(tǒng)中,讓學生意識到所學的知識點在實際生活中是非常有用的。
例如,對于數(shù)據(jù)結(jié)構(gòu)設計知識,學生要做一個學生成績管理系統(tǒng),要求結(jié)構(gòu)體變量有五個成員,通過對結(jié)構(gòu)體知識的學習,大多數(shù)學生會掌握其概念和基本用法,下面需要加強對其知識點的應用,通過一個較大的綜合實例強化對這個知識點的理解。在模擬一個學生成績管理系統(tǒng)教學過程中,根據(jù)實際情況,要開發(fā)的系統(tǒng)需要具備以下功能。
(1)添加學生個人信息:學院、學號、身份證號、性別、年齡、家庭住址、宿舍號、各科目成績、成績排名等。
(2)顯示學生信息,可以將學生的相關(guān)信息顯示出來。
(3)修改學生信息,如果學生的信息有誤,需要添加一個修改功能,以便及時修改。
(4)刪除學生信息,如果系統(tǒng)中學生的個人信息重復或有學生輟學,需要增設刪除功能。
(5)查找學生信息,可以按照學生的姓名或者其他個人信息快速查找。
(6)根據(jù)需要增設可以按照學號、年齡、成績升序或者降序的排列方式。
可以用流程圖的形式展示要實現(xiàn)的功能及流程,如圖1所示。
這可以使學生明白所學的知識用在什么地方,讓學生感受到所學知識在實際生活中處處存在。
當前,理論與實踐相結(jié)合的教學方式越來越受到推崇,案例式教學就是其中一種。這種教學方式以學生為中心,通過案例講學最大限度提升學生對知識的接受程度。在C語言課程項目改革過程中就采用了這一教學方式,將理論應用于實踐,以實踐的方式執(zhí)行學習任務,學生在進行項目操作過程中,可以根據(jù)實踐發(fā)現(xiàn)并提出自己的新觀點,進而提高學生的自主學習性,增強學習興趣。
3“線上+線下”混合式教學
自2020年初疫情出現(xiàn)以來,高校均采用過“線上+線下”的授課形式?!癈語言程序設計”課程的知識點多、邏輯復雜、語法比較靈活,如果不能系統(tǒng)性地打好基礎(chǔ),很難學好這門課程。所以,有必要將“C語言程序設計”建設為一門線上線下混合式教學的課程。學生通過超星學習通完成課前預習,教師再進行課堂授課,最后通過超星學習通布置隨堂作業(yè),加深學生對知識點的理解與應用。
在超星學習通建課時,把“C語言程序設計”課程劃分為60多個知識點,課程組的教師通過協(xié)同分工以知識點的形式錄課?;诖耍环矫鎸W生在課堂上對某個知識點有疑惑時可以直接在學習通上找到該知識點重新學習。另一方面學生可以明確“C語言程序設計”課程到底需要掌握多少知識和哪些知識點。
針對有疫情時的授課方式,按照學校的安排給學生上線下課。教師在超星學習通建立在線課程平臺,該平臺有知識點視頻、講稿、教案,并定期在學習通發(fā)布討論環(huán)節(jié)和課后作業(yè)。學習流程如圖2所示。
4學科應用
創(chuàng)新創(chuàng)業(yè)競賽是當前眾多院校經(jīng)常采用的一種競賽方式,本?;凇耙再惔賹W、以賽促教、以賽促改”的教學理念開展創(chuàng)新創(chuàng)業(yè)競賽活動,將“C語言程序設計”課程作為許多電子信息、計算機學科競賽的基礎(chǔ)。根據(jù)學科競賽的要求,學生可以在備賽和參賽過程中經(jīng)過一系列的培訓和磨煉,使學生在學習“C語言程序設計”課程后提高在實際賽項中的應用能力。通過競賽還能夠不斷增強學生的實踐操作能力以及創(chuàng)新能力,以及提升學生的團隊協(xié)作能力。而且,針對學生遇到的問題,今后教師可以在“C語言程序設計”課程教學中給全體學生講授。
高校、行業(yè)、產(chǎn)業(yè)的相互融合是一種提升人才培養(yǎng)效果的有效方式,通過“C語言程序設計”課程教學改革,能夠不斷提升人才培養(yǎng)質(zhì)量,進而完善高校人才培養(yǎng)機制,提升教學水平。將行業(yè)需求更加深入地滲透到課程設計中,不斷更新教學案例設計,提升學生學習“C語言程序設計”課程的興趣和培養(yǎng)學生的創(chuàng)新能力,打造具有特色的相關(guān)課程。
5評價體系
考試成績是評價學生綜合學習效果的手段,應改革過去的分數(shù)結(jié)構(gòu)體系,即平時成績占期末總分數(shù)的40%,期末成績占期末總分數(shù)的60%。這樣的考核方式比較單一,雖然教師比較容易給出成績,但是考核并不全面。為了使學生能夠重視“C語言程序設計”課程的編程學習,并培養(yǎng)學生的創(chuàng)新能力和創(chuàng)新意識,需要教師提前備課,在課堂中給學生引入前沿科技,并增設課堂討論環(huán)節(jié),借助APP、“雨課堂”等軟件和平臺進行課堂提問,學生在課堂教學中對綜合性問題以小組形式進行探討。教師對學生討論的實際情況做出反饋評價,并作為期末成績的15%,這改變了傳統(tǒng)的灌輸式教學方法。鼓勵學生在已有的C語言軟件編程基礎(chǔ)上進行改進、創(chuàng)新,根據(jù)學生的創(chuàng)新情況給定分數(shù)并作為期末成績的一部分,占期末成績的5%。平時學生在動手編程時,教師根據(jù)學生編寫程序的能力及作業(yè)給出平時成績,占期末成績的20%。最后,期末考試成績占總成績的60%,綜合各項成績的權(quán)重得出最終期末成績。這樣才能夠全面考核學生對“C語言程序設計”課程的掌握情況。
作者簡介:
楊德青(1991—),碩士,助教,研究方向:智能算法。