• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      融入計算思維的C語言實驗教學設計

      2015-04-27 01:12:12
      實驗室研究與探索 2015年10期
      關鍵詞:素數程序設計計算機

      劉 光 蓉

      (武漢輕工大學 數學與計算機學院,湖北 武漢 430023)

      ?

      融入計算思維的C語言實驗教學設計

      劉 光 蓉

      (武漢輕工大學 數學與計算機學院,湖北 武漢 430023)

      C語言是計算機基礎教學中的一門重要課程,在學生綜合素質與創(chuàng)新能力的培養(yǎng)方面發(fā)揮著重要作用。計算思維具有抽象化和自動化、問題約簡、關注點分離和優(yōu)化的特征。C語言實驗充分體現了計算思維的特征。本文闡述了融入計算思維特征的C語言教學內容的組織,通過具體實例闡述了融入計算思維特征的實驗教學方法實施過程。在C語言上機實踐教學中,通過計算思維方法的模仿與綜合運用,計算思維方法能夠更深層次地融人到C程序設計實驗教學中。

      計算思維; C語言; 實驗教學設計

      0 引 言

      計算思維的含義是運用計算機科學的基礎概念進行問題求解、系統(tǒng)設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動,其本質內容體現了抽象、約簡、規(guī)劃、關注點分離、遞歸、優(yōu)化、分解等思維特征[1]。

      “C程序設計”是一門非常重要的計算機基礎課程[2],涉及的知識點繁多,不僅包含程序設計的基本知識,還包含和體現了計算思維的基礎概念、思維模式和解決問題的方法。在C程序設計教學中融入計算思維,利用計算思維的特征梳理和整合繁雜的知識點,幫助學生清晰地理解和掌握C程序設計編程方法,鍛煉學生的計算思維和養(yǎng)成用計算思維的方法思考解決問題的習慣[2-4]。

      1 計算思維在C語言實驗中的體現

      C程序設計實驗教學中以計算思維能力培養(yǎng)為核心任務,以講授程序設計方法為主要內容,加強上機實踐,使學生通過實踐確實感受和領悟計算機問題求解的基本方法和思維模式,為提高學生綜合素質,培養(yǎng)學生創(chuàng)新能力奠定堅實的基礎[5]。

      C程序設計是一門實踐性很強的學科,C語言編程能力必須依靠一個又一個上機實驗,不斷地“思考一編程一調試一運行一反思”[6]而逐步提高。C語言是高度過程化的計算機編程語言,結構非常嚴謹,需要格外注意其語法和語義的準確性和完整性,需要在大量的上機實踐中培養(yǎng)編程者的這些良好習慣和注意度[7]。我們日常問題處理的一般過程:先做什么,再做什么;如果發(fā)生了什么,就做什么;必須要做了什么,才能再去做什么,與C程序的執(zhí)行過程完全類似。計算思維將問題引入、歸納、分解、進而求解的過程與C語言自頂向下、逐步求精、模塊化的設計思路[8]是類似的,因此,在C語言實驗中融入計算思維的思想,可以培養(yǎng)學生發(fā)現問題、分析問題、解決問題的能力,可以培養(yǎng)學生計算思維的能力[9]。

      2 C語言教學內容組織

      C語言涉及的概念規(guī)則很多,使用形式靈活,在C程序設計課程教學過程中,要落實兩個方面的內容:①C語言本身的語法與程序結構;②通過該門課程的學習掌握一定的算法與程序的編程實現。該門課程中的內容都是程序設計的基本內容,但隨著各專業(yè)人才培養(yǎng)方案的修改,作為公共基礎課程的C語言教學課時被壓縮,很多任課教師未能對教學內容進行整合優(yōu)化,上課時仍然按部就班講解,忽視了學生計算思維的培養(yǎng),而計算思維恰恰又是對問題抽象的基礎。

      計算思維通過約簡、轉化等方法,把一個看來困難的問題重新闡釋成一個怎樣解決的方法問題。在此方法的指導下,以“理論夠用,突出實踐”為原則,以譚浩強編著,清華大學出版社出版的《C程序設計(第3版)》教材為基礎,按照教學步驟,將《C程序設計》知識對象進行粒度劃分,歸納整理基本覆蓋整個《C程序設計》教學內容邏輯框架如圖1所示。

      圖1 《C程序設計》教學內容邏輯框架

      3 C語言實驗教學方法實施

      “C程序設計”課程知識體系完整,具有很強的理論性、實用性和創(chuàng)新性。將計算思維的思維特征方法融入到具體的教學過程中,一方面可以簡化學習內容,降低學習難度,激發(fā)學生的學習興趣;另一方面,可以培養(yǎng)學生的計算思維能力,提高學生的計算機綜合應用能力和創(chuàng)新能力[10]。

      3.1 抽象化和自動化

      抽象化和自動化是計算思維的重要本質[11]。抽象化是實現問題的精確表達和建模的方法[12],“C程序設計”課程中的很多概念和方法都體現了抽象化的思想。例如,C語言數據類型就是對現實世界中的信息進行抽象、表示和處理的方法。在進行程序設計時,首先,實現從現實世界到信息世界的轉化。分析題目,對需要處理的問題進行認識抽象,得到需要處理的數據的概念模型。然后,實現從信息世界到機器世界的映射。將需要處理的數據的概念模型轉換為C語言語法規(guī)則支持的數據結構類型。最后,利用C語言編寫程序,由計算機自動實現數據處理功能,見圖2。

      圖2 程序設計中的抽象化與自動化

      在教學過程中,教師通過實例進行抽象化和自動化方法的介紹,引導學生逐漸領會抽象化和自動化的思想方法,并在解決問題的過程中提升計算思維能力。

      3.2 問題約簡

      計算思維是一種選擇合適的方式陳述一個問題,或對一個問題的相關方面建模使其易于處理的思維方法,這就是對問題的約簡[13]。“C程序設計”課程涉及的知識點很多,如何在有限的教學課時里實現總體教學目標是一個難題。

      采用案例教學法,將計算思維的問題約簡方法融人課堂教學中,以理解和應用為目標,結合實例講授C語言的基本知識,避免過于枯燥的純理論介紹。例如,學習C語言循環(huán)結構的實現形式時,從循環(huán)條件、循環(huán)體、循環(huán)控制變量、循環(huán)的執(zhí)行過程等方面進行講解。教學過程中,對循環(huán)的實現形式理論知識只做一些簡要講解,對于循環(huán)結構的編程,則通過具體例子對循環(huán)實現形式加以分析和應用。通過對復雜問題的約簡,學生能夠清晰地了解C語言的基本語法知識和一些常用算法,能夠比較輕松地完成C程序簡單編程。

      3.3 關注點分離和優(yōu)化

      計算思維的關注點分離[14]方法就是,先將復雜問題做合理的分解,再分別仔細研究問題的不同側面(關注點),最后綜合各方面的結果,合成整體的解決方案[15]。在教學過程中,指導學生將任何一個程序設計問題分為7個階段:分析題目確定所需數據結構、給參與運算的變量賦初值、利用三種基本結構解決問題、輸出結果、繪制流程圖、編寫程序、上機調試。每個階段的任務相互獨立,具有明確的完成標志,前一個階段完成的任務是后一個階段的前提和基礎,后一階段的任務是前一階段任務的深入,相鄰階段互相聯(lián)系相互承接,共同完成整個程序設計任務。

      例如在編寫判斷一個數是否是素數的程序時,按如下步驟實現:

      步驟1:分析題目,確定兩個整型變量m與i,m是要判斷的數,作為被除數,i是除數。

      步驟2:給參與運算的變量賦初值。從鍵盤輸入m的值,scanf(“%d”,&m);素數是除了能被1和它本身整除外,不能被其他任何數整除,因此,確定i的初值為2。

      步驟3:利用三種基本結構解決問題,這是解決問題的關鍵所在。素數的判斷就是要用2~m-1中的每一個數去除m,若每一個都不能被整除則表示m是素數,否則只要有一個能整除,則m都不是素數,根據分析,需要利用循環(huán)結構解決問題。

      步驟4:輸出結果。根據第(3)步的分析,如果2~m-1中的每一個數都不能整除m,循環(huán)結束后i>=m,輸出m是素數,如果m不是素數,i

      步驟5:繪制N-S流程圖如圖3所示。

      圖3 素數判斷N-S流程圖

      步驟6:根據N-S流程圖編寫程序

      #include

      void main()

      { int m,i; scanf(“%d”,&m); for(i=2;i=m) printf(“m是素數”); else printf(“m不是素數”);

      }

      步驟7:為驗證程序的正確與否,上機調試是一個非常重要的環(huán)節(jié)。

      上述實例講解,可以幫助學生在掌握C語言基本知識的同時,掌握程序設計的方法與步驟,避免學生在學習過程中感覺知識點的零散繁雜。使學生能夠將所學的知識進行綜合應用,聯(lián)系實際問題的綜合分析、設計和實現。

      計算思維的優(yōu)化特征也可以很好地融人到了C語言程序設計過程中。任何一個問題可能都有多種算法,我們在設計算法時不僅要能實現問題的解決,還要考慮算法的時間復雜度和空間復雜度,尋找最優(yōu)算法。例如,在上述素數判斷方法中,利用循環(huán)結構解決問題部分,循環(huán)次數是m-2次,其實可以簡化,m不必被2~m-1之間的每一個整數去除,只需被2~根號m之間的每個數去除就可以了。因此可以對程序進行如下修改以減少循環(huán)次數:

      #include

      #include

      void main()

      { int m,i; scanf(“%d”,&m); for(i=2;i<(int) sqrt(m);i++) if(m%i==0) break; if(i>=(int)sqrt(m)) printf(“m是素數”); else printf(“m不是素數”);

      }

      4 結 語

      “C程序設計”課程是一門實踐性非常強的學科,實踐教學重點是鞏固理論知識的掌握,鍛煉學生對計算思維方法的運用,提高解決實際問題的能力。實踐環(huán)節(jié)采用循序漸進、由淺人深的方法,將實驗分為驗證型和設計型綜合實驗。驗證型實驗要求學生模擬教師解決問題的方法完成實驗內容,是計算思維方法的模仿。設計型綜合實驗運用多種計算思維方法分析問題和解決問題,是計算思維方法的綜合運用。設計型實驗要求同學們在掌握了一定的實驗技能和方法的基礎上,運用所學C語言基本知識,自行提出問題,分析問題,解決問題,通過算法分析、觀察實驗結果、對程序運行結果進行分析處理等環(huán)節(jié)最終得出正確的研究結論。計算思維方法的綜合運用,鍛煉了學生綜合運用所學知識的能力,更進一步地培養(yǎng)了學生發(fā)現問題、勇于探索、創(chuàng)新的能力,是計算思維方法更深層次的融人。

      [1] Jeannette M Wing. Computational Thinking[J]. Communications of ACM,2006,49(3):33-35.

      [2] 教育部高等學校計算機基礎課程教學指導委員會. 高等學校計算機基礎教學發(fā)展戰(zhàn)略研究報告暨計算機基礎課程教學基本要求[M]. 北京:高等教育出版社,2009.

      [3] 何欽銘,陸漢權,馮博琴. 計算機基礎教學的核心任務是計算思維能力的培養(yǎng)[J]. 中國大學教學,2010(9):5-9.

      [4] 陳國良.計算思維與大學計算機基礎教育[C]//濟南:第六屆大學計算機課程報告論壇,2O10.

      [5] 劉光蓉. C程序設計實驗教學的理實一體化教學模式[J]. 實驗室研究與探索,2013,32(10):350-352.

      [6] 劉遠軍.培養(yǎng)計算思維的C語言實驗方案設計[J]. 軟件導刊,2014,13(1):189-190.

      [7] 劉光蓉,汪 靖,陸登波.C程序設計實驗與實踐教程[M].清華大學出版社,2011.

      [8] 譚浩強.C程序設計(第四版)[M].清華大學出版社,2010.

      [9] 劉光蓉.以計算思維能力培養(yǎng)為導向的C程序設計實驗教學[J]. 實驗技術與管理,2013,30(1):154-156,191.

      [10] 黃雅萍,劉曉強,施霞萍,等.融入計算思維的“信息系統(tǒng)與數據庫技術”教學模式[J]. 紡織服裝教育,2014,29(1):69-73,76.

      [11] 王文軍,鄧景順,王 靜.基于計算思維的數據庫課程體系教學模式研究[J].臨沂大學學報,2012,34(6):66-69.

      [12] 董榮勝.計算思維與計算機導論[J].計算機科學,2009,36(4):50-52.

      [13] 牟 琴,譚 良.計算思維的研究及其進展[J].計算機科學,2011,38(3):10-15.

      [14] Parnas D L.On the criteria to be used in decomposing systems into modules[J].Comm.ACM,1972,15(12):1053-1058.

      [15] 何明聽.關注點分離在計算思維和軟件工程中的方法論意義[J].計算機科學,2009,36(4):60-63.

      Experimental Teaching Design of C Language Integrated by Computational Thinking

      LIUGuang-rong

      (School of Mathematics and Computer Science, Wuhan Polytechnic University, Wuhan 430023, China)

      Training computational thinking ability is a core task of computer basic teaching. C language is an important course in computer based teaching. It plays an important role for the cultivation of students’ comprehensive quality and innovation capability. Abstraction and automation, problem reduction, separation of concerns and optimization are main features of computational thinking. The C language experiment fully reflects the characteristics of computational thinking. This paper describes C language teaching content organization which integrates of computational thinking characteristic, and also describes implementation of the experimental teaching method within the characteristics of computational thinking by specific examples. In the C language experiment teaching, because of simulating and using computational thinking method, computational thinking method can melt deeper into the C programming experiment teaching.

      computational thinking; C language; experimental teaching design

      2015-01-05

      2011年湖北省高等學校省級教學研究項目(2011_32);湖北省教育科學“十二五”規(guī)劃2014年度重點課題(2014A030);教育部2014年與百度公司校企合作專業(yè)綜合改革項目(2014-B013);全國高等院校計算機基礎教育研究會2014年課題(201416);2014年校級重點實踐教學改革研究及試點項目(XSZ2014007)

      劉光蓉(1971-),女,湖北武漢人,碩士,副教授,研究方向主要是圖像處理及計算機基礎教學研究。

      Tel.:18986286198;E-mail:lgr981009@126.com

      TP 312.1-4;G 642

      A

      1006-7167(2015)10-0081-03

      猜你喜歡
      素數程序設計計算機
      孿生素數
      兩個素數平方、四個素數立方和2的整數冪
      計算機操作系統(tǒng)
      基于Visual Studio Code的C語言程序設計實踐教學探索
      計算機教育(2020年5期)2020-07-24 08:52:56
      基于計算機自然語言處理的機器翻譯技術應用與簡介
      科技傳播(2019年22期)2020-01-14 03:06:34
      關于兩個素數和一個素數κ次冪的丟番圖不等式
      從細節(jié)入手,談PLC程序設計技巧
      電子制作(2019年9期)2019-05-30 09:42:04
      信息系統(tǒng)審計中計算機審計的應用
      消費導刊(2017年20期)2018-01-03 06:26:40
      高職高專院校C語言程序設計教學改革探索
      奇妙的素數
      永顺县| 嘉黎县| 克山县| 洞口县| 东源县| 高安市| 白玉县| 克东县| 阳曲县| 日土县| 山东| 县级市| 许昌县| 东源县| 四子王旗| 桃江县| 新乐市| 晋江市| 大方县| 拜泉县| 吉首市| 新建县| 西充县| 麻城市| 永寿县| 平昌县| 天津市| 方正县| 岫岩| 乌鲁木齐县| 武平县| 金阳县| 长兴县| 北川| 桐城市| 广灵县| 石泉县| 丽水市| 大理市| 馆陶县| 浦江县|