国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

以培養(yǎng)計算思維為主的C程序設(shè)計課程教學(xué)改革

2019-06-01 10:06:30李敏
電腦知識與技術(shù) 2019年12期
關(guān)鍵詞:程序設(shè)計程序計算機(jī)

李敏

摘要:隨著信息技術(shù)的進(jìn)步,計算機(jī)學(xué)科與其他學(xué)科的交叉發(fā)成為新的趨勢。在程序設(shè)計類課程教學(xué)中,培養(yǎng)計算思維的能力與講授專業(yè)知識同等重要。本文闡述了計算思維的重要性,并以C程序設(shè)計課程為例,探討了以培養(yǎng)計算思維能力為主的教學(xué)改革方法與思路。

關(guān)鍵詞:C程序;教學(xué)改革

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2019)12-0111-02

1 計算機(jī)思維的重要性

計算思維是運(yùn)用計算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計、以及人類行為理解等涵蓋計算機(jī)科學(xué)之廣度的一系列思維活動。[1]計算機(jī)技術(shù)作為21世紀(jì)發(fā)展最快的技術(shù),許多領(lǐng)域與其結(jié)合都得到了重大的突破,未來的計算機(jī)將會成為人們最常用的工具之一。無論是計算機(jī)專業(yè)的畢業(yè)生還是非計算機(jī)專業(yè)的畢業(yè)生,將來都要面臨使用計算機(jī)處理實(shí)際問題的情況。因此,在程序設(shè)計類課程的教學(xué)中,激發(fā)學(xué)生學(xué)習(xí)計算機(jī)語言的興趣,培養(yǎng)學(xué)生對計算機(jī)語言的認(rèn)知能力及利用計算機(jī)語言處理實(shí)際問題的能力是非常重要的。

目前,計算思維的培養(yǎng)在國內(nèi)外都受到了普遍重視。在美國,不僅有卡內(nèi)基梅隆大學(xué)的專題討論,更有眾多科研組織的參與。在英國的愛丁堡大學(xué),人們在一連串的研討會上探討與計算思維有關(guān)的主題。研討會上所涉及的學(xué)科已延伸到哲學(xué)、物理、生物、醫(yī)學(xué)、建筑、教育等各個不同的領(lǐng)域。[2]在我國,部分中小學(xué)及高校都開展了以培養(yǎng)計算思維為核心的教學(xué)改革,希冀通過計算機(jī)課程的學(xué)習(xí),使計算思維成為每個人的基本技能。

2 融入計算思維的C程序設(shè)計課程教學(xué)改革

傳統(tǒng)C程序設(shè)計教學(xué)通常按照C程序設(shè)計經(jīng)典教材的順序講授知識點(diǎn),學(xué)生往往容易陷入語法知識的細(xì)枝末節(jié)而忽略了程序設(shè)計的本質(zhì)。而且傳統(tǒng)講授式方法難以調(diào)動學(xué)生的學(xué)習(xí)積極性,容易導(dǎo)致理論與實(shí)踐脫節(jié),學(xué)生的實(shí)踐能力不足。特別對于非計算機(jī)專業(yè)的學(xué)生而言,重點(diǎn)應(yīng)是要培養(yǎng)他們分析問題、解決問題的思維方式和創(chuàng)新能力。

(1)改革傳統(tǒng)教學(xué)模式,以培養(yǎng)計算思維為主線設(shè)計教學(xué)活動

由于C語言偏向計算機(jī)底層的抽象特性,學(xué)生很難建立起從自然語言到符合計算思維的C語言程序之間的轉(zhuǎn)換。因此,C程序設(shè)計教學(xué)中計算思維的訓(xùn)練成為教學(xué)中的難點(diǎn)。[3]基于計算思維提煉課程知識點(diǎn),將計算思維方法和現(xiàn)代教學(xué)模式相結(jié)合,設(shè)計課堂教學(xué)內(nèi)容和實(shí)踐教學(xué)環(huán)節(jié),重點(diǎn)突出學(xué)生應(yīng)用能力和創(chuàng)新能力的培養(yǎng)。

(2)設(shè)計出基于計算思維的C程序設(shè)計課程教學(xué)案例

以學(xué)生為主體、教師為主導(dǎo),突破傳統(tǒng)教學(xué)以知識為本位的培養(yǎng)模式,從培養(yǎng)計算思維角度編寫教學(xué)案例。利用教學(xué)案例,鼓勵學(xué)生從多方面思考問題,探尋問題解決方法,讓學(xué)生從被動接受知識的“觀眾”變?yōu)橹鲃訁⑴c者。[4]

(3)建立以培養(yǎng)計算思維為主的評價機(jī)制

探索在C程序設(shè)計課程教學(xué)中計算思維培養(yǎng)的教學(xué)評價與學(xué)習(xí)評價,建立激勵學(xué)生學(xué)習(xí)、促進(jìn)學(xué)生“學(xué)會學(xué)習(xí)”和全面發(fā)展的評價機(jī)制。

3 以培養(yǎng)計算思維為主的教學(xué)方式

在對河套學(xué)院2014級和2015級數(shù)學(xué)與應(yīng)用數(shù)學(xué)班學(xué)生的C程序設(shè)計課程問卷調(diào)查中顯示:58.73%的同學(xué)表示“課程上能聽懂,但讓自己編程就不會了”,50.79%的同學(xué)表示“語法會了,但遇到編程題,不知道該用什么算法”,導(dǎo)致這一現(xiàn)象產(chǎn)生的根本原因還是計算思維的缺失。有的學(xué)生在面對問題時不能找到有效的解題思路,有的學(xué)生找到了解題思路卻又不知道如何使用C語言來實(shí)現(xiàn),因此在程序設(shè)計課程教學(xué)中應(yīng)該注重培養(yǎng)學(xué)生應(yīng)用計算思維的解題能力。

3.1 鼓勵學(xué)生創(chuàng)新

在教學(xué)中教師不能“講”得太多,至少不能直接把解題思路和過程都提示給學(xué)生,要讓學(xué)生學(xué)會獨(dú)立思考,鼓勵學(xué)生使用不同的、新穎的方法來解決問題。集體的智慧是偉大的,要引導(dǎo)學(xué)生分享他們的思路,這樣會有更多的學(xué)生得到啟發(fā)。例如在求100以內(nèi)能被13整除的最大的數(shù)時,學(xué)生的想法百花齊放,下面以最典型的三種解法為例。

解法一:for (i=1;i<=100;i++)

if (i%13==0)

max=i;

解法一利用最基本的定義,從1-100中遍歷所有的數(shù)找到能被13整除的數(shù)賦值給max,當(dāng)循環(huán)結(jié)束后,max中存放的就是100以內(nèi)能被13整除的最大的數(shù)。顯然這樣解法體現(xiàn)了我們使用循環(huán)程序設(shè)計的初衷。

解法二:for (i=13;i<=100;i+=13)

max=i;

在解法二中,學(xué)生分析后認(rèn)為13是一個質(zhì)數(shù),所以能被13整除的數(shù)應(yīng)是13的倍數(shù),這樣初始值可以從13開始,每次讓i的值以13遞增,于是取到的每一個i就是能被13整除的數(shù),當(dāng)循環(huán)結(jié)束后,max中存放的就是100以內(nèi)能被13整除的最大的數(shù)。相比第一種算法,第二種的效率更高一點(diǎn),體現(xiàn)了在循環(huán)次數(shù)上的創(chuàng)新。

解法三:i=100/13;

max=i*13;

解法三最讓人驚奇,雖然該同學(xué)沒有在程序中使用循環(huán),但是通過對C語言程序設(shè)計中,除號“/”兩端的操作數(shù)都是整數(shù)時結(jié)果取整的理解,準(zhǔn)確地求得了結(jié)果。我想解法三應(yīng)該是三種解法中效率最高的一種,也是更應(yīng)該得到表揚(yáng)的。從解題的方法可以看出學(xué)生沒有局限于程序設(shè)計的一般思路,在解題時充分考慮了之前所學(xué)習(xí)的語法知識,再結(jié)合自己的思考,得出了一種創(chuàng)新的解法,這正是學(xué)習(xí)程序設(shè)計語言要倡導(dǎo)的計算思維。我們有時往往過于強(qiáng)調(diào)程序設(shè)計的語法和語句,而忽略了實(shí)際問題的不同解決方法。計算思維應(yīng)該是利用計算機(jī)幫助我們來解決實(shí)際問題,如果這個問題可以由簡單的辦法解決,我們?yōu)槭裁匆寙栴}變得更復(fù)雜呢?在程序設(shè)計的教材中為了說明一個語法而給出一個示例,但這樣的程序有時只是為了說明一種結(jié)構(gòu),并不是代表這種問題應(yīng)該這樣處理。學(xué)生在學(xué)習(xí)程序設(shè)計語言時應(yīng)該在掌握語法的基礎(chǔ)上打破常規(guī)思維,靈活運(yùn)用所學(xué)知識,培養(yǎng)分析問題、解決問題的能力和創(chuàng)新能力。

3.2善于利用設(shè)疑

授人以魚,不如授人以漁。授人以漁,不如授人以欲。在教學(xué)中如果學(xué)生不愿意聽,那即使教師講得很好,學(xué)生也不一定能掌握。但如果把學(xué)生的興趣調(diào)動起來,讓學(xué)生主動地去尋找答案,可能會收到意想不到的效果。例如,在講解完順序結(jié)構(gòu)和選擇結(jié)構(gòu)時,讓學(xué)生開發(fā)簡單的計算器程序,可選擇實(shí)現(xiàn)加、減、乘、除四種運(yùn)算中一種。學(xué)生通過輸入兩個數(shù),和想選擇的運(yùn)算類型,用switch語句實(shí)現(xiàn)了分支選擇。

這時學(xué)生會發(fā)現(xiàn)此時的程序不管選擇哪一種運(yùn)算,只能運(yùn)行一次,如果想再次執(zhí)行必須要重新運(yùn)行程序。如何才能讓程序可以依據(jù)選擇執(zhí)行多次運(yùn)算呢?帶著這個疑問,為學(xué)生引入循環(huán)程序設(shè)計的知識,啟發(fā)學(xué)生思考簡單的計算器程序能否根據(jù)用戶的選擇而確定。如果用戶不選擇退出,程序就可以一直計算下去。

興趣是最好的老師,再比如說“猜數(shù)游戲”。即由計算機(jī)隨機(jī)生成一個1到100之間的數(shù)請人猜,每人有十次機(jī)會猜測,如果猜對了,則計算機(jī)給出提示:“正確!”并結(jié)束游戲,否則提示用戶所猜的數(shù)是高還是低,如果十次都沒有猜對也結(jié)束游戲。對于這個問題教師可以提出三個疑問,通過設(shè)疑來充分調(diào)動學(xué)生的學(xué)習(xí)興趣。

第一個問題:如何生成隨機(jī)數(shù)num?

我們都知道在C語言中,使用rand()函數(shù)會生成一個偽隨機(jī)數(shù),但如果沒有一個可變的量做種子,生成的數(shù)是不變的。那么如果找到一個不斷變化的量呢?經(jīng)過思考,不斷變化的時間就成了我們最好的選擇。

處理方法:首先用當(dāng)前和系統(tǒng)時間生成隨機(jī)數(shù)的種子srand(time(0)),再利用這個種子生成隨機(jī)數(shù)num,num = rand(),這樣得到的num就會因?yàn)檫\(yùn)行時間不一樣,而得到不同的隨機(jī)數(shù)。

第二個問題:如何把隨機(jī)數(shù)限制在1-100之間?

rand函數(shù)的原型為int rand(void),它會返回一個[0,RAND_MAX]間的隨機(jī)整數(shù)。利用所學(xué)的知識如何把一個隨機(jī)整數(shù)限制在100以內(nèi),可以引導(dǎo)學(xué)生聯(lián)想到水仙花數(shù)或類似習(xí)題,模運(yùn)算符自然就被委以重任。

處理方法:利用模運(yùn)算符取余的特性,使用num=num%100,會把隨機(jī)數(shù)num限制在0-99之間,再把num加1就會得到一個1-100的整數(shù)。于是,最終的語句為num=num%100+1。

第三個問題:如何選擇程序結(jié)構(gòu)?

首先,需要分支結(jié)構(gòu)來實(shí)現(xiàn)比較運(yùn)算。當(dāng)用戶輸入猜測的數(shù)后,比較用戶的猜測與隨機(jī)數(shù)是否相等,如果相等,則提示“正確”,并結(jié)束游戲;如果不等,則比較猜測隨機(jī)數(shù)的大小,并提示用戶結(jié)果。其次,需要循環(huán)結(jié)構(gòu)實(shí)現(xiàn)十次猜測的機(jī)會。但是在控制循環(huán)的條件時,應(yīng)該分為兩種情況:一種是用戶猜測十次都沒猜對,結(jié)束循環(huán);另一種是用戶在十次之內(nèi)就猜對了,這時也要結(jié)束循環(huán)。

在猜數(shù)游戲中,涉及的主要操作有:生成隨機(jī)數(shù);限制隨機(jī)數(shù)在一個指定的范圍;判斷猜測與隨機(jī)數(shù)是否一致;給10次猜測機(jī)會,猜測正確時退出。對應(yīng)的知識點(diǎn)分別為rand()函數(shù)、模運(yùn)算、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和break。通過這個案例,讓學(xué)生學(xué)會綜合運(yùn)用所學(xué)的知識處理實(shí)際問題,在其中培養(yǎng)了學(xué)生的計算思維。

作為提高部分,可以讓學(xué)生思考如何利用隨機(jī)數(shù)生成小學(xué)數(shù)學(xué)100以內(nèi)加、減法測試程序,用戶能夠輸入測試的算式數(shù)目,并分別給出算式,要求輸入答案,并能判斷結(jié)果是否正確,最后給出得分率。依據(jù)題目讓學(xué)生充分地發(fā)揮自己的想象,鼓勵程序的創(chuàng)新,讓學(xué)生提高綜合實(shí)踐能力。

4 總結(jié)

基于計算思維的C語言課程教學(xué)改革主要探究基于計算思維的C程序設(shè)計課程教學(xué)模式,以培養(yǎng)計算思維為主線,結(jié)合先進(jìn)的教學(xué)理念,先確定教學(xué)重點(diǎn),再針對重點(diǎn)教學(xué)內(nèi)容設(shè)計可行的教學(xué)活動,提出具體的課堂教學(xué)內(nèi)容設(shè)計方案,并應(yīng)用于C程序設(shè)計課程的教學(xué)活動。最終通過評價和反饋機(jī)制,不斷地完善C程序設(shè)計課程教學(xué)設(shè)計和教學(xué)案例。旨在通過C程序設(shè)計課程的改革激發(fā)學(xué)生學(xué)習(xí)興趣,提高學(xué)習(xí)效率,培養(yǎng)學(xué)生良好的計算思維能力。

參考文獻(xiàn):

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

[2] 董榮勝,古天龍.計算思維與計算機(jī)方法論[J].計算機(jī)科學(xué),2009,36(01):1-4+42.

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

[4] 解紅,劉建.基于計算思維的大學(xué)計算機(jī)課程改革與實(shí)踐研究[J].福建電腦,2018,34(10):60+119.

【通聯(lián)編輯:朱寶貴】

猜你喜歡
程序設(shè)計程序計算機(jī)
計算機(jī)操作系統(tǒng)
基于Visual Studio Code的C語言程序設(shè)計實(shí)踐教學(xué)探索
基于計算機(jī)自然語言處理的機(jī)器翻譯技術(shù)應(yīng)用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
從細(xì)節(jié)入手,談PLC程序設(shè)計技巧
電子制作(2019年9期)2019-05-30 09:42:04
試論我國未決羈押程序的立法完善
信息系統(tǒng)審計中計算機(jī)審計的應(yīng)用
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
高職高專院校C語言程序設(shè)計教學(xué)改革探索
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
宁安市| 南投县| 南宁市| 简阳市| 睢宁县| 东乌珠穆沁旗| 双鸭山市| 来宾市| 盐池县| 南昌县| 宕昌县| 厦门市| 兴文县| 乳源| 永兴县| 合阳县| 瓮安县| 玛纳斯县| 大兴区| 论坛| 康乐县| 临朐县| 龙游县| 厦门市| 深州市| 迁安市| 岑巩县| 洛宁县| 克山县| 横山县| 黄石市| 襄城县| 车致| 彰武县| 壤塘县| 罗平县| 玉田县| 肇源县| 米泉市| 中西区| 湘乡市|