前言:想要寫出一篇引人入勝的文章?我們特意為您整理了談應用型C語言程序設計教學改革范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:應用型本科院校應為地方經(jīng)濟建設培養(yǎng)和提供實踐技能型、創(chuàng)新型人才,加強學生的實踐動手能力。針對C語言課程教學存在的問題及學生遇到的困難,提出系統(tǒng)性認識C程序基本結構、啟發(fā)式教學、案例分析教學+項目驅(qū)動模式的實踐教學體系。通過實踐教學改革,學生主動參與學習,提高了學生學習的興趣和學習的積極性,培養(yǎng)了學生分析問題、解決問題的能力,增強了學生的實踐創(chuàng)新意識。
關鍵詞:應用型高校;C語言;編程思維;實踐教學改革
引言
C語言程序設計幾乎是工科類院校各專業(yè)的公共基礎課程,也是應用型本科院校理工科專業(yè)學習計算機程序設計的首選課程。它的目標是培養(yǎng)學生的計算機編程思維,積累程序設計中常用的、經(jīng)典的算法,達到熟練使用C語言編程,培養(yǎng)分析問題、解決實際問題的能力。由于C語言程序設計課程內(nèi)容量大,知識點抽象、枯燥,理解困難,加大學習難度,學生難以上手,削弱了其學習興趣,導致學生參與的意愿削弱,感受不到知識的價值,學生的編程思想難以培養(yǎng),分析問題解決問題的能力得不到提高。因此,筆者提出C語言程序設計實踐教學改革,探索一種以案例分析為主,結合項目實戰(zhàn),注重培養(yǎng)學生計算思維、編程思想[1],提高實踐動手能力的教學方法。
1C語言教學中存在的問題
傳統(tǒng)的C語言程序設計教學注重知識內(nèi)容的講授,忽略了C語言程序的實際應用,使學生陷入知識的細節(jié)。雖然經(jīng)過一段時間基礎知識的學習和經(jīng)典算法的練習,學生可以看懂、修改和編寫簡單的程序,但是面對于一個較難的題目或者實際問題,學生卻難以下手,不會分析問題、聯(lián)系生活實踐解決問題,自主創(chuàng)新[2]的意識更是難以培養(yǎng)。
1.1缺少課程間相互聯(lián)系
C語言課程是大學生入校以來第一門程序設計語言,對程序的計算思維不理解,沒有制定學習目標、學習計劃,盲目學習,缺乏主動性。學生很少從課程的培養(yǎng)目的、培養(yǎng)能力出發(fā),很少考慮這門課程的學習對今后課程和工作的影響;沒有一個全面的、正確的認識,總覺得能及格就可以了。在學習的過程中,學生缺少前后課程之間的相互聯(lián)系,不能把已學的課程和現(xiàn)學課程聯(lián)系起來,從計算機的工作過程出發(fā)來考慮程序的執(zhí)行過程,進一步來理解、學習C語言程序的結構組成,對本門課程缺乏系統(tǒng)性的認識。
1.2“填鴨式”教學模式
課堂傳授以教師講授為主,老師覺得重要的知識點,學生卻感受不到知識的價值;主動參與學習的意愿和興趣不濃,被動的接受知識;課堂采取“先理論,后實踐”的教學模式。只有知識內(nèi)容的滿堂灌,學生的學習熱情沒有被調(diào)動,缺乏與學生的互動交流,難以了解學生對程序的理解情況。課本講述的內(nèi)容主要是純數(shù)學的抽象案例,缺乏實際聯(lián)系、實際應用,學生理解比較困難。為了完成教學任務,追求教學進度,內(nèi)容講得過多,實際操作少,學生來不及消化和吸收。這種教學模式下,學生上課無求知欲、無興趣,部分學生昏昏欲睡,聽課如聽天書;有的學生即使認真做筆記,課后合上筆記也沒有深刻的印象。這種教學模式只能引發(fā)淺層學習,即使學生對知識點了如指掌,遇到真實的情境卻未必能夠靈活運用。因此,這種教學模式需要很大程度的改進。
1.3教學內(nèi)容細節(jié)化
傳統(tǒng)的教學注重基本概念、語法等知識點,教學內(nèi)容瑣碎化、細節(jié)化。利用大量課時講解基本概念,如常量、變量、數(shù)據(jù)類型、表達式等概念,記憶的知識過多,知識過于瑣碎、細節(jié)化。學生即使掌握所學知識點,很難與實際問題聯(lián)系起來,解決問題。學生碰到問題,無從下手,產(chǎn)生畏難心理,進而對課程的學習失去興趣。
2思考與建議
2.1系統(tǒng)性理解
C語言程序基本結構1946年美籍匈牙利數(shù)學家馮•諾依曼提出程序存儲原理,程序如同數(shù)據(jù)來處理,并確定了程序存儲計算機的三大組成部件(I/O設備、存儲器、處理器)和基本工作方法。計算機與程序設計的關系:計算機的工作過程(IPO),輸入(Input):程序用到的數(shù)據(jù);處理(Process);編寫的程序放于存儲器中用于數(shù)據(jù)處理操作;輸出(Output):對處理或計算后的結果進行輸出。C語言結構中定義變量相當于計算機分配存儲空間(存儲器);初始化相當于輸入設備;程序處理問題的過程(算法)相當于處理器;C語言輸出相當于計算機的輸出設備。計算機硬件結構與C語言程序基本結構對照關系,如圖1所示。
2.2深入淺出,啟發(fā)式教學
在教學過程中,教師注重引導、深入淺出地講解,采用啟發(fā)式[3]教學法來幫助學生理解程序的邏輯,訓練計算思維能力。筆者舉例:求全班50個同學C語言課程的平均成績及最高分。首先,先從簡單的題目出發(fā),輸入兩個學生的成績,求其平均分,其代碼如下。其次,提出問題:輸入50個學生的成績,求其平均分?寫出代碼為:然后,再提出問題:要反復地進行輸入50個同學的成績,然后累加,這種方法是否合適?計算機的快速、便捷有沒有應用?算法太過冗余,降低程序的執(zhí)行效率,有沒有更好的辦法可以解決此問題,我們會想到反復地進行某個操作,利用循環(huán),其代碼為:然后,問題又來了:如果要進行求最高分、排序等其他操作,使用一個變量能不能解決問題?優(yōu)點:用一個score變量通過循環(huán)可以解決以上問題,避免重復,浪費內(nèi)存空間,提高程序的效率;缺點:它只能保存最后一個學生的成績。要保存大量同類型的數(shù)據(jù),順理成章引出數(shù)組,其代碼為:深入淺出,啟發(fā)式教學能增強課堂趣味性,學生好理解,容易進入學習狀態(tài),所學知識容易掌握,能提高學生學習的興趣和學習效果。通過上述過程一步步引導學生,既鞏固了以前所學知識內(nèi)容又啟發(fā)了學生思維,使其容易理解容易學習。
2.3“案例分析教學+項目驅(qū)動”模式
依據(jù)人才培養(yǎng)目標、教學大綱、教學目的及要求,教師設計、規(guī)劃課堂內(nèi)容[4],選取多個恰當?shù)陌咐?,以案例分析為重點,結合項目驅(qū)動深入淺出、啟發(fā)式引導,完成整個教學內(nèi)容。在案例的選取當中,要以學生熟悉的、感興趣的、學生日常生活相接近的問題,并結合章節(jié)內(nèi)容將知識點涵蓋其中,具有一定的難度、深度,引導學生學習,進一步學習相應的知識點。在學習案例的過程中,不斷地積累經(jīng)典算法,學習編程思想,學習怎樣分析問題、解決問題。課堂堅持“精講多練”,每個案例讓學生通過特定的事件情景進行分析問題、解決實際問題,最終用C語言實現(xiàn),從而培養(yǎng)學生運用理論知識,了解編程思維,通過動手實踐[5],培養(yǎng)動手能力,符合應用型院校人才培養(yǎng)目標要求,為培養(yǎng)應用型人才打下堅實的基礎。通過大量的案例分析學習,學生積累一定的算法,了解編程思維,掌握怎樣分析問題、怎樣把實際生活中的問題轉換成程序代碼,進而解決問題。但是學生所學知識點比較零碎、沒有系統(tǒng)性,沒有切身體會到C程序設計的真正用處。教師在部分章節(jié)具體案例選取中下功夫,設計案例內(nèi)容與某個總項目有著密切的關聯(lián)。學生學完整個課程后,把相關案例結合起來,組合成一個總項目。通過整個項目完成,學生能看到具體的效果,切身體會,獲得成就感;學生不僅加深和鞏固了所學知識點,把前面學習的比較瑣碎的知識串聯(lián)起來,而且更加有條理、對C程序設計這門課程有了系統(tǒng)的深刻的認識,從而學會分析問題、思考解決問題及動手編寫程序的能力。
3總結
通過案例分析教學+項目驅(qū)動,學生不僅掌握了知識點的學習,而且遇到問題學會分析,思考解決問題的方案,畫流程圖,轉換成程序代碼,調(diào)試驗證結果,理論結合實踐,用學到的理論知識解決實踐問題,學生體會到知識的價值、學習的收獲,能積極主動參與,從而培養(yǎng)其分析問題、解決問題的能力。
參考文獻
[1]肖琳,郭李華.應用型本科院校非計算機專業(yè)C語言程序設計教學改革探討[J].南昌教育學院學報,2015,30(5):43-45.
[2]王曉銀,孟虎,李海玲,等,應用型本科院校計算機專業(yè)硬件基礎課程實踐教學改革探索[J].微型電腦應用,2018,34(9):20-22.
[3]鄧云,朱海燕.基于Arduino單片機項目的C語言實程序設計教學[J].廣西教育,2017(19):158-160.
[4]陳得友,郭雯雯.應用型本科院校計算機專業(yè)《C程序設計》實踐教學改革探索[J].產(chǎn)業(yè)與科技論壇,2015,14(11):149-150.
[5]羅鵬,唐永剛,郝保明,等.應用型本科院校非計算機專業(yè)C語言課程教學方法研究[J].銅仁學院學報,2016,18(4):97-100.
作者:王倩麗 單位:西安航空學院