胡偉
摘要:在高職物聯網應用技術專業體系中,C語言是核心基礎課程,該課程的學習直接影響后續專業課程的學習。為了提高C語言課程的教學質量、激發學生的學習興趣和熱情及為后續專業課程打下堅固的基礎,在課程的教學中采用基于案例教學法的線上線下混合式教學,通過線上學習掌握基本概念及語法,線下通過案例教學鍛煉學生的分析能力、編程能力及解決問題的能力。
關鍵詞:案例教學法;線上線下混合式教學;教學質量;C語言
中圖分類號:G642? ? ? 文獻標識碼:A
文章編號:1009-3044(2023)13-0137-03
開放科學(資源服務)標識碼(OSID)
0 引言
近年,國務院印發了《國務院關于印發國家職業教育改革實施方案的通知》文件,文件中把職業教育擺在了教育改革創新和經濟社會發展中更加突出的位置,明確提及職業教育的教育質量、實踐性課程數量等問題。C語言是高職教育中物聯網應用技術專業的專業基礎課,是單片機原理與應用、傳感網應用開發等課程的前導課程。該課程是一門實踐性很強的課程,既要掌握基礎概念和語法,又要提高編程及程序調試能力[1]。為了響應國家號召,結合C語言程序課程的特點,采用基于案例教學法的線上線下混合式教學模式進行教學[2]。混合式教學是把傳統教學方式和線上教學方式進行有機融合,通過線上教學來拓展傳統教學的時間和空間,使得線下教學時,教師有充足的時間培養學生的計算機思維及編程能力。該教學模式可有效地解決課程授課內容繁多、授課課時有限的問題[3]。
1 教學現狀
C語言課程是物聯網應用技術專業學生接觸的第一門編程語言,其語法規則多、內容抽象,需要學生轉變思維方式,以計算機思維去思考問題和解決問題。初學者學習時會遇到很多問題,如上機時會遇到很多編譯錯誤,使學生備受打擊;在語法規則這塊,要記得知識也很多,學生也容易犯錯。面對這些問題,很容易降低學生學習的熱情和積極性[4]。傳統的教學,教師會在課堂上花費大量的時間進行語法規則的講解,這樣會導致教師忽略學生編程思維和能力的培養,因為C語言課程安排的課時是有限的。
為了打破傳統教學的弊端,在有限的課時內提高學生的編程能力,需要采用線上線下混合式教學方法,教師可以利用慕課資源或者自己錄制的視頻講解基本概念和語法規則,學生觀看視頻自學語法規則,然后再完成教師布置的配套練習題來測試是否掌握語法規則。本課程的線上平臺已經在學銀在線穩定運行四期,如圖1所示。在線下教學中,教師可將學生自學中碰到的語法難點進行講解,不再花大量時間講解語法,而是采用案例教學法,讓學生課堂上完成具體的案例來培養學生的編程思維和能力,在案例中深入理解C語言編程的魅力,提高學生的學習興趣[5]。
2 混合式教學的應用
以C語言程序設計課程中循環結構的知識為例,重點講述如何實施基于案例教學法的線上線下混合式教學,在該章節中選擇具有趣味性的《猜數字游戲》和《兒童算數題測試軟件》作為循環知識點的案例,這兩個案例非常相似,都用到了隨機數及循環的知識點,并且后者是在前者的基礎上進行拓展的案例,更具有一定的難度。通過線上教學,讓學生在課前完成《猜數字游戲》案例,課中師生共同完成《兒童算數題測試軟件》案例。下面進一步介紹混合式教學的實施步驟。
2.1 線上教學
步驟1:發布課前復習任務
通過【課前復習】任務促使學生復習兩個項目中需要用到的分支語句知識點,摸清楚學生對分支語句知識點的掌握情況,針對性地鞏固學生薄弱的知識點。
教師利用在線平臺布置【課前復習】測試題,學生可在網絡教學平臺上完成教師布置的任務,鞏固所學知識點。
步驟2:發布新知識學習任務
教師把案例中的知識點進行拆分,錄制循環知識的微課,制定與微課知識點配套的測試題,通過在網絡教學平臺上發布【視頻】及【預習自測】,要求學生在完成任務的過程中將遇到的問題通過發布到網絡平臺的討論區、QQ群等方式進行集中討論及解惑,幫助學生完成線上學習。
通過線上教學的方式引導學生自主探究、拓展了學生的學習實踐、增強學生的自學能力,通過線上教學解決教學過程中學生個體的個性化、差異化問題。
步驟3:發布小組任務
教師發布【小組任務】,要求各個小組根據自學知識點,完成《猜數字游戲》案例。學生完成知識點的學習后,小組合作探究完成任務。該任務是對自學零散的知識點的綜合運用,重點培養學生小組探索能力及解決問題的能力,可增強學生之間的交流,提高團隊協作能力。
2.2 線下教學
課堂導入:通過演示《兒童算數題測試軟件》的功能,導入本堂課的學習目標和學習任務,以生活中的案例引導學生學習。
任務一:知識回顧及新課導入
步驟1:展示各個小組課前完成的《猜數字游戲》,導入學習重點:循環地使用。
在展示游戲的過程中,教師查看各個小組程序設計完成的情況、小組在程序設計時遇到的難題及解決方法,根據學生展示的情況,教師作出多元化的評價。對于完成全部功能的小組,評為“優秀”;對于完成部分功能,程序存在問題的,評為“良好”;對于完全沒有實現效果的小組,給予鼓勵。教師通過后續循環知識的重點講解,幫助學生完成該程序。
步驟2:通過線上教學平臺中的【預習自測】模塊中統計題目錯誤量功能的結果,將答題錯誤率比較多的題目進行重點講解,錯誤出現較少的題目略微提及知識點,讓學生課后再進行鞏固復習。根據網絡平臺上討論區中學生討論的問題進行答疑,為學生解決困惑。
步驟3:通過教師PPT動畫演示循環的過程,幫助學生理解循環的執行過程,掌握本堂課的重點內容,如圖2所示。教師把課前布置的《猜數字游戲》的重點代碼進行分析和講解,鞏固知識點的用法,如圖3所示。教師講授結束后,給各個小組的學生留有一定的思考時間,讓他們完善或者完成《猜數字游戲》代碼。
任務二:教學難點分析及項目實現
根據《猜數字游戲》案例,導入《兒童算數題測試軟件》案例,《猜數字游戲》僅涉及1個隨機數,并且配合循環語句和分支語句實現猜測系統產生的隨機數。而《兒童算數題測試軟件》涉及兩個隨機數,并且算術題涉及四種運算符號,這里的難點是系統怎么隨機生成這四種運算符,此時,教師可引導學生巧妙地使用隨機數來和四種運算符一一對應。學生通過自主探究、小組討論來完成程序的編寫,在編寫過程中遇到問題可隨時問老師。
步驟1:對《兒童算數題測試軟件》進行功能分解,先讓學生進行知識的遷移,對《猜數字游戲》的程序進行修改,完成《兒童算數題測試軟件》的基礎功能,即先實現系統隨機出5道加法算術題的功能。導入課程學習難點:如何靈活使用循環和隨機數完成基礎功能,具體的實現效果如圖4所示。
環節設計:
1) 學生分組討論如何修改《猜數字游戲》的代碼,將知識遷移到新的案例中。
2) 討論結束后,小組成員實現《兒童算數題測試軟件》的基礎功能。
3) 小組成員完成程序設計的過程中,教師進行個性化指導。
4) 小組設計完成后,每個小組派代表演示基礎功能,保證每個小組都能實現該功能。
步驟2:在實現基礎功能的基礎上,修改測試軟件的出題數量,只要用戶不退出程序,就可以一直答題,直到用戶退出時,統計用戶答對的題目數量及答題的正確率。學習難點:死循環及關鍵字break的用法。教師可以教授死循環的知識,引導學生編程實現該功能。
步驟3:在以上只能實現加法算術功能的基礎上,再添加減法、乘法、除法算術功能。學習難點:系統如何隨機生成加、減、乘、除四種運算符,先讓學生思考如何實現,然后教師引導和隨機數產生對應關系。學生修改調試程序。
步驟4:各小組演示自己設計的程序功能,并介紹編程過程中發現的問題及解決方法,總結經驗。
任務三:項目測試
為了驗證學生的程序是否考慮全面,需要對程序進行測試。
步驟1:教師設計若干測試樣例,各小組根據樣例全面測試各自程序,解決測試過程中出現的問題。
步驟2:測試完成后,請各個組的組長提交項目作業。
任務四:程序驗收考核
根據《兒童算數題測試軟件》的評分標準,對各小組的程序進行打分考核。每個小組提交小組程序,由教師評分、小組互評來計算每個小組成績,由學習平臺數據計算出每個學生的個人成績,最終根據評分,選出最佳小組和最佳個人。通過考核來提高學生的積極性、滿足學生的成就感。
2.3 課后拓展
通過布置課后的拓展任務,加強學生對各知識點的掌握。并發布預習任務,提前了解下節課的內容。【課后任務】:給《兒童算數題測試軟件》添加測試難度等級,分別設置初級、中級、高級,實現用戶多樣化需求,發布新的復習及預習任務。學生實現課后任務要求的功能后,把小組最終項目程序提交到線上平臺,并完成新項目的預習任務。
2.4 學習評價
本課程采用線上線下混合式教學,通過網絡教學平臺,采用視頻、測試題、小組編程任務等多種任務引導學生完成線上學習;在線下課堂中,采用案例教學法,選取具有趣味性的案例《兒童算數題測試軟件》作為循環知識點的案例,對任務進行分解,難度逐步提升,把復雜問題簡單化,化解了教學難點。有利于提高學生的學習興趣、激發學生的學習熱情、培養學生的探究能力及團隊合作能力;實施混合式教學模式后,學生學習的效果得到了顯著提高。
3 結束語
職業院校的目標是培養技能型人才,而C語言課程就是重在培養學生的動手編程能力,不能讓學生在死記硬背語法規則中失去學習的樂趣。在這一年的教學改革中,通過案例教學,學生明白了C語言的用途并能夠用C語言來解決一些生活中的問題。采用混合式教學模式授課,教學效果得到了顯著改善,學生的學習積極性得到很大的提高。在今后的教學中,筆者將不斷深入教學研究,探尋更好的授課方式,力求為國家培養出優秀的技能型人才。
參考文獻:
[1] 陳叢.C語言程序設計課程的案例教學法[J].福建電腦,2020,36(3):84-86.
[2] 田新宇,黃軍,陳克林.新時代線上線下混合式教學模式在C語言課程中的應用研究[J].計算機產品與流通,2020(11):216,230.
[3] 朱小艷,劉俊男.線上線下混合式教學模式在C語言課程中的應用[J].信息與電腦,2019(24):250-251.
[4] 高爽,賈麗娟.“C語言程序設計”線上線下精品課程探索與實踐[J].黑龍江教育(高教研究與評估),2020(7):45-46.
[5] 袁玉英,羅永剛.C語言教學方法探討[J].電腦知識與技術,2019,15(33):136-137.
【通聯編輯:謝媛媛】