摘要:《C語言程序設計》是計算機相關專業開設的核心專業課,是大學生學習程序設計的入門語言,對于培養學生編程思維,提高學生解決實際問題能力有重要的意義。針對當前教學過程存在的問題,從教學資源的選取、教學手段與教學方法、教學模式及課程考核方式等方面進行了分析和探索。
關鍵詞:C語言教學改革;編程思維
中圖分類號:G424 文獻標識碼:A
文章編號:1009-3044(2020)08-0153-02
1 概述
C語言程序設計是數據科學與大數據技術專業的一門重要的基礎課程,同時作為計算機專業學科的第一門基礎課,它對于訓練學生編程思維方式,培養耐心細致的學習方法,以及后續其他程序設計類課程的學習都有很重要的作用。在新時代、新時期的新工科背景下,C語言教學中出現了一定程度的落后和問題。本文通過存在問題的分析,找出解決問題的方法,從教學資源的選取、教學手段與教學方法、教學模式及課程考核方式等進行全面改革。所以,為了更好地配合我校數據科學與大數據技術專業的培養,從而提高同學們對C語言程序設計實驗課程的興趣,改進當前課堂教學的效果是迫切需要解決的問題。
2 教學中存在的問題
(1)理論教學過程單一
C語言的教學內容通常是按照教材章節的順序進行的。據我校大數據專業新生反映,他們的計算機專業基礎水平參差不齊,部分學生存在計算機基本操作問題。因此,書中的章節從變量與常量類型、命名規則、運算符與表達式、優先級等大量理論知識點人手,教學過程十分枯燥,書中突出了C語言的語法規則。教材中的題目與現實生活中的問題關系不大,容易使剛接觸編程的學生失去理智,產生一定的厭倦感。
(2)實踐教學方法單一
在重要的實踐教學環節中,知識點相對獨立,層次性和關聯性較弱,各章節內容關聯不緊密,缺乏全面的實踐內容。因此,在實踐教學結束后,學生對實際問題缺乏深入的認識,對所學知識不加總結,難以達到培養實踐能力和應用能力的要求。
(3)課程考核形式陳舊
本專業C語言課程的考核主要依據學生的期末考試成績、平時在計算機上的實際表現,以及在網絡教學平臺上提交作業情況。這樣的評價形式不能全面檢查學生在C語言課程各個階段的學習情況,不能反映學生日常的編程情況。
(4)程序設計理念培養不足
通常的教學模式是關注學生是否掌握了基本的理論知識和教材的編寫實踐。其中,課堂教學是學生獲取知識源的途徑之一。目前,學校教師采用的傳統的以自我為中心的“教師說學生聽”的教學方法普遍局限于PPT和板書。教學對象是基礎較差的大學新生。這樣,學生的學習興趣在課堂教學中慢慢下降,然后在課堂上睡覺。感覺和玩手機的現象不能保證教學效果。
3 教學改革方案
在實際的教學過程中,我們根據本校的數據科學與大數據技術專業人才培養方案,對教學資源整合、教學方法改進等方面進行改革。努力將C語言課程與相關專業課程進行整合,達到良好的教學效果。
(1)利用學生興趣并且結合專業知識吸引學生
在教學前,老師需要寫一個完整的教學計劃,因為我們的教學計劃是新生第一學期開設C語言程序設計課程,此時,學生對專業課還不了解,因此在教學過程中,教師有必要引導學生認知C語言在編程語言中的重要地位。在教學課堂中,教師需要通過生動有趣的學習案例,不但讓學生感覺到使教學內容不無趣,還可以來激發學生學習興趣,從而激發學生們的學習欲望。例如,學生在學習循環句時,可以通過九九乘法表、計算器、猴子吃桃等實例來保持較高的學習熱情。
(2)整合課程資源采用模塊化任務型教學法
針對C語言課程內容抽象復雜、難以理解的特點,教師在課程內容的選擇上采用知識模塊劃分的方法,以程序設計為主線貫穿其中。在課程教學的準備過程中,我們首先設計了幾個與模塊教學內容相一致、難度適中、相對完整的編程任務。模塊之間應該連接在系列主線內容和相應的培訓任務應該根據內容的難度設計避免任務太難或太簡單。這樣,每個層次的學生通過訓練都可以達到同等的訓練目標,而不是因為任務太過困難,導致差生失去學習的動力,也不會讓優等生失去鍛煉的意義。
(3)因材施教,轉變教師角色
對編程能力要求較高的專業,如數據科學與大數據技術等,則應注重指針和內存的分配。只有學好C語言課程,才能提高學生運用計算機技術解決本專業實際問題的能力。只有這樣,才能使該課程與專業課程緊密聯系起來。
(4)實驗教學環節
1)提前布置實驗課的任務
實驗課教學前,教師首先要讓學生明確實驗課的目的和要求、實驗內容和選定的內容,而且需要將這些內容提前共享到平臺上,使學生提前了解實驗課內容,提前做好準備。
2)合理設置實驗題目,培養學生的實驗能力
我們知道,實驗課是理論課程的擴展及延伸。首先,對教材的知識點進行驗證,這是理解、掌握和鞏固知識的必要條件。其次,實驗課應該充分發揮學生的主觀能動性。教師可以針對性做一些較強開放性和適用性的實驗內容的設計,讓學生培養他們獨立思考和解決實際問題的能力。
3)團隊學習方法受教學資源的限制
為了解決這一問題,我們在實際的教學過程中可以采用小組為單位的合作進行學習的方式,即小組教學模式。教師根據不同學生的特點,進行合理分組,使學生形成合作與競爭的機制。并且,每個小組設組長一名,做好小組成員的角色分工。在2018級數據科學與大數據技術1、2班、2019級數據科學與大數據技術1、2班,我們將同一組的學生坐在相鄰的座位上,小組成員相互溝通配合,完成指定的設計任務。這種教學方法不但能培養學生的自學能力,而且還可以增強學生的社交能力和語言表達能力。同時,教師也可以幫助學生及時解決問題。該方法突破了以往以個體學習為主的課堂教學模式,引入了合作學習機制,提出了以團隊為基礎的教學模式。
(5)改革考核辦法
在這門課程的評價中,采用任務驅動教學法的過程中,主要建立平時實驗過程考評(占30%)+出勤率(10%)+網絡教學平臺作業(20%)+期末考評(40%)相結合的方法,強調整個實驗過程考評的重要性。并且提出上機考試的方式,機考主要考查學生的編程能力和軟件熟練程度,可以采取程序修改、程序設計等形式,通過上述考核方法,大大調動了學生在計算機上調試程序的積極性,既重視了書本知識的掌握,又強調了專業技能和綜合素質的培養。
4 結束語
在C語言程序設計的教學中,實踐教學環節不應該僅僅依附于理論教學,如果教學是以項目為驅動,首先讓學生樹立面向工程的理念,其次,構建實踐與理論教學體系相輔相成、相對獨立的實踐教學體系,提高學生理論聯系實際、解決實際問題的綜合能力,然后將教學從單一的“結構化編程”轉變為“結構化和面向對象”。最后,特別是要培養學生良好的編碼風格,讓他們學會做什么,從而達到我們的教學目標。培養應用型本科人才是我們這種地方性高校的目的,積極探索科研成果融人教學內容和教學資源的科教結合也是數據科學與大數據專業發展的長效機制。
參考文獻:
[1]韓立毛,范新明,徐秀芳,應用型本科院校“程序設計基礎”課程的教學模式研究與實踐[J].計算機教育,2010(2): 128-131,143.
[2]王丹,王冬梅,基于CDIO理念的程序設計基礎教學研究[J].北華大學學報:社會科學版,2015,16(5):158-160.
[3]范興亮.C語言程序設計課程中的計算思維探析[J].無線互聯科技,2017(8):67-68.
[4]鄭冰,寧鵬飛,基于JiTT模式的C語言教學中計算思維的培養[J].計算機教育,2018(10):101-104.
[5]丁海燕,袁國武,周小兵,等.高級語言程序設計案例教學模式的探討[J].計算機教育,2011(8):65-68.
[6]謝輝,王栓強,曹靜,等.產教融合與校企合作的材料成型及控制工程專業人才培養模式探析與實踐[J].教育教學論壇,2018(17):27-29.
[7]黃鐵蘭,張金蘭,曾麗波.大學生創新創業訓練項目對教學改革的驅動效應研究——以高職《遙感技術及應用》課程為例[J].教育現代化,2018,5(19):28-29,42.
【通聯編輯:聞翔軍】
基金項目:基于新工科人才培養的《C語言程序設計》創新型教學改革研究(編號:2019XJJG015)
作者簡介:田建勇(1976-),男,碩士研究生,副教授,研究方向為軟件工程。