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

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

2015-04-27 01:12:12
實驗室研究與探索 2015年10期
關鍵詞:計算機思維實驗

劉 光 蓉

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

?

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

劉 光 蓉

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

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

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

0 引 言

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

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

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

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

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

2 C語言教學內容組織

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

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

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

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

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

3.1 抽象化和自動化

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

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

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

3.2 問題約簡

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

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

3.3 關注點分離和優化

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

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

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

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

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

步驟4:輸出結果。根據第(3)步的分析,如果2~m-1中的每一個數都不能整除m,循環結束后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:為驗證程序的正確與否,上機調試是一個非常重要的環節。

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

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

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

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

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

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

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

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

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

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

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

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

[10] 黃雅萍,劉曉強,施霞萍,等.融入計算思維的“信息系統與數據庫技術”教學模式[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);湖北省教育科學“十二五”規劃2014年度重點課題(2014A030);教育部2014年與百度公司校企合作專業綜合改革項目(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

猜你喜歡
計算機思維實驗
記一次有趣的實驗
思維跳跳糖
思維跳跳糖
思維跳跳糖
思維跳跳糖
計算機操作系統
基于計算機自然語言處理的機器翻譯技術應用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
做個怪怪長實驗
信息系統審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
NO與NO2相互轉化實驗的改進
主站蜘蛛池模板: 亚洲一区二区在线无码| 亚洲色大成网站www国产| 中国精品自拍| 亚洲无码熟妇人妻AV在线| 99久久国产自偷自偷免费一区| 九九九精品成人免费视频7| 亚洲色图欧美| 亚洲第一视频网站| 亚洲国产欧洲精品路线久久| 久久精品日日躁夜夜躁欧美| AV无码无在线观看免费| 国产又爽又黄无遮挡免费观看| 91精品国产福利| 午夜福利视频一区| 伊人大杳蕉中文无码| 在线精品自拍| 欧美第九页| 亚洲综合极品香蕉久久网| 亚洲天堂网2014| 亚洲精品成人福利在线电影| 99人妻碰碰碰久久久久禁片| 青青草一区| 五月天丁香婷婷综合久久| 国产成人av大片在线播放| 欧美激情视频二区| 国产亚洲欧美在线中文bt天堂| 日本国产精品一区久久久| 夜夜操天天摸| 国产剧情伊人| 国产理论最新国产精品视频| 又粗又大又爽又紧免费视频| 国产啪在线| 午夜不卡视频| 国产乱人视频免费观看| 午夜福利无码一区二区| 麻豆精品视频在线原创| 日本午夜精品一本在线观看 | 国内黄色精品| 欧美一道本| 亚洲男人天堂网址| 欧美激情二区三区| 激情综合婷婷丁香五月尤物 | 2020国产精品视频| 这里只有精品免费视频| 中文字幕在线看| 国产精品私拍99pans大尺度 | a免费毛片在线播放| A级毛片无码久久精品免费| 国产自在线拍| 亚洲精品在线观看91| 在线色国产| 国产精品林美惠子在线观看| av在线5g无码天天| 精品国产91爱| 中文无码影院| 88av在线看| 黄色一级视频欧美| 久夜色精品国产噜噜| 国产欧美精品一区aⅴ影院| 麻豆国产在线不卡一区二区| 久久久精品久久久久三级| 国产精品黑色丝袜的老师| 精品国产香蕉伊思人在线| 伊人无码视屏| 国产欧美精品专区一区二区| 青青草国产免费国产| 国产凹凸视频在线观看| 99精品国产自在现线观看| 2024av在线无码中文最新| 欧美色伊人| 国产成人免费视频精品一区二区| 欧美不卡视频一区发布| 曰韩免费无码AV一区二区| 国产毛片高清一级国语 | 呦女精品网站| 久久久久国产一区二区| 久久情精品国产品免费| 中文字幕欧美成人免费| 波多野结衣一级毛片| 婷婷丁香在线观看| 在线无码九区| 一个色综合久久|