999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于編程思維培養的C語言教學改革

2022-06-24 08:57:40邸未冬馮麗萍張靜
高師理科學刊 2022年5期
關鍵詞:程序思維教學

邸未冬,馮麗萍,張靜

基于編程思維培養的C語言教學改革

邸未冬,馮麗萍,張靜

(忻州師范學院 計算機系,山西 忻州 034000)

C語言作為計算機專業編程語言的首門課程,對學生編程思維的培養尤為重要.目前C語言教學普遍存在的問題是學生程序設計能力弱,形不成編程思維.針對這一問題,從教學設計、教學手段、考核方式等方面,探討了面向編程思維能力培養的C語言教學改革模式.改革后的實踐表明,學生在期末考試、計算機等級考試等方面的成績都有所提升,程序設計能力明顯加強.

C語言;編程思維;算法設計;教學研究

1 編程思維的培養目標

在以往的教學中,忽視了程序的本質是人思維的表達方式這一理念,導致學生只注重了語法的細節[1],結果就是學知識容易用知識難,形不成編程思維,編程毫無切入點,自己寫不了程序,久而久之失去了對編程的興趣.結合C語言程序設計課程的特點和教學要求,教學中從3個方面培養學生的編程思維.

1.1 編程基礎

用計算機解決問題的最后手段是通過編程實現,深刻理解C語言程序設計的相關概念及語法語義,能用C語言實現算法.

1.2 模塊化思維

主要是分析問題的能力,將程序的框架結構分解成編程可實現的具體功能點,即函數思維.

1.3 算法設計能力的培養

算法是編程實現的前提,把算法思維融入到編程中,能夠理解算法并構建算法.

2 基于編程思維培養的教學設計

編程思維的重點是問題的解決過程,程序設計的重點在解題的思路上.在基于編程思維培養的C語言課程教學中,以程序設計為主線,把算法思維與語法緊密結合起來[2].基于培養目標,教學過程的實施環節見表1.

表1 基于編程思維培養的教學實施環節

2.1 采用啟發式案例引導教學

教師在設計每一章節內容的教學時,應避免直接枯燥地講解概念規則,孤立地講授基本語法,這樣學生打不好編程基礎.通過創設情景案例,在案例中引出語法規則,把枯燥無味的語法規則變成生動活潑的編程應用.如最開始講基礎知識時,先創設情景案例,求圓的面積.然后設置一些問題:如何向計算機輸入半徑,如何計算出面積并輸出,是否需要一些東西把信息存儲在電腦中等.利用設置的問題引出講解的知識點,如變量、常量及內存中的存儲方式、變量的數據類型、輸入輸出等,最后通過完整的程序來展示給學生.再如講到數組概念時,拋出求最值的問題:給定同一類型的10個數,求出最大和最小的數并輸出.

先讓學生思考,很顯然用之前的知識定義10個變量來解決這個問題是很困難的,此時引出數組的相關概念進行講解,然后引導學生進行案例設計,這樣就把編程思維的訓練與案例結合起來.通過學習,使學生打好編程基礎,具有簡單的編程能力.在創設情景案例時,注意由簡單到復雜,循序漸進地學習編寫程序.

2.2 教學設計中融入算法思維的訓練

教師在講授過程中,要有意識地訓練學生算法設計的能力.算法思維的形成,是個潛移默化的過程[3],需要從問題的不同角度多思考,多練習.教師可根據不同章節內容,采用一些不同的策略以培養學生的算法思維.

2.2.1 強化算法描述過程 利用計算機程序解決問題,一般通過問題分析->算法描述->編寫代碼幾個步驟,其中算法描述是代碼實現的關鍵所在.在講解案例時,充分利用偽代碼、流程圖等算法工具進行算法描述,然后現場編程完成代碼編寫,以此貫穿于整個教學過程.如在講解選擇結構時,給定案例:輸入3個數,找出其中的最大值并輸出.教學過程描述見表2.顯然通過算法描述,編寫代碼的思路更加清晰.

表2 結合算法描述的編程教學示例

2.2.2 以反向思維促進算法的理解 C語言是結構化語言,學生在學習了順序結構、選擇結構、循環結構這3種基本的算法結構以后,就可以進行一定的程序設計.但在初期教學過程中發現算法設計這個過程仍然是難以逾越的,特別是一些抽象的算法.反向思維是先給定程序,通過在對程序的分析過程中培養思維的一種方法,可以作為培養算法思維的輔助手段.在具體實施中,針對每種數據結構,如基本變量、數組、指針、結構體、鏈表、文件等,教師每次要精心準備3~5個典型案例題目,先給出程序,讓學生分析題目中程序的功能,進行逆向思維,最后根據程序畫出流程圖.讓學生從讀程序中理解算法,通過這種反向思維訓練有助于形成初期的編程思維.

2.2.3 靈活應用算法 同一個問題,用不同的算法解決[4-5].例如:在講到函數遞歸問題時,因為遞歸有個重復執行的過程,教師可提問學生解決重復執行的操作還可以怎么實現,學生會想到循環算法,這時讓學生思考,求1+2+3+…+50之和,之前使用循環實現,用遞歸能否實現,教師可以啟發學生將用循環語句執行的操作變為函數重復調用自己的操作,用簡易代碼描述:

用for語句描述

int i, sum=0;

for(i=1;i<=50;i++)

sum=sum+i; //反復執行

用遞歸描述

int sum(n)

{ if(n==1) return n;

else return sum(n-1)+n;//反復執行

通過這樣靈活應用算法,對編程思維的養成會有一定的促進作用.

2.3 模塊化思維(函數思維)的訓練

模塊化思維的核心就是把一個復雜的問題,分解成多個子問題模塊來處理,在C語言中主要就是函數思維,也就是函數即功能.一個較大的程序都寫在main()函數中,不僅不易于程序的編寫,而且會導致編程思維混亂,所以模塊化的程序設計思維是非常重要的.首先,要進行自定義函數能力的訓練,如給出一個功能需求,要求學生編寫一個函數來實現;其次,要掌握庫函數及其調用方法;最后,按照課程設計的要求,讓學生根據題目需求,自行設計功能模塊,然后編制函數完成程序的整體設計.通過模塊化設計的訓練,既可培養學生的邏輯思維,同時對編程思維的提升也有一定的作用.

2.4 重視實踐環節

對于編程思維培養的目的,就是能自己寫代碼解決問題,所以上機實踐是非常重要且不可缺少的環節.上機實踐不能只是模仿練習,自己編寫程序、調試代碼對培養編程思維有很大的作用.特別在調試程序時引導學生單步執行程序,理解每條C語句對應的匯編并觀察相應的內存和寄存器變化.這樣學生對寫程序會有一個感性的認知,而這種認知反過來會激發學生的編程思維.在教學中積累一定的知識后,精選題目讓學生上機自主實驗.實踐環節具體實施過程見表3.

表3 實踐環節實施過程

3 基于編程思維培養的教學手段改革

3.1 結合思政培養科學素養

C語言作為學生最初接觸的編程語言,在學習過程中會有一定的障礙,有些學生會因此產生厭學的情緒,學習敷衍了事.教師在備課時融入思政元素,培養學生科學素養,激發學習熱情.例如:講C語言語法規則時,強調做事要講規則、講原則;通過介紹C語言程序設計在嵌入式系統、人工智能等科技領域的應用,結合國家對技術創新等方面的要求,激發學生的學習熱情;講算法設計時要有大局觀,培養框架思維能力.通過融入思政元素的教學手段,增強學生克服困難、學好知識的信心.

3.2 借助移動端編譯器提升學習效率

隨著軟件技術的發展,移動端如手機都可以安裝簡易的C語言編譯器[6],學生在日常學習中可以隨時在手機上編寫C程序代碼并調試,特別是對語法規則中難以理解的小問題.如自加運算符++和自減運算符--的理解,在學習指針時對*p++、*(++p)、*(p++)、++(*p)等表達式的理解,學生剛開始學習時在理解上是有困難的,可即時利用手機編寫代碼進行測試,通過分析程序結果來幫助學生理解這些問題.利用手機編譯器的方便性,可以提高學生編程的學習頻率,對學生程序設計能力及思維能力的提升大有幫助.

3.3 利用好網絡教學平臺實現線上線下教學相結合

編程思維能力的提高要求有扎實的知識基礎,對C語言教學來說,教師在課堂講授的知識學生難以全部掌握,同時因學生個體差異,對知識點掌握效果參差不齊.目前,線上+線下相結合的教學方式成為教學的主流方式[7],借助于網上教學平臺,為學生提供有效的課程學習資源,學生可以在課下進行查缺補漏,進一步強化學習過程,提高教學的效果.以超星學習通網絡教學平臺為例,教師可以上傳講課視頻、課件、案例等資源供學生使用,并可布置、批閱作業、討論答疑,方便學生交流學習.在每章節內容講解完以后,教師可以在平臺上出卷子進行單元測試,以了解學生對知識的掌握情況,這對教學效果的保障是一個有效的手段.

3.4 以小組為單位組織程序設計競賽

編程思維的形成不可能在短期內實現,需要經過長期的實踐.程序設計競賽從大二直到大三每學期末都要舉行一次,在學生具有一定編程能力的基礎上,以小組為單位實施編程競賽.教師要精心設計題目,創建算法模型庫,學生從模型庫中自行選擇題目,自主完成分析、設計、編程、測試的過程.競賽的打分不完全取決于結果是否正確,而要包含對題目的分析、設計過程的測評.通過競賽,學生對自己的編程水平會有一定的認可度[8],不僅訓練了編程思維,也提高了對編程的學習興趣.通過近3年的學生程序設計競賽實施來看,學生參與人數越來越多,競賽成績逐步提高.

4 明確過程化考核目標

考核是促進學生學習的動力之一[9].以往的考核以期末筆試為主,考試內容重語法,不利于學生對實踐的重視,也不利于編程思維的培養.考核方案要綜合評價基礎知識的掌握和編程實踐的能力,應以多種形式的考核方式促使學生對編程思維能力培養的重視度.考核方案為:期末筆試(40%)+上機實踐(40%)+程序競賽(5%)+平時成績(15%).

其中,期末筆試是對學生基礎知識的考核;上機實踐部分是對學生的編程能力的考核,機試題目為功能較小的綜合設計,根據學生完成任務的比例打分;程序競賽以小組綜合評分,是對編程思維能力的考核;平時成績包括線上線下作業完成情況和課堂表現,是對學生學習過程評價的依據.

綜上所述,C語言課程作為大學新生的編程入門語言,既要掌握語法結構,打好基礎,又要掌握程序設計的思維方法.在基于編程思維能力培養的目標下,對C語言的教學模式實施了一定的改革.通過改革前后多項考核數據對比發現,期末考試成績良好以上占比由以往的40%左右提高到了65%以上;計算機二級C語言等級考試報名人數逐年增加,考試通過率增加近20個百分點;參加大學生程序競賽的人數及獲獎次數比以往都有提高.實踐表明,采用改革后的教學模式,學生的編程思維及程序設計能力普遍有所提升.

[1] 尹波,孟愛國,朱前飛,等.面向編程思維能力培養的C語言教學改革研究[J].計算機時代,2016(11):67-69,72.

[2] 譚浩強.C程序設計[M].5版.北京:清華大學出版社,2017.

[3] 鄭冰,寧鵬飛.基于JiTT模式的C語言教學中計算思維的培養[J].計算機教育,2018(10):101-104.

[4] 王磊,葉軍,韓宇珍.以計算思維為導向的C語言教學方法的探索與實踐[J].計算機教育,2019(7):168-172.

[5] 苑麗紅.在C語言教學中啟發和訓練學生的編程思維[J].福建電腦,2006(12):207-208.

[6] 唐彩紅.基于計算思維的計算機程序設計課程教學改革研究:以C語言為例[J].教育現代化,2019,6(29):100-101.

[7] 柳原.基于網絡教學平臺的大學生探究式新型學習方法的探索與實踐:以《C語言程序設計》課程為例[J].電腦知識與技術,2020,16(6):121-122.

[8] 邸未冬,賀國平.基于目標導向的Java程序設計課程的教學研究[J].高師理科學刊,2016,36(12):93-96.

[9] 郭群.基于技術技能型人才培養的《C語言程序設計》課程教學改革與探索[J].辦公自動化(綜合版),2014(10):60-62.

Teaching reform of C language course based on the cultivation of programming thinking

DI Weidong,FENG Liping,ZHANG Jing

(Department of Computer,Xinzhou Teachers University,Xinzhou 034000,China)

As the first course of programming language for computer majors,C language is particularly important for the cultivation of students′ programming thinking.At present,the common problem in C language teaching is that students have weak programming ability and cannot form programming thinking.Aiming at this problem,C language teaching mode for the cultivation of programming thinking ability is discussed from the aspects of teaching design, teaching means and examination methods.The reform practice shows that students′ scores in the final examination and computer grade examination have been improved,and programming ability has been significantly strengthened.

C language;programming thinking;algorithm design;teaching research

1007-9831(2022)05-0080-04

TP312∶G642.0

A

10.3969/j.issn.1007-9831.2022.05.015

2021-11-30

忻州師范學院教學改革創新研究項目(JGYB202020)

邸未冬(1972-),男,山西原平人,講師,碩士,從事軟件工程和圖像處理研究.E-mail:diwdong@126.com

猜你喜歡
程序思維教學
思維跳跳糖
思維跳跳糖
思維跳跳糖
思維跳跳糖
微課讓高中數學教學更高效
甘肅教育(2020年14期)2020-09-11 07:57:50
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
“自我診斷表”在高中數學教學中的應用
東方教育(2017年19期)2017-12-05 15:14:48
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
對外漢語教學中“想”和“要”的比較
唐山文學(2016年2期)2017-01-15 14:03:59
主站蜘蛛池模板: 日本人又色又爽的视频| 久久婷婷人人澡人人爱91| 天堂成人在线| 青青草91视频| 中文字幕人成人乱码亚洲电影| 日韩精品亚洲人旧成在线| 在线精品亚洲国产| 日韩第九页| 亚洲综合激情另类专区| 日本欧美成人免费| 亚洲天堂2014| 午夜综合网| 全部免费毛片免费播放| 国产不卡网| 亚洲成人黄色在线观看| 91探花在线观看国产最新| 国产高潮视频在线观看| 久久精品国产电影| 毛片免费高清免费| 九九久久99精品| 亚洲an第二区国产精品| 国产va在线观看免费| 欧美α片免费观看| 免费中文字幕在在线不卡| 亚洲第一中文字幕| 黄色片中文字幕| 青青国产成人免费精品视频| 中文字幕中文字字幕码一二区| 黄色网页在线播放| 国产精品主播| 91精品国产自产91精品资源| 激情午夜婷婷| 国产成人无码久久久久毛片| 国产午夜精品一区二区三区软件| 欧美区国产区| 国产一级精品毛片基地| 亚洲视频色图| 熟女日韩精品2区| 国产乱人伦精品一区二区| 国产精品yjizz视频网一二区| 欧美日韩一区二区三区四区在线观看| 91午夜福利在线观看| 日韩一区二区在线电影| 国产麻豆91网在线看| 亚洲欧州色色免费AV| 午夜欧美在线| 亚洲中文字幕在线精品一区| 怡春院欧美一区二区三区免费| 国产精品无码一区二区桃花视频| 91年精品国产福利线观看久久 | P尤物久久99国产综合精品| 久久精品免费国产大片| 刘亦菲一区二区在线观看| 精品久久高清| 午夜性爽视频男人的天堂| 亚洲欧洲日韩国产综合在线二区| 欧美中出一区二区| 国产精品片在线观看手机版| 亚洲精品va| 在线观看国产精品日本不卡网| 亚洲精品视频在线观看视频| 久久成人免费| 成人免费午间影院在线观看| 亚洲人免费视频| 国产成人你懂的在线观看| 国产毛片网站| 强乱中文字幕在线播放不卡| 五月婷婷综合在线视频| 成人亚洲视频| 欧美成人精品一级在线观看| 亚洲AⅤ永久无码精品毛片| 免费播放毛片| 国产尤物在线播放| 久草视频精品| 国产尤物在线播放| 日本午夜视频在线观看| 在线国产三级| 欧美精品成人| 99re在线免费视频| 无码内射在线| 91精品久久久无码中文字幕vr| 一本大道视频精品人妻 |