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

?

思維方法的遷移與程序設計教學

2020-04-14 05:01趙明陽
中國信息技術教育 2020年7期
關鍵詞:數(shù)理化程序設計算法

趙明陽

從中學信息技術學科知識的特點出發(fā),結合中學生的心理特征可知,程序設計教學對學生計算思維的提升作用最為顯著。程序設計課程在提高學生的邏輯思維能力和創(chuàng)造思維能力方面,有著獨特的優(yōu)勢,但它有一定的學習難度,加上高考的影響和其他因素的制約,使得很多學生不愿意深入學習,進而很難達到掌握知識、發(fā)展智力的效果。因此有必要通過分析學生的心理特征,充分調動其內在潛力,從學生思維方法的遷移角度,進行分析研究。

● 從心理學觀點剖析程序設計的教學

教學中讓學生學習感到吃力、難以理解的知識可以分成兩類:一類是知識本身的難度較大,即與原有知識的梯度或跨度較大,如物理的力學、數(shù)學的排列組合等;一類是知識難度不大,但其與原有的知識系統(tǒng)聯(lián)系甚少,學生不適應,如數(shù)學的平面解析幾何、二進制等。程序設計教學即屬于后者,在進行程序設計教學時,學生能聽得懂,但當自己動手編程的時候會遇到很多問題,致使不少學生放棄學習,原因就是學生沒有完成這類思維方法的遷移。

中學階段是學生智力發(fā)展的關鍵時期,學生的抽象思維以經(jīng)驗型為主,逐漸向理論型轉化。這種轉化從屬于認識規(guī)律,從量變到質變,從許多小的質變構成大的質變,這種思維水平由經(jīng)驗型向理論型轉變的契機是借助于學生思維過程中的某種適應方法來實現(xiàn)的,筆者認為這種適應的方法就是一種遷移的結果。所以,在學習的初始階段,每個學生都需要一段時間,下一番功夫來適應,這種適應即是完成思維方法的遷移。

有效的教學方法往往是歸納出有關問題的相同點和不同點,讓學生深入認識和記憶。由于興趣和記憶效率對事物的相同點和不同點是等同的,學生首先感興趣和最容易記住的是事物截然相反的性質。利用此心理特點,可以分析一下解題過程:數(shù)理化等科目的題解與程序設計的前提都是對所用到的知識進行理解和掌握,這是共同點,數(shù)理化等科目題目的解題過程是抓住已知條件,發(fā)現(xiàn)題目的規(guī)律和特點,依據(jù)定理、公式,經(jīng)過幾步運算或推理,得出結果或結論;程序設計的過程是抓住已知條件,發(fā)現(xiàn)規(guī)律,建立數(shù)學模型,找到算法,畫出流程圖,編寫程序,讓計算機通過程序運行得出結果或結論。明顯的差異在于編程是找出算法,這種算法,在很多情況下和數(shù)學習慣是不同的,所以,筆者認為在進行程序設計訓練時,要給學生提供較多的感性材料,讓學生觀察、熟悉、記憶、想象,抓好學習基礎,突破學習難點,掌握規(guī)律、方法,促進思維的轉化。

● 實現(xiàn)思維遷移的幾點體會

1.掌握事物的屬性

學生在學習的時候很少能靜下心來細細分析事物的屬性,這就需要教師在教學中引導學生正確認知客觀事物,并掌握事物的屬性。例如,在程序設計的學習中,學生剛接觸變量的時候,比較難理解它的屬性,因為在數(shù)理化各科中,用字母代表某一概念、事物或某一數(shù)值,在題目中字母一旦被確定,就始終不變,即建立起一一對應的關系。而在學習程序設計的賦值語句中出現(xiàn)s=s+a或a=a+1等情況時,s和a的值是不斷變化的,這就是教師在教學中要突破的重點難點,即加深學生對變量動態(tài)屬性的理解和記憶。在教學中,教師可讓學生進行一些多數(shù)據(jù)的練習,如a=a+b,b=b+a等類型,使學生逐步適應語句的特點,充分理解變量“變”的屬性。

2.培養(yǎng)和激發(fā)學生學習的興趣

學生剛開始學習程序設計時,對一切都感到很新鮮,教師要珍視這種好奇心,防止學生熱心學習的勁頭減弱和消失。鑒于學生學習數(shù)學的習慣,教師可以先找一些算法與數(shù)學方法相近的題目(學生對這類題目更感興趣,所以更容易接受并掌握),減弱他們學習編程的畏懼心理,使其對編程有似曾相識之感,這樣,不但能保持學生原有的興趣,還能不斷誘發(fā)他們新的學習興趣。此類題目一方面可以結合數(shù)理化等教材習題,如初中幾何的面積、高中幾何的體積、物理的路程長度等,另一方面也可以選擇與數(shù)學方法接近又帶有一定興趣的例題,范例如下。

例題:從一樓到二樓總共有16級臺階,每次上樓可以跨一級或二級臺階,計算從一樓到二樓共有多少種不同的走法?

數(shù)學方法:a1=1,a2=2,…,推導出通項公式an=an-1+an-2

數(shù)列為1,2,3,5,8……

在程序設計中則可以利用數(shù)組、迭代、遞歸等三種方法來解決。

計算機設計程序題目多數(shù)比較抽象,教師可聯(lián)系實際,聯(lián)系數(shù)理化知識進行講授,讓學生明白這種抽象是合理的、必須的,是符合數(shù)學習慣的。教師要啟發(fā)學生從實際事物中找出規(guī)律,從具體的事物中推想合乎道理、合乎邏輯的算法,然后再上機檢驗。這種合乎思維規(guī)律的教學,對知識的理解和掌握、對學生學習興趣的培養(yǎng)以及能力的發(fā)展都是極有好處的。

3.重點突破,逐步鞏固

學生通過多年的數(shù)理化學習,已經(jīng)形成較完整的思維習慣和解題方法。數(shù)理化的解題方法,如綜合法、分析法、歸納法和反證法等,雖然方法各異,但其解題過程基本類似,都沒有分支,沒有循環(huán),沒有對中間結果的判斷,每一步都是向著最終目標前進。

在程序設計教學中,需要學習程序的三種基本控制結構:順序結構、分支結構和循環(huán)結構。順序結構的執(zhí)行過程是按照順序執(zhí)行,它和數(shù)學學科的思維習慣基本相同,學生容易接受和理解;分支結構中有一個判斷框,根據(jù)判斷框中的條件成立與否選擇執(zhí)行的分支;循環(huán)結構是封閉型的結構,循環(huán)的執(zhí)行是在一定的條件下進行的,在執(zhí)行有限次之后退出。分支結構、循環(huán)機構和學生的思維習慣不同,從順序結構到分支和循環(huán)結構,是一個突變和升華。例如,在一個程序中如果出現(xiàn)3個獨立的條件轉移語句就可能出現(xiàn)8種(23=8)不同的執(zhí)行路徑,面對這么多種可能,學生普遍感到困難。對判斷的選擇,對何時返回循環(huán)體、何時退出循環(huán),學生都不習慣,他們體會不到這種方式對程序的必要性,掌握不了分支和循環(huán)的思考方法,處于盲目和被動階段,容易產(chǎn)生畏懼情緒,因此這部分內容是程序設計教學的突破點。當然,盡管程序設計與數(shù)學學科差異很大,但二者絕不是不相關,它們的數(shù)學模型都是一致的,這也是本文所談的思維遷移能夠實現(xiàn)的前提。

以解線性方程組為例,數(shù)學解題有多種形式,中學生常用的是加減消元法,編程常用的是高斯消元法。單獨用筆解方程,加減消元法顯然優(yōu)越于高斯消元法,計算機之所以采用這種古老的方式,是因為這種方法程序更易于編寫,計算機的運算速度快。數(shù)學采用加減消元法是利用人腦思維極易判斷該方程系數(shù)關系選擇先消去的元,而計算機沒有思維,只能識別、判斷和控制,因此,在程序設計的教學中,對程序設計的首要任務就是編制易讀、易理解的程序,然后再優(yōu)化。

4.培養(yǎng)發(fā)散思維

學生在學習了一系列的算法后,在解題過程中總會想著利用已知算法去套用,長此以往會形成思維的惰性。所以,教師一方面要引導學生對所學算法進行分析、歸納,讓學生明白每種算法都有各自的特征與適用范圍,而每道題也都有各自的特點,不能生搬硬套;另一方面,要提倡一題多解,激勵學生對算法進行優(yōu)化、創(chuàng)新,糾正惰性思維,使學生處于“憤”和“悱”之境,打破原有模式,嘗試各種組合,激發(fā)學生的靈感和頓悟,啟迪其發(fā)散思維。

例題:有n門課程,選修每一門課程都能得到一定的學分。但在選修課程時,必須先選修它的直接選修課,每一門課程最多有一門直接選修課程,如想要選修數(shù)據(jù)結構,必須先選修C語言,此時的C語言就是數(shù)據(jù)結構的直接選修課。問:對給定的n門課程、學分以及直接選修課程,怎樣安排選課能達到最高的學分?

該題可以引導學生先從搜索的角度去思考,然后轉換模型成樹,再到二叉樹,學生自然會發(fā)現(xiàn)其實可以用樹形動態(tài)規(guī)劃來解決這道題。所以,適時轉換模型可以促進問題的深入,轉換模型實際上是轉換思維方式,也是發(fā)散性思維的一種體現(xiàn)。

5.注重概念教學

注重教材中的概念,這是必須堅持的,因為一定數(shù)量的相關概念、概念的性質、概念與概念之間關系所產(chǎn)生的定理、定律及其數(shù)量關系構成一個體系,學生只有不斷學習,才能逐步理解,并掌握這個體系,直到完成這門學科的學習任務。相較于數(shù)理化學科,程序設計學習周期短,因此更要注重概念教學,教師絕不應該把精力放在幾條語句的學習上,而要讓學生理解和記憶教材所述的概念,掌握概念的內涵和外延,掌握概念之間的區(qū)別和聯(lián)系,達到教材所規(guī)定的深度。

例如,在學習VB語言程序設計時,初學者常常會出現(xiàn)類似a+b=5的錯誤,究其原因,主要是概念混淆,是對表達式、變量的意義不理解和被學習習慣影響。所以,教師除了講透概念之外,對如變量和數(shù)組的異同,對表達式和關系式的異同,對運算符和關系符的區(qū)別都要講深、講透。

以“求1+2+3+…+100的程序”為例,對程序分析如下:這是求100個數(shù)字的累加和,所以要設計一個計數(shù)器i、一個累加器s。因為計數(shù)器和累加器在以后會經(jīng)常被用到,所以教師在分析程序時,應強調計數(shù)器和累加器,并且介紹其特點和功能以及在程序中的位置意義。凡需要應用或者有可能應用到計算機術語的地方要盡量用計算機專用語言,并力求讓學生理解和掌握。本文所強調的注重概念教學,除對知識的理解、記憶之外,還通過若干概念及其相互關系讓學生逐步在大腦中形成一個體系,從而實現(xiàn)思維的遷移。

程序設計教學難度相對較大,因此有必要加強對教學的研究,有必要加強橫向交流,以提高教師的業(yè)務水平和教學效率,為學生將來的應用和深入學習打下良好的基礎。

猜你喜歡
數(shù)理化程序設計算法
基于OBE的Java程序設計個性化教學研究
項目化教學在Python程序設計課程中的應用
C++程序設計課程教學改革研究
醫(yī)學專業(yè)“Python程序設計”課程教學改革總結與思考
Travellng thg World Full—time for Rree
論高中數(shù)理化知識對生物科學專業(yè)的引導作用
分析高中數(shù)理化學習中的整體思維
學習算法的“三種境界”
算法框圖的補全
算法初步知識盤點
崇仁县| 禹城市| 桃园市| 呼图壁县| 合作市| 曲靖市| 铜陵市| 吴忠市| 汉阴县| 广丰县| 镇康县| 山丹县| 曲阜市| 长岭县| 汝阳县| 阳信县| 陆河县| 防城港市| 大荔县| 马关县| 清丰县| 莱阳市| 临澧县| 孝感市| 宁国市| 临泉县| 阳泉市| 威远县| 赣榆县| 攀枝花市| 大田县| 印江| 仁寿县| 密云县| 重庆市| 满洲里市| 蓬溪县| 从江县| 马关县| 紫金县| 江西省|