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

?

程序設(shè)計語言教學(xué)過程中的學(xué)生思維能力培養(yǎng)

2011-12-31 00:00:00
計算機(jī)教育 2011年12期


  摘要:針對思維能力在創(chuàng)新能力培養(yǎng)過程中的核心地位,本文以C程序設(shè)計語言為例,探討如何在程序設(shè)計語言教學(xué)過程中培養(yǎng)學(xué)生的思維能力。根據(jù)程序設(shè)計語言課程內(nèi)容龐大、實(shí)踐性強(qiáng)的特征,學(xué)生難以掌握實(shí)用的編程技術(shù)的問題,提出從理論課教學(xué)、實(shí)驗(yàn)課內(nèi)容的組織和安排等各方面入手,充分利用思維的特點(diǎn),實(shí)現(xiàn)提高學(xué)生綜合思維能力的目標(biāo)。
  關(guān)鍵詞:程序設(shè)計語言;思維能力;創(chuàng)新能力;教學(xué)方法
  
  學(xué)生的思維能力是各種專業(yè)能力的基礎(chǔ)[1]。對于高等院校在校生來說,在課程學(xué)習(xí)過程中鍛煉并提高思維能力是訓(xùn)練思維能力的最直接方式。計算機(jī)高級程序設(shè)計語言目前作為高等院校理工類專業(yè)的必修課,通過系統(tǒng)地學(xué)習(xí)一門高級語言,使學(xué)生掌握程序設(shè)計的基本思想并具備一定的程序設(shè)計能力[2-3]。使用計算機(jī)程序解決問題的模式與學(xué)生之前所接觸到的解決問題方式有著較大的差異,因此在高級程序設(shè)計語言課程教學(xué)過程中,可以有意識地利用這種差異加強(qiáng)對學(xué)生思維能力的訓(xùn)練,培養(yǎng)學(xué)生分析問題、解決問題的能力。
  1程序設(shè)計語言教學(xué)中創(chuàng)新思維能力培養(yǎng)的可行性
  1.1學(xué)生思維能力培養(yǎng)所面臨的困難
  培養(yǎng)學(xué)生創(chuàng)新能力的核心問題是創(chuàng)新思維能力的培養(yǎng),創(chuàng)新能力的決定因素在于是否具有創(chuàng)新性的思維[4]。因此對學(xué)生創(chuàng)新思維的培養(yǎng)至關(guān)重要。由于升學(xué)就業(yè)的壓力,大部分學(xué)生從小接受的都是“應(yīng)試教育”,考試成績是學(xué)生和學(xué)校追求的主要目標(biāo)。在這種極其狹隘的教育模式的支配下,以提高學(xué)生創(chuàng)新能力為目標(biāo)的教學(xué)方法改革難以深入開展,學(xué)生的個性發(fā)展,創(chuàng)造力的提升都受到了大量的阻礙。對于長期在“應(yīng)試教育”環(huán)境下成長的學(xué)生來說,其創(chuàng)新思維能力的開發(fā)普遍存在著兩大障礙:
  1) 思維定勢的障礙。解決問題時思維局限在某一處,跳不出自己設(shè)定的思維圈子,也就是常說的思維進(jìn)牛角尖。有了思維定勢障礙,人的創(chuàng)新思維就不可能展現(xiàn)出來。
  2) 思維慣性的障礙。習(xí)慣性思維或傳統(tǒng)性思維在思考一個問題的時候,順理成章的按照自己原來習(xí)慣的想法去處理,不會考慮是否還存在其他更好的解決方案。
  反復(fù)的實(shí)踐是提高學(xué)生能力、消除學(xué)生思維障礙的直接方式[5-6],因此實(shí)踐性強(qiáng)的課程,如程序設(shè)計語言,是鍛煉學(xué)生思維能力的有效途徑。實(shí)驗(yàn)作為理工科教學(xué)的重要內(nèi)容、重要方法,對學(xué)生的知識掌握和科學(xué)研究方法、實(shí)驗(yàn)技能以及創(chuàng)新精神的培養(yǎng),都具有重要的地位和作用。計算機(jī)程序設(shè)計語言的學(xué)習(xí)是一個需要大量編程實(shí)驗(yàn)的過程,否則只能是眼高手低。目前國內(nèi)高校的理工科專業(yè)一般在本科低年級就開設(shè)程序設(shè)計語言,因此,如果在該課程的教學(xué)過程中,利用實(shí)驗(yàn)部分在整個教學(xué)過程中的核心地位,設(shè)計合理的實(shí)驗(yàn)內(nèi)容和教學(xué)方法,引導(dǎo)學(xué)生進(jìn)行主動的探索性學(xué)習(xí),對啟發(fā)學(xué)生在后續(xù)階段學(xué)習(xí)過程中注重創(chuàng)新思維能力的培養(yǎng)具有重要意義。
  1.2高級程序設(shè)計語言教學(xué)對創(chuàng)新思維能力培養(yǎng)的作用
  程序設(shè)計語言不同于學(xué)生以往所接觸的人類自然語言和數(shù)學(xué)公式等,具有很強(qiáng)的抽象性和邏輯性,是一門理論與實(shí)際緊密結(jié)合的課程。程序設(shè)計語言教學(xué)過程中對培養(yǎng)學(xué)生思維能力的作用可體現(xiàn)在以下幾方面:
  1) 有利于培養(yǎng)學(xué)生的抽象思維和邏輯思維能力。抽象思維就是用概念、判斷、推理的形式進(jìn)行的思維。程序設(shè)計更是以抽象思維為基礎(chǔ)的,必須要對所要解決的客觀實(shí)際問題進(jìn)行分析,使用計算機(jī)可理解的模式對其進(jìn)行表達(dá)。在使用計算機(jī)程序解決實(shí)際問題的過程中,學(xué)生的思維會逐漸變得更加嚴(yán)謹(jǐn)。嚴(yán)謹(jǐn)?shù)某橄笏季S能力為創(chuàng)造性思維的訓(xùn)練奠定了基礎(chǔ)。
  2) 有助于加強(qiáng)創(chuàng)造性思維的實(shí)踐訓(xùn)練。創(chuàng)造性思維的具體過程一般包括準(zhǔn)備、醞釀、頓悟和驗(yàn)證四個階段,而計算機(jī)程序設(shè)計正是這四個階段的典型表現(xiàn)。要設(shè)計一個功能正確的程序,一般要經(jīng)過分析、設(shè)計流程圖、編寫代碼、調(diào)試和功能驗(yàn)證這幾個階段。分析到流程圖是準(zhǔn)備和醞釀的過程,需要構(gòu)建程序的總體框架,以框架為基礎(chǔ)才能編寫代碼;代碼完成之后要經(jīng)過反復(fù)的調(diào)試和測試,直到程序?qū)崿F(xiàn)預(yù)期效果,這是一個艱難的思維過程。編寫代碼、上機(jī)調(diào)試、分析運(yùn)行結(jié)果都會給學(xué)生帶來直觀的成就感,會激發(fā)學(xué)生進(jìn)一步的探索欲望。因此在此過程中有意識地啟發(fā)、鼓勵學(xué)生進(jìn)行自主地探索和實(shí)踐,必將極大地發(fā)揮學(xué)生潛在的創(chuàng)造能力。
  編程思維是無止境的,解決不同問題具有不同的分析方法、算法和代碼實(shí)現(xiàn)方法。教師有意識地引導(dǎo)學(xué)生從多視角多方位進(jìn)行編程思考,會使思維能力得到跳躍式擴(kuò)展和提高。
  2C語言教學(xué)過程中創(chuàng)新思維的培養(yǎng)方法
  C程序設(shè)計語言內(nèi)容多、語法規(guī)則繁雜、使用靈活,但課堂授課學(xué)時相對較少。傳統(tǒng)的教學(xué)模式是:以語言的語句體系、語法規(guī)范為脈絡(luò)展開教學(xué),詳細(xì)地介紹其語法規(guī)則等細(xì)節(jié)內(nèi)容,對于每一個語法規(guī)范學(xué)生都會做一些相關(guān)的習(xí)題。這種教學(xué)模式只注重表層知識的灌輸,而忽視了學(xué)生知識的內(nèi)化過程和學(xué)生的感受。在課堂教學(xué)中,學(xué)生通常會感到枯燥乏味,學(xué)習(xí)積極性不高,學(xué)完之后編程能力和分析、解決實(shí)際問題的能力仍然較差。即使是編寫功能簡單的程序,不少學(xué)生也感到無從下手。解決這一問題,首先要讓學(xué)生意識到程序設(shè)計語言的學(xué)習(xí)重點(diǎn)不是書本上的理論知識,而是要學(xué)會通過編寫計算機(jī)程序來解決一個實(shí)際問題。因此要將課堂教學(xué)內(nèi)容從傳統(tǒng)的講授語法規(guī)則為主,轉(zhuǎn)變?yōu)橹v授解決問題的方法和思路為主,讓學(xué)生充分感受到程序設(shè)計語言的精華,使學(xué)生認(rèn)識到,編寫程序是一項(xiàng)極具挑戰(zhàn)性和創(chuàng)造性的勞動。
  因此,將啟發(fā)學(xué)生創(chuàng)新思維的理念貫穿到教學(xué)的各個環(huán)節(jié)是程序設(shè)計語言教學(xué)過程中必須注意的問題。具體的可從以下方面進(jìn)行改善和提高。
  2.1改進(jìn)教學(xué)內(nèi)容和方法,充分調(diào)動學(xué)生的學(xué)習(xí)積極性
  大部分學(xué)生對計算機(jī)程序語言的認(rèn)識甚少,如果在教學(xué)時采用照本宣科式講解方式,會使學(xué)生覺得該記憶的東西太多,又沒有規(guī)律可循,影響學(xué)習(xí)的興趣。因此在教學(xué)內(nèi)容的安排和實(shí)施上,要想方設(shè)法使學(xué)生能夠在一開始就產(chǎn)生學(xué)習(xí)的好奇心,為此可以將抽象的概念形象化,并引入若干簡單有趣、學(xué)生又比較熟悉的問題作為程序?qū)嵗?。例如,在學(xué)習(xí)“嵌套循環(huán)”這一知識點(diǎn)時,學(xué)生往往會對這種“一層套一層”的語句結(jié)構(gòu)感到迷惑,難以理解循環(huán)變量的變化和循環(huán)體內(nèi)容的變化。對此,可將嵌套循環(huán)結(jié)構(gòu)與大家都所熟知的“時間嵌套”做類比:通常我們描述時間的方式是年、月、日、時、分和秒,每過60秒就增加1分鐘,每過60分就增加1小時,每過24小時就增加1天,每過30天就可能是1月,以此類推。其中60、24、30就好比嵌套循環(huán)中的循環(huán)變量,從“秒”開始計時好比從循環(huán)結(jié)構(gòu)的最里層開始執(zhí)行循環(huán)體。這樣的比喻,學(xué)生就會較為容易地理解“嵌套循環(huán)”的概念。在理解了概念的基礎(chǔ)上,可以通過“輸出九九乘法表”的程序?qū)崿F(xiàn),進(jìn)一步理解嵌套循環(huán)的應(yīng)用。通過實(shí)例使學(xué)生了解高級語言編程能解決什么樣的問題,深入淺出地介紹一些重要但抽象的概念,避免影響學(xué)生的學(xué)習(xí)興趣。
  另外在教學(xué)中可以補(bǔ)充講解“程序設(shè)計的思想”、“如何提高編程能力”等方面的內(nèi)容,解決學(xué)生在程序設(shè)計過程中所遇到的方法、思路上的障礙。例如,在學(xué)生開始編寫第一個程序之前,首先可以向?qū)W生介紹什么是良好的編碼習(xí)慣,編寫代碼在形式上應(yīng)該注意什么哪些問題,確保程序的可讀性;在學(xué)習(xí)了函數(shù)之后,可以介紹一些程序設(shè)計中“模塊化”思想的應(yīng)用。這些知識將有助于學(xué)生編寫高質(zhì)量的程序。
  2.2注重算法設(shè)計的指導(dǎo),激活學(xué)生思維
  計算機(jī)程序在結(jié)構(gòu)上有一定的穩(wěn)定性和不變性,但程序的特征更明顯地表現(xiàn)為程序算法上的靈活性。通過合理利用思維特征,使學(xué)生對程序設(shè)計語言有全面、深入的認(rèn)識。具體可以從以下兩方面進(jìn)行嘗試:
  
  第一,利用思維定勢的積極作用,使學(xué)生掌握程序的基本流程和基本結(jié)構(gòu)。
  思維定勢的積極作用是指人們一旦形成某種思維定勢后,在條件不變時,就能迅速地感知對象,產(chǎn)生聯(lián)想。在遇到同類問題時,人們就會用某種固定的思維模式去分析問題和解決問題。遇到新問題時,人們就會想起已經(jīng)學(xué)過的知識,利用已有的方法、經(jīng)驗(yàn)來解決新問題。就計算機(jī)程序而言,無論采用結(jié)構(gòu)化設(shè)計思想或面向?qū)ο笤O(shè)計思想,其中總存在一些相對穩(wěn)定、不易發(fā)生變化的內(nèi)容。例如,在講授程序結(jié)構(gòu)的過程中,可通過實(shí)例讓學(xué)生明白:一個典型的C語言程序只能有一個main函數(shù),程序一般都分為若干模塊,模塊可以通過函數(shù)實(shí)現(xiàn);一個程序可分為多個文件,文件之間是可以相互訪問的。這樣學(xué)生對程序的基本結(jié)構(gòu)就有了較為準(zhǔn)確認(rèn)識,在需要編寫程序解決問題的時候,就可以較容易的設(shè)計出程序的框架結(jié)構(gòu)。事實(shí)上,編寫程序過程中往往存在著可參考的模板,在利用前人的成果基礎(chǔ)之上,再根據(jù)實(shí)際需要做一些改變,對于程序設(shè)計語言的初學(xué)者而言,可以達(dá)到事半功倍的效果。
  第二,打破思維定勢的局限,激發(fā)學(xué)生從多角度多方面考慮問題。
  首先要引導(dǎo)學(xué)生理解程序設(shè)計語言的特征,主要讓學(xué)生明白自然語言和計算機(jī)語言的差異。如,長度為n的數(shù)組其下標(biāo)是從0到n-1,而不是日常計數(shù)所認(rèn)為的1到n;任何變量在使用之前都要先定義,而不能隨意使用。通過類似的大量的實(shí)例使學(xué)生理解,任何一種語言都有一套相應(yīng)的語法規(guī)則和約束機(jī)制,程序設(shè)計語言必須嚴(yán)格遵循這些規(guī)則和約束。
  其次啟發(fā)學(xué)生利用多種技術(shù)、多種算法解決同一個問題。主要表現(xiàn)在代碼實(shí)現(xiàn)技術(shù)和算法設(shè)計兩方面。就代碼實(shí)現(xiàn)技術(shù)來說,例如對一個需要用循環(huán)解決的問題,可考慮分別使用for循環(huán),while循環(huán),do-while循環(huán)來實(shí)現(xiàn);存儲一組無序的數(shù)列,可分別使用數(shù)組和鏈表來實(shí)現(xiàn)等。就算法設(shè)計而言,例如,對一組數(shù)列進(jìn)行排序,可通過二重循環(huán)的冒泡排序?qū)崿F(xiàn),也可考慮將數(shù)列存放在恰當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)中,用復(fù)雜度更低的堆排序?qū)崿F(xiàn)。再考慮判斷整數(shù)P是否為素數(shù)的問題,最簡單的想法是利用素數(shù)的定義,判斷P不能被2,3,…,P-1之間的數(shù)整除;進(jìn)一步再引導(dǎo)學(xué)生對算法進(jìn)行優(yōu)化,若P不是素數(shù),則P必能表示為兩數(shù)之積:P=i*j(i<=j且i<=sqrt

吴忠市| 黄陵县| 松阳县| 布尔津县| 东莞市| 延长县| 隆昌县| 通榆县| 鹤岗市| 布尔津县| 玛沁县| 滨海县| 洛浦县| 溆浦县| 五家渠市| 封开县| 荣昌县| 长阳| 陇南市| 敦煌市| 久治县| 普格县| 三穗县| 汝阳县| 巴林左旗| 连南| 沙洋县| 宝山区| 略阳县| 池州市| 兴宁市| 绥阳县| 绥化市| 永顺县| 岐山县| 城市| 鄱阳县| 天门市| 萍乡市| 木兰县| 万全县|