張寒冰


摘要:在各大高校的課程編排中,C語言程序設計是計算機類及相關專業的必修課程之一,該種編程方法具有嚴格的語法規范,高校將其作為相關專業學生必須掌握的一項基礎語言,旨在培養學生的程序設計素養,但C語言的知識結構復雜,學習難度較大。近年來,我國人工智能領域取得重大突破,諸多智能技術被廣泛應用于高校的教育教學中,有利于提高教學效率和質量。本文圍繞C語言程序設計的內容、流程等,分析其智能化改革措施。
關鍵詞:C語言程序設計;教育教學;計算機專業;教學改革;改革策略
中圖分類號:TP3? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)02-0091-02
在信息時代,計算機類專業越發受到社會的重視,C語言程序設計是計算機類專業學生必修的一門基礎課程,該學科的教學目的在于,培養學生計算思維能力,并提高學生的程序設計實踐能力[1]。在人工智能迅速融入教育改革的現實背景下,如何將其應用于C語言程序設計的教學改革,以推動該學科教學效果的提高,促使教學從粗放型向智能型轉變。
1 C語言程序設計智能化教學改革的體系結構
針對C語言程序設計教學的智能化改革來說,其基本思想就是構建信息教育平臺以輔助課堂教學,可突破時間、空間障礙,促使學生隨時隨地通過互聯網完成課堂學習,包括課前預習、課堂反饋、作業完成及評判、綜合實訓實驗教學等多種功能模塊,該平臺以大量教學信息作為基礎數據集,不僅能對數據進行可視化分析,還能開展機器學習,進而實現全面、綜合的教學動態反饋,不斷提高C語言程序設計的教學效果。教學改革的體系結構見圖1。
C語言程序設計教學為實現智能化改革,在建立起信息化平臺的基礎上,還需對教學信息進行智能化分析,進而幫助教師開展課堂決策。信息平臺在運轉的過程中將產生大量的教學信息,而教師可應用這些教學信息,對學生的學習情況進行多層次、多緯度的挖掘、處理和分析,進而為教學反饋的動態性提供強勁支撐。
2 C語言程序設計智能化教學改革的措施
2.1 整合優質教學資源
為實現C語言的智能化教學改革,必須以教學資源的整合作為重要基礎內容,由于C語言的課程內容較為抽象、課程體系較為復雜,為提高學生的學習質量,要求學生在課堂教學前進行課程預習,并進行適當作業練習,以幫助學生初步了解新知識,在此基礎上再向學生獲取教學反饋,并組織學生進行實驗教學、實訓教學等,部分高校每年還舉辦各種程序設計競賽、程序設計活動等,而這一領域的省級競賽、國家級競賽也較多,學生進行實踐訓練的機會可以說,并不缺少,但是以上教學活動、競賽活動等開展的前提均是教學資源的有效支持,由此可見,在C語言教學的智能化改革中,設計教學資源的質量極為重要[2]-[4]。在這樣的現實背景下,教師可發揮課程小組的力量,以整合學生的思考力、想象力和實踐力等,組織學生以分工合作方式,對教學資源進行建設。將各種教學資源與授課計劃、教學大綱等進行對照可知,在設計教學資源的過程中,應當以課時作為基本單位,將課堂教學的知識點進行細化,分為識別記憶、理解應用等多個層次,在制作課前預習的教學資源時,就需納入識記、理解等知識內容,為學生初步了解C語言的相關概念、原理等提供便利;而在課堂教學過程中,教師應當注重對學生計算能力、思維能力的培養,可適當設計一些教學案例,采取案例驅動方式進行實際教學,以加強學生對于各個知識點的記憶和理解[5]。
以C語言程序設計中運算符和表達式的教學為例,教師就可設計一個自然語言轉化為計算機語言的表達案例,以案例教學模式給予學生豐富的學習體驗,鍛煉學生的思維能力。實際教學案例如下:自然語言設定為警察抓嫌疑犯的情境,假設警察抓住了4名嫌疑犯,分別為A、B、C、D,只有1名嫌疑犯是真正的罪犯,在審訊當中A說他不是罪犯,B說C是罪犯,C說D一定是罪犯,而D說C冤枉好人,已知條件為4名嫌疑人中3人所說均為真話,僅有1人所說為謊話,問誰是罪犯?這是一個具有較高難度的邏輯題,需要學生通過邏輯分析、對比分析等尋求答案,若將C語言設計應用于該題的解答中,就會簡化解題流程,為學生提供更為巧妙的解題思路,由此,教師將以上自然語言轉變為C語言,設定X取值分別為A、B、C、D,若y=3即找到正確答案,通過C語言編寫為char x;int y;y=(x<>‘A)+(x==‘C)+(x=‘D)+(x<>‘D);通過以上程序設計,學生就可輕松獲取答案,這樣不僅能夠激發學生的學習興趣,還能提高學生的學習效果[6-8]。
除此之外,在每次教學活動中教師應當制作相應的問題反饋表,將其與課件一同發布至教學平臺中,每一個問題反饋表均與每次課堂教學內容一一對應,通過對反饋表進行整理、分析,便于教師了解學生對于所學內容的掌握情況,以此為教師的課堂教學提供動態反饋,以支持教師持續改進自身工作。C語言課堂教學的反饋示例表見表1。
在作業練習環節中,教師應多引入程序設計題,準備大量的程序輸入輸出樣例,這樣就能夠通過系統的自動評判功能完成對作業的批閱,不僅能夠鍛煉學生的C語言編程能力,還能提高作業批閱的效率。對于C語言教學來說,實驗教學是重要組成部分,依據實驗教學大綱可知,實驗操作大致分為三種類型, 即綜合性、設計性和驗證性,以這三種基本類型對實驗運動表進行設計,對實驗指導手冊進行編寫,可提高實驗教學的準確性。綜合實訓指的就是,在完成了C語言的全部教學內容之后,用以提高學生理論應用于實際能力的實踐項目,要求學生以團隊形式開展模塊化設計,通過組內交流、合作等共同完成項目。程序設計競賽活動是選拔和培養專業設計人員的重要途徑之一,在創建C語言設計競賽的試題庫時,可依據實際項目的難易級別進行分類,促使學生分級別、分層次完成練習,進而提高教學目標的達成度,彌補C語言程序設計傳統教學模式的薄弱環節[9]。
2.2 構建信息化教學平臺
實施C語言智能化教學改革的前提就是構建信息化教學平臺,進而為智能化教學改革提供基礎數據,用以數據挖掘、分析和整理等,同時也可用于持續改進決策。對于C語言信息化教學平臺來說,在線評判系統(OJ)是其核心模塊之一,現階段我國各大高校所構建的信息化平臺中已有較為穩定的OJ系統。為更好開展C語言教學的智能化改革,需在OJ系統的基礎上積極拓展其他模塊,如“課堂反饋”“課前預習”等功能模塊,用以信息的發布、管理,在原有OJ系統的基礎上進行開發和拓展,實現難度較小。程序設計競賽、實驗教學和綜合實訓等教學模塊可于OJ系統中完成,通過對OJ系統的拓展和開發,即可構建出C語言信息化教學平臺。在C語言教學的智能化改革過程中,C語言信息化平臺是一個非常重要的實踐陣地,將優質教學資源發布至信息平臺上,將在很大程度上提升C語言的信息化教學水平,學生可通過互聯網隨時隨地登錄系統,將信息平臺靈活應用,進而提高學生的學習效率和質量。OJ系統可對學生所完成作業進行自動評判,實驗教學欄目則具有詳細的實驗指導方法、手冊等,便于學生翻閱、了解,同時OJ系統還可對學生所編寫程序的正確性進行判斷,并生成詳細的學習記錄,便于教師隨時掌握學生的學習情況[10]。
2.3 引入智能化教學分析與決策
建設C語言信息化教學平臺,不僅能夠積累大量的教學信息,將其轉化為教學資源,還能極大程度提高教學信息化、智能化水平。對教學進行分析和總結,是優化課堂教學的一個有效途徑,C語言教學的智能化改革,將推動國家工程教育專業認證倡導的先進理念發展和推廣。對于各大高校來說,教學C語言程序設計課程的教師大多具有較高的專業水平,很多教師除教學工作外,還從事著數據挖掘、人工智能和大數據等領域的研究工作,這也為C語言教學的智能化改革創造了有利條件,同時也體現出科研與教學的相互促進作用。對于C語言教學的智能化改革來說,其所需完成的主要任務就是,教學分析與教學決策,C語言信息化教學平臺在其運行過程中,將產生大量教學數據,這部分數據所涉及的范圍較廣,可全面反映學生的學習情況、效果等。在人工智能應用領域,最為常用的一種編程語言就是Python,其中所涉及的諸多模塊,如pandas、numpy、matplotlib等均發揮出了數據分析、處理、建模等強大功能。應用教學分析可幫助教師了解學生是否完成課前預習、是否提交作業以及作業完成的質量高低等,還可對學生作業完成是否出現抄襲進行判斷[11]。在綜合實訓模塊當中,其所用到的數據分析功能,旨在反映學生的思維能力和實踐能力,程序設計競賽的排名通國際情況,可應用于選拔ACM程序設計競賽的選手。智能化的教學分析,可幫助教師及時發現課堂教學當中存在的盲點和不足,并將分析結果同時推送給教師和學生,有利于師生溝通、交流等。Python語言中的sklearn模塊具有較為強大的機器學習算法功能,其訓練集內容是教學歷史數據,依據該訓練集可構建出科學決策的計算模型,例如采取機器學習算法綜合學生多方面表現,可計算出學生的實驗成績、平時成績等,幫助教師做出更為合理的教學評價,同時,依據學生在信息化平臺上進行學習的綜合表現,可對學生的期末成績進行預測,并依據學生的作業完成情況,分析學生的薄弱點所在。由此可見,人工智能技術應用于C語言程序設計教學改革中,將為該學科的教育教學注入新的思想理念,并為教學持續改進提供強大驅動力。
3 結語
C語言程序設計教學的智能化改革是傳統教學與人工智能技術的有效融合,通過引入新的教學工具、教學方法等,促使該課程的教育教學由粗放型轉變為智能型,其主要內容包括建設教學資源、構建信息化教學平臺等,可實現智能化教學分析、教學決策等,促使各大高校為社會培養出更多的C語言專業型人才。
參考文獻:
[1] 賈曉琪,閆俊伢.基于對分課堂的《C語言程序設計》課程實踐教學改革研究[J]. 辦公自動化,2019,24(24):30-31,40.
[2] 羅穎,張超,楊秋菊.基于超星學習通的智慧課堂教學模式研究——以《C語言程序設計》課程為例[J].才智,2020(2):154.
[3] 張翠平,趙暉.基于“學習成果導向”理念的教學研究——以C語言程序設計課程為例[J].計算機教育,2020(3):153-156,161.
[4] 郝海妍.基于SPOC的混合教學模式在高職《C語言程序設計》教學中的應用探索[J].教育現代化,2020,7(33):148-151.
[5] 李文芳.智慧學習環境下中職生學習動力激發策略——以《C語言程序設計》課程教學為例[J].通訊世界,2018,25(12):283-284.
[6] 王貴玲,李國斌.基于微課的混合教學模式在繼續教育教學中的應用研究——以“C語言程序設計”為例[J].無線互聯科技,2018,15(22):95-97.
[7] 張俊友,王凡予,王樹鳳. 數學建模思想在交通工程“C語言程序設計”教學改革中的應用[J].黑龍江教育(高教研究與評估),2018(12):15-17.
[8] 朱衛東,喬良才,喬舒云.基于超星慕課平臺下課堂教學環節重構的研究——以C語言設計教學為例[J].電腦知識與技術,2018,14(3):160-161.
[9] 童威,黃啟萍.精品課程網站建設方案及對教學的思考——以C語言程序設計課程為例[J].安徽電氣工程職業技術學院學報,2018,23(4):107-110.
[10] 張延亮,康國棟,周清平.工程教育認證標準視角下軟件工程專業課程教學改革探索與實踐——以“C語言程序設計基礎”課程為例[J].煤炭高等教育,2018,36(5):117-121.
[11] 劉長琦.高職院校計算機程序設計類課程教學改革——以朝陽師范高等專科學校為例[J].遼寧師專學報(自然科學版),2018,20(4):52-54,60.
【通聯編輯:張薇】