洪英
【摘 要】本文是對《算法與程序設計》選修的教學內容進行分析,提出高中《算法與程序設計》教學要注意培養學生的學習興趣、講練結合、難度適宜、并結合其他學科的問題應用程序解決,達到它為我用的目的。注意《算法與程序設計》要分階段進行,不同階段應選取不同的教學模式、教學方法,并對教學活動的組織形式做了較為詳細的論述。文章根據現行教材“任務教學”的模式,提出了“任務教學”中涉及的一些具體問題。
【關鍵詞】算法 VB程序設計 培養良好的學習興趣 講練結合 難度適宜 與其學科相結合 教學模式 教學方法
高中信息技術課已經開始向多元化發展,對高中生學習信息技術課不但要掌握基本知識,更要學習如何自己設計制作計算機作品,而其中又以設計程序為難點。現在計算機的多媒體的應用已經很普遍,而且學生對多媒體也容易感興趣。相對多媒體而言,程序設計就顯得枯燥無味。但是程序設計又是計算機的基礎,只有程序設計掌握好了,才能更好地開發多媒體。并且對于高中生來說,高中許多課程都與計算機有關聯,例如高中數學必修3中的第一章就是《算法初步》,其中有一些問題涉及程序設計的編程思路,對學生的邏輯思維能力提出了較高的要求。高中數學還要求學生能夠把一些具體問題轉化為數學模型解決。這些思想方法也是程序設計中最重要的思想方法,本質上并沒有太大的區別。不同處主要是“VB程序設計”還要求學生具備一定的計算機操作能力。
我們目前使用的教材浙教版,其中《算法與程序設計》是選修1。如何上好這門課,實現信息技術課程的教育目標,在短短的一學期的教學實踐中,通過和其他老師的討論學習,對高中信息技術教育《算法與程序設計》有了一些初步的想法、體會、構想。
一、 培養良好的學習興趣
愛因斯坦說:“興趣是最好的老師。”所以培養學生的學習興趣是關鍵所在。我在VB教學中,首先考慮了學生愛玩的天性,在上第一節課時,我應用VB制作了“QQ登錄界面”,以及模仿李詠的“猜價格”游戲,先讓學生觀看這個小軟件,并體會該程序。這時學生就會對這個程序是怎么編寫的產生濃厚興趣。學生有了興趣,學習就會變得輕松有趣了。這時我再引入算法,以及程序的概念等基礎知識。在激發了學生的濃厚興趣后,再引入課題,讓學生帶著興趣上課,可以達到事半功倍的效果,并且對以后學習程序有了積極主動性。
在以后的教學中同樣的要注重興趣的培養,“萬事開頭難”,但是要保持住原有的興趣同樣也是比較困難的。所以我將一些數學題引入到課堂上,讓學生分組討論,設計算法,編寫程序,然后將不同的算法作比較,測試其可行性,如果有錯誤,可以共同分析錯誤并修改,如果分組討論的結果都可行,可以比較不同算法的復雜性,讓學生之間多交流,從而可以相互取長補短、擴展學生的思維。例如求解100以內所有能被3整除的數的和,設計算法編寫程序。
算法1設計得簡單,抓住了被3整除數的特征,只用到了循環語句,直接將K(循環變量)的初值設置為3,下一個K=K+3,這樣保證了每一個i都是能夠被3整除的;而算法2相對設計得比較復雜,判斷了100以內的每一個數是不是能夠被3整除,如果能則S=S+K,否則判斷下一個數。通過分析這兩個不同的算法,可以看出,算法1不需要判斷,并且只循環了33次;而算法2循環和判斷語句都執行了100次。這樣學生在自己設計程序時就可以盡量地展開思路,并且在設計算法上更加嚴謹,相互討論自己的算法,可以取長補短,共同進步。
二、講練結合,難度適宜
在教學過程中配合適當的練習,讓學生自己動手做。同樣的給學生一些簡單的有趣的問題,例如“雞兔同籠”,共同討論分析問題、設計算法、編寫程序、上機調試等。學生剛開始接觸VB程序的時候,學生對于VB程序設計思路模糊,不夠清晰,出現的問題相對也較多。這個階段老師要適當應用簡單的示例,例如求解半徑為r的圓的面積等問題的求解,可以提示學生設計算法或給部分程序讓學生補充完整,并且學生可以擴展求解圓錐體體積、表面積等一些復雜的運算,但都是運用順序結構解決的問題。
在基礎掌握牢靠的基礎上再上升一個臺階。先給出比較簡單的問題,讓學生自己設計算法和編寫程序。例如輸入三條邊長,判斷能否構成一個三角形等,有一個判斷語句或一個循環語句就可以解決的問題。在以后的教學中難度逐步加大,適當地加入簡單的嵌套結構,讓學生能夠應用計算機解決相對較復雜的問題,例如求解一元二次方程ax2+bx+c=0的根,要先判斷a≠0,且b2-4ac≥,如果兩個條件都滿足則判斷b2-4ac=0,如果是則有兩相等的實數根,否則是不相等的兩個實根;這道題就用到了雙層嵌套判斷語句,難點在于第二層判斷語句是在第一個條件滿足的情況下才判斷的,不滿足就直接得出無實根。在雙層嵌套語句使用熟練的基礎上,再加大力度,學習使用多層嵌套,以及判斷和循環的嵌套等。每一次難度加大都要建立在學生對前面知識掌握牢固的基礎上,即給學生提出問題,學生能較快地設計算法并編寫出程序,在這個程度上再提高。學生掌握了基礎算法設計和編寫程序的基本要點后,可以靈活地設計一些問題,讓學生多練習、多討論,從而使學生真正掌握算法設計的精髓。
三、與其他學科相結合
可以說,每一個任務的完成都是信息技術的一次很好的應用,都體現著信息技術教學目標的實現。對課本提出的任務,我們必須有明確的認識,這些任務比較寬泛,但任務不是死的,必須結合具體的問題進行探索,隨著教學的深入,引導學生提出與學習過程或實際生活相關的問題,通過解決問題,完成任務。從這個意義上說,“程序設計”的目的絕不僅僅是學會編程,更重要的是通過“程序設計”的學習,培養起高中生必備的信息技術素養。學生對于信息技術這門課不會花費大量的時間,他們的學習重點還是高考科目,但是信息技術學科與其他各學科都有聯系,將其他學科的問題應用“VB程序設計”解決,例如數學中的數列計算第n項、前n項求和、復雜代數式的計算等問題,都可以設計算法,應用VB設計相應的程序,解決學習中的實際問題,這樣學生可以將自己在數學課或物理課中的問題帶到信息技術課上自己設計程序,真正地體驗計算機解決問題的特點和優點,達到它為我用的目的。
這個程序設計的關鍵點是循環語句中循環體的設計,其中an=a1+a2,并及時將a2的賦值給a1,an的值賦給a2,在計算下一個an時保證a1和a2始終是它的前兩項。在解這道數學題的基礎上,學生可以推廣應用到其他數列的計算,修改程序中的一些關鍵語句就可以達到目的。使學生真正進入到編程的樂趣中。
在信息技術課程中,要從信息技術課程自身建設的目的出發,圍繞信息技術課程知識體系展開,使用學生所熟悉的其他學科的應用實例來說明。相當于數學課中的應用題,可以是生活的,也可以是物理或者化學的。就是說要它為我用,不能因其他學科的內容而沖淡了自己課程的主題。這樣做的話,不僅我們學科的教學目的沒有得到很好的實現,其他學科的老師也是不歡迎的。
《算法與程序設計》這門選修課是培養中學生如何應用計算機設計程序解決問題的,是一本有著創新設計的新教材,符合學生的認知過程,教師要深挖教材,要更好地利用教材,引導啟發學生的學習興趣,感悟算法設計的奇妙,激勵學生奮發向上,在求索和創新上大放異彩。endprint
【摘 要】本文是對《算法與程序設計》選修的教學內容進行分析,提出高中《算法與程序設計》教學要注意培養學生的學習興趣、講練結合、難度適宜、并結合其他學科的問題應用程序解決,達到它為我用的目的。注意《算法與程序設計》要分階段進行,不同階段應選取不同的教學模式、教學方法,并對教學活動的組織形式做了較為詳細的論述。文章根據現行教材“任務教學”的模式,提出了“任務教學”中涉及的一些具體問題。
【關鍵詞】算法 VB程序設計 培養良好的學習興趣 講練結合 難度適宜 與其學科相結合 教學模式 教學方法
高中信息技術課已經開始向多元化發展,對高中生學習信息技術課不但要掌握基本知識,更要學習如何自己設計制作計算機作品,而其中又以設計程序為難點。現在計算機的多媒體的應用已經很普遍,而且學生對多媒體也容易感興趣。相對多媒體而言,程序設計就顯得枯燥無味。但是程序設計又是計算機的基礎,只有程序設計掌握好了,才能更好地開發多媒體。并且對于高中生來說,高中許多課程都與計算機有關聯,例如高中數學必修3中的第一章就是《算法初步》,其中有一些問題涉及程序設計的編程思路,對學生的邏輯思維能力提出了較高的要求。高中數學還要求學生能夠把一些具體問題轉化為數學模型解決。這些思想方法也是程序設計中最重要的思想方法,本質上并沒有太大的區別。不同處主要是“VB程序設計”還要求學生具備一定的計算機操作能力。
我們目前使用的教材浙教版,其中《算法與程序設計》是選修1。如何上好這門課,實現信息技術課程的教育目標,在短短的一學期的教學實踐中,通過和其他老師的討論學習,對高中信息技術教育《算法與程序設計》有了一些初步的想法、體會、構想。
一、 培養良好的學習興趣
愛因斯坦說:“興趣是最好的老師。”所以培養學生的學習興趣是關鍵所在。我在VB教學中,首先考慮了學生愛玩的天性,在上第一節課時,我應用VB制作了“QQ登錄界面”,以及模仿李詠的“猜價格”游戲,先讓學生觀看這個小軟件,并體會該程序。這時學生就會對這個程序是怎么編寫的產生濃厚興趣。學生有了興趣,學習就會變得輕松有趣了。這時我再引入算法,以及程序的概念等基礎知識。在激發了學生的濃厚興趣后,再引入課題,讓學生帶著興趣上課,可以達到事半功倍的效果,并且對以后學習程序有了積極主動性。
在以后的教學中同樣的要注重興趣的培養,“萬事開頭難”,但是要保持住原有的興趣同樣也是比較困難的。所以我將一些數學題引入到課堂上,讓學生分組討論,設計算法,編寫程序,然后將不同的算法作比較,測試其可行性,如果有錯誤,可以共同分析錯誤并修改,如果分組討論的結果都可行,可以比較不同算法的復雜性,讓學生之間多交流,從而可以相互取長補短、擴展學生的思維。例如求解100以內所有能被3整除的數的和,設計算法編寫程序。
算法1設計得簡單,抓住了被3整除數的特征,只用到了循環語句,直接將K(循環變量)的初值設置為3,下一個K=K+3,這樣保證了每一個i都是能夠被3整除的;而算法2相對設計得比較復雜,判斷了100以內的每一個數是不是能夠被3整除,如果能則S=S+K,否則判斷下一個數。通過分析這兩個不同的算法,可以看出,算法1不需要判斷,并且只循環了33次;而算法2循環和判斷語句都執行了100次。這樣學生在自己設計程序時就可以盡量地展開思路,并且在設計算法上更加嚴謹,相互討論自己的算法,可以取長補短,共同進步。
二、講練結合,難度適宜
在教學過程中配合適當的練習,讓學生自己動手做。同樣的給學生一些簡單的有趣的問題,例如“雞兔同籠”,共同討論分析問題、設計算法、編寫程序、上機調試等。學生剛開始接觸VB程序的時候,學生對于VB程序設計思路模糊,不夠清晰,出現的問題相對也較多。這個階段老師要適當應用簡單的示例,例如求解半徑為r的圓的面積等問題的求解,可以提示學生設計算法或給部分程序讓學生補充完整,并且學生可以擴展求解圓錐體體積、表面積等一些復雜的運算,但都是運用順序結構解決的問題。
在基礎掌握牢靠的基礎上再上升一個臺階。先給出比較簡單的問題,讓學生自己設計算法和編寫程序。例如輸入三條邊長,判斷能否構成一個三角形等,有一個判斷語句或一個循環語句就可以解決的問題。在以后的教學中難度逐步加大,適當地加入簡單的嵌套結構,讓學生能夠應用計算機解決相對較復雜的問題,例如求解一元二次方程ax2+bx+c=0的根,要先判斷a≠0,且b2-4ac≥,如果兩個條件都滿足則判斷b2-4ac=0,如果是則有兩相等的實數根,否則是不相等的兩個實根;這道題就用到了雙層嵌套判斷語句,難點在于第二層判斷語句是在第一個條件滿足的情況下才判斷的,不滿足就直接得出無實根。在雙層嵌套語句使用熟練的基礎上,再加大力度,學習使用多層嵌套,以及判斷和循環的嵌套等。每一次難度加大都要建立在學生對前面知識掌握牢固的基礎上,即給學生提出問題,學生能較快地設計算法并編寫出程序,在這個程度上再提高。學生掌握了基礎算法設計和編寫程序的基本要點后,可以靈活地設計一些問題,讓學生多練習、多討論,從而使學生真正掌握算法設計的精髓。
三、與其他學科相結合
可以說,每一個任務的完成都是信息技術的一次很好的應用,都體現著信息技術教學目標的實現。對課本提出的任務,我們必須有明確的認識,這些任務比較寬泛,但任務不是死的,必須結合具體的問題進行探索,隨著教學的深入,引導學生提出與學習過程或實際生活相關的問題,通過解決問題,完成任務。從這個意義上說,“程序設計”的目的絕不僅僅是學會編程,更重要的是通過“程序設計”的學習,培養起高中生必備的信息技術素養。學生對于信息技術這門課不會花費大量的時間,他們的學習重點還是高考科目,但是信息技術學科與其他各學科都有聯系,將其他學科的問題應用“VB程序設計”解決,例如數學中的數列計算第n項、前n項求和、復雜代數式的計算等問題,都可以設計算法,應用VB設計相應的程序,解決學習中的實際問題,這樣學生可以將自己在數學課或物理課中的問題帶到信息技術課上自己設計程序,真正地體驗計算機解決問題的特點和優點,達到它為我用的目的。
這個程序設計的關鍵點是循環語句中循環體的設計,其中an=a1+a2,并及時將a2的賦值給a1,an的值賦給a2,在計算下一個an時保證a1和a2始終是它的前兩項。在解這道數學題的基礎上,學生可以推廣應用到其他數列的計算,修改程序中的一些關鍵語句就可以達到目的。使學生真正進入到編程的樂趣中。
在信息技術課程中,要從信息技術課程自身建設的目的出發,圍繞信息技術課程知識體系展開,使用學生所熟悉的其他學科的應用實例來說明。相當于數學課中的應用題,可以是生活的,也可以是物理或者化學的。就是說要它為我用,不能因其他學科的內容而沖淡了自己課程的主題。這樣做的話,不僅我們學科的教學目的沒有得到很好的實現,其他學科的老師也是不歡迎的。
《算法與程序設計》這門選修課是培養中學生如何應用計算機設計程序解決問題的,是一本有著創新設計的新教材,符合學生的認知過程,教師要深挖教材,要更好地利用教材,引導啟發學生的學習興趣,感悟算法設計的奇妙,激勵學生奮發向上,在求索和創新上大放異彩。endprint
【摘 要】本文是對《算法與程序設計》選修的教學內容進行分析,提出高中《算法與程序設計》教學要注意培養學生的學習興趣、講練結合、難度適宜、并結合其他學科的問題應用程序解決,達到它為我用的目的。注意《算法與程序設計》要分階段進行,不同階段應選取不同的教學模式、教學方法,并對教學活動的組織形式做了較為詳細的論述。文章根據現行教材“任務教學”的模式,提出了“任務教學”中涉及的一些具體問題。
【關鍵詞】算法 VB程序設計 培養良好的學習興趣 講練結合 難度適宜 與其學科相結合 教學模式 教學方法
高中信息技術課已經開始向多元化發展,對高中生學習信息技術課不但要掌握基本知識,更要學習如何自己設計制作計算機作品,而其中又以設計程序為難點。現在計算機的多媒體的應用已經很普遍,而且學生對多媒體也容易感興趣。相對多媒體而言,程序設計就顯得枯燥無味。但是程序設計又是計算機的基礎,只有程序設計掌握好了,才能更好地開發多媒體。并且對于高中生來說,高中許多課程都與計算機有關聯,例如高中數學必修3中的第一章就是《算法初步》,其中有一些問題涉及程序設計的編程思路,對學生的邏輯思維能力提出了較高的要求。高中數學還要求學生能夠把一些具體問題轉化為數學模型解決。這些思想方法也是程序設計中最重要的思想方法,本質上并沒有太大的區別。不同處主要是“VB程序設計”還要求學生具備一定的計算機操作能力。
我們目前使用的教材浙教版,其中《算法與程序設計》是選修1。如何上好這門課,實現信息技術課程的教育目標,在短短的一學期的教學實踐中,通過和其他老師的討論學習,對高中信息技術教育《算法與程序設計》有了一些初步的想法、體會、構想。
一、 培養良好的學習興趣
愛因斯坦說:“興趣是最好的老師。”所以培養學生的學習興趣是關鍵所在。我在VB教學中,首先考慮了學生愛玩的天性,在上第一節課時,我應用VB制作了“QQ登錄界面”,以及模仿李詠的“猜價格”游戲,先讓學生觀看這個小軟件,并體會該程序。這時學生就會對這個程序是怎么編寫的產生濃厚興趣。學生有了興趣,學習就會變得輕松有趣了。這時我再引入算法,以及程序的概念等基礎知識。在激發了學生的濃厚興趣后,再引入課題,讓學生帶著興趣上課,可以達到事半功倍的效果,并且對以后學習程序有了積極主動性。
在以后的教學中同樣的要注重興趣的培養,“萬事開頭難”,但是要保持住原有的興趣同樣也是比較困難的。所以我將一些數學題引入到課堂上,讓學生分組討論,設計算法,編寫程序,然后將不同的算法作比較,測試其可行性,如果有錯誤,可以共同分析錯誤并修改,如果分組討論的結果都可行,可以比較不同算法的復雜性,讓學生之間多交流,從而可以相互取長補短、擴展學生的思維。例如求解100以內所有能被3整除的數的和,設計算法編寫程序。
算法1設計得簡單,抓住了被3整除數的特征,只用到了循環語句,直接將K(循環變量)的初值設置為3,下一個K=K+3,這樣保證了每一個i都是能夠被3整除的;而算法2相對設計得比較復雜,判斷了100以內的每一個數是不是能夠被3整除,如果能則S=S+K,否則判斷下一個數。通過分析這兩個不同的算法,可以看出,算法1不需要判斷,并且只循環了33次;而算法2循環和判斷語句都執行了100次。這樣學生在自己設計程序時就可以盡量地展開思路,并且在設計算法上更加嚴謹,相互討論自己的算法,可以取長補短,共同進步。
二、講練結合,難度適宜
在教學過程中配合適當的練習,讓學生自己動手做。同樣的給學生一些簡單的有趣的問題,例如“雞兔同籠”,共同討論分析問題、設計算法、編寫程序、上機調試等。學生剛開始接觸VB程序的時候,學生對于VB程序設計思路模糊,不夠清晰,出現的問題相對也較多。這個階段老師要適當應用簡單的示例,例如求解半徑為r的圓的面積等問題的求解,可以提示學生設計算法或給部分程序讓學生補充完整,并且學生可以擴展求解圓錐體體積、表面積等一些復雜的運算,但都是運用順序結構解決的問題。
在基礎掌握牢靠的基礎上再上升一個臺階。先給出比較簡單的問題,讓學生自己設計算法和編寫程序。例如輸入三條邊長,判斷能否構成一個三角形等,有一個判斷語句或一個循環語句就可以解決的問題。在以后的教學中難度逐步加大,適當地加入簡單的嵌套結構,讓學生能夠應用計算機解決相對較復雜的問題,例如求解一元二次方程ax2+bx+c=0的根,要先判斷a≠0,且b2-4ac≥,如果兩個條件都滿足則判斷b2-4ac=0,如果是則有兩相等的實數根,否則是不相等的兩個實根;這道題就用到了雙層嵌套判斷語句,難點在于第二層判斷語句是在第一個條件滿足的情況下才判斷的,不滿足就直接得出無實根。在雙層嵌套語句使用熟練的基礎上,再加大力度,學習使用多層嵌套,以及判斷和循環的嵌套等。每一次難度加大都要建立在學生對前面知識掌握牢固的基礎上,即給學生提出問題,學生能較快地設計算法并編寫出程序,在這個程度上再提高。學生掌握了基礎算法設計和編寫程序的基本要點后,可以靈活地設計一些問題,讓學生多練習、多討論,從而使學生真正掌握算法設計的精髓。
三、與其他學科相結合
可以說,每一個任務的完成都是信息技術的一次很好的應用,都體現著信息技術教學目標的實現。對課本提出的任務,我們必須有明確的認識,這些任務比較寬泛,但任務不是死的,必須結合具體的問題進行探索,隨著教學的深入,引導學生提出與學習過程或實際生活相關的問題,通過解決問題,完成任務。從這個意義上說,“程序設計”的目的絕不僅僅是學會編程,更重要的是通過“程序設計”的學習,培養起高中生必備的信息技術素養。學生對于信息技術這門課不會花費大量的時間,他們的學習重點還是高考科目,但是信息技術學科與其他各學科都有聯系,將其他學科的問題應用“VB程序設計”解決,例如數學中的數列計算第n項、前n項求和、復雜代數式的計算等問題,都可以設計算法,應用VB設計相應的程序,解決學習中的實際問題,這樣學生可以將自己在數學課或物理課中的問題帶到信息技術課上自己設計程序,真正地體驗計算機解決問題的特點和優點,達到它為我用的目的。
這個程序設計的關鍵點是循環語句中循環體的設計,其中an=a1+a2,并及時將a2的賦值給a1,an的值賦給a2,在計算下一個an時保證a1和a2始終是它的前兩項。在解這道數學題的基礎上,學生可以推廣應用到其他數列的計算,修改程序中的一些關鍵語句就可以達到目的。使學生真正進入到編程的樂趣中。
在信息技術課程中,要從信息技術課程自身建設的目的出發,圍繞信息技術課程知識體系展開,使用學生所熟悉的其他學科的應用實例來說明。相當于數學課中的應用題,可以是生活的,也可以是物理或者化學的。就是說要它為我用,不能因其他學科的內容而沖淡了自己課程的主題。這樣做的話,不僅我們學科的教學目的沒有得到很好的實現,其他學科的老師也是不歡迎的。
《算法與程序設計》這門選修課是培養中學生如何應用計算機設計程序解決問題的,是一本有著創新設計的新教材,符合學生的認知過程,教師要深挖教材,要更好地利用教材,引導啟發學生的學習興趣,感悟算法設計的奇妙,激勵學生奮發向上,在求索和創新上大放異彩。endprint