第一篇:1.2基本算法語句(教學反思)
1.2基本算法語句(教學反思)
數學組 蔡云巧
課型:匯報課
算法語句是繼“程序框圖”之后學習的內容,是解決某一個(或一類)問題的算法的程序實現. 學習算法的目的,“就是體會算法的基本思想以及算法的重要性和有效性,發展有條理的思考與表達的能力,提高邏輯思維能力”這是因為,隨著現代信息技術飛速發展,算法在科學技術、社會發展中發揮著越來越大的作用,并日益融入社會生活的許多方面,算法思想已經成為現代人應具備的一種數學素養. 以下我談談這堂課的兩點體會:
一、對教學內容的認識
“算法語句”是“新課標”的新增內容.雖然這部分內容不太便于高考考查,但是,它的學習卻有利于培養學生的邏輯思維能力.因此,我們應該認真地組織教學,讓學生“體會算法的基本思想以及算法的重要性和有效性,發展有條理的思考與表達的能力,提高邏輯思維能力”。
二、現代信息技術的使用
這節課是數學課.但圖形計算器起到了很好的輔助作用.程序框圖提供了一個解決問題的設計思路,是否可行、可靠?需要把算法相應的程序語句輸入到計算器上來驗證.僅僅畫出程序框圖,寫出算法語句,沒有經過驗證,仍然有點“紙上談兵”,對程序框圖的可行性缺少驗證,也缺乏真實感的信任.由于有了計算器的支持,不僅能在課堂上很快進行各種賦值計算,驗證所設計的算法,而且便于學生實時的討論與修改,從而幫助學生更好地把握算法結構的特征,增強對算法結構的了解,加深了對算法的體驗,提高了課堂教學效果.由于有了圖形計算器的支持,學生的學習方式改變了,學生的興趣濃、積極性高,參與度高效果明顯增強了.他們可以方便地在“做”中學,既是對自己設計的算法進行驗證,并能及時解決復雜的計算問題正如陸游所說“紙上得來終覺淺,絕知此事要躬行”,更好地體現了學習的本質.
2013-11-20
第二篇:基本算法語句教案
篇一:(教案1)1.2基本算法語句
第一課時 1.2.1輸入、輸出語句和賦值語句
一、教學目標:
1、知識與技能
(1)正確理解輸入語句、輸出語句、賦值語句的結構。
(2)會寫一些簡單的程序。
(3)掌握賦值語句中的“=”的作用。
2、過程與方法
(1)讓學生充分地感知、體驗應用計算機解決數學問題的方法;并能初步操作、模仿。
(2)通過對現實生活情境的探究,嘗試設計出解決問題的程序,理解邏輯推理的數學方法。
(3)編程一般的步驟:先寫出算法,再進行編程。
二、重點與難點
重點:正確理解輸入語句、輸出語句、賦值語句的作用。
難點:準確寫出輸入語句、輸出語句、賦值語句。
三、教學設計
在現代社會里,計算機已經成為人們日常生活和工作不可缺少的工具,如:聽mp3,看電影,玩游戲,打字排版,畫卡通畫,處理數據等等,那么,計算機是怎樣工作的呢? 計算機完成任何一項任務都需要算法,但是,我們用自然語言或程序框圖描述的算法,計算機是無法“看得懂,聽得見”的。因此還需要將算法用計算機能夠理解的程序設計語言(programming language)翻譯成計算機程序。
程序設計語言有很多種。如basic,foxbase,c語言,c++,j++,vb等。為了實現算法中的三種基本的邏輯結構:順序結構、條件結構和循環結構,各種程序設計語言中都包含下列基本的算法語句:
語句和賦值語句。
【探究新知】
我們知道,順序結構是任何一個算法都離不開的基本
構。輸入、輸出語句和賦值語句基本上對應于算法中的順
構。(如右圖)計算機從上而下按照語句排列的順序執行這
句。
輸入語句和輸出語句分別用來實現算法的輸入信息,結果的功能。如下面的例子:
32結序結些語輸出用描點法作函數y?x?3x ?24x?30的圖象時,需要求出自變量與函數的一組對應
值。編寫程序,分別計算當x??5,?4,?3,?2,?1,0,1,2,3,4,5時的函數值。
程序:
問題1:在這個程序中,你們覺得哪些是輸入語句、輸出語句和賦值語句呢?
問題2:“input”和“print”的中文意思是什么?
(一)輸入語句
在該程序中的第1行中的input語句就是輸入語句。這個語句的一般格式是:
其中,“提示內容”一般是提示用戶輸入什么樣的信息。如每次運行上述程序時,依次輸入-5,-4,-3,-2,-1,0,1,2,3,4,5,計算機每次都把新輸入的值賦給變量“x”,并按“x”新獲得的值執行下面的語句。
input語句不但可以給單個變量賦值,還可以給多個變量賦值,其格式為: 例如,輸入一個學生數學,語文,英語三門課的成績,可以寫成: input “數學,語文,英語”;a,b,c 注:①“提示內容”與變量之間必須用分號“;”隔開。
②各“提示內容”之間以及各變量之間必須用逗號“,”隔開。但最后的變量的后面不需要。
(二)輸出語句
在該程序中,第3行和第4 行中的print語句是輸出語句。它的一般格式是:
同輸入語句一樣,表達式前也可以有“提示內容”。
輸出語句的用途:
(1)輸出常量,變量的值和系統信息。(2)輸出數值計算的結果。
(三)賦值語句
用來表明賦給某一個變量一個具體的確定值的語句。
除了輸入語句,它的一般格式是:
賦值語句中的“=”叫做賦值號。
賦值語句的作用:先計算出賦值號右邊表達式的值,然后把這個值賦給賦值號左邊的變
量,使該變量的值等于表達式的值。
注:①賦值號左邊只能是變量名字,而不能是表達式。如:2=x是錯誤的。
②賦值號左右不能對換。如“a=b”“b=a”的含義運行結果是不同的。
③不能利用賦值語句進行代數式的演算。(如化簡、因式分解、解方程等)
④賦值號“=”與數學中的等號意義不同。
四.【例題精析】
〖例1〗:編寫程序,計算一個學生數學、語文、英語三門課的平均成績。
分析:先寫出算法,畫出程序框圖,再進行編程。
算法:程序:
〖例2〗:給一個變量重復賦值。
程序:
[變式引申]:在此程序的基礎上,設計一個程序,要求最后a的輸出值是30。
〖例3〗
:交換兩個變量a和b分析:引入一個中間變量x,將a的值賦予x,又將b的值賦予a,再將x的值
賦予b,從而達到交換a,b的值。(比如交換裝滿水的兩個水桶里的水需要再找一個空桶)
〖例4〗:編寫一個程序,要求輸入一個圓的半徑,便能輸出該圓的周長和面積。(? 取3.14)
分析:設圓的半徑為r,則圓的周長為c?2?r,面積為s??r2,可以利
程序: [同步試題]
1、計算機的程序設計語言很多,但各種程序語言都包含下列基本的算法語句:,。
2、在程序語言中,下列符號分別表示什么運算 * ;\ ;∧ ;sqr();abs()?,,3、下列程序運行后,a,b,c的值各等于什么?
(1)a=3(2)a=3 b=-5b=-5 c=8c=8 a=ba=b b=cb=c print a,b,cc=a end print a,b,c end(1)________________________(2)________________________
4、.指出下列語句的錯誤,并改正:
(1)a=b=50(2)x=1,y=2,z=3(4)input,x(5)print a+b=;c(6)print good-bye!5 下列給出的賦值語句中正確的是()a 4?mm??m b?a?3d x?y?0 6 對賦值語句的描述正確的是()
①可以給變量提供初值 ②將表達式的值賦給變量 ③可以給一個變量重復賦值 ④不能給同一變量重復賦值 a ①②③ b ①② c ②③④ d ①②④
7.已知一個三角形的三邊長分別是a,b,c,它的面積可用海倫—秦九韶公式計算。s?p?a?b?c2 設計一個算法程序,輸入三角形的三條邊長a ,b,c,輸出三角形的面積s。
篇二:基本算法語句教學案
教案55 基本算法語句
一、課前檢測
1.右圖的程序框圖,輸出的結果是 ??1,xa y=??1,x?0??0 ,x?0 by=??1?0,x?0 ??1,x?0 c y=??1,x?0?1,x?0 d y=???1,x?0?0,x?0 ?? ?1,x?0 答案:d.2.如圖,程庫框圖所進行的求和運算是 a 1?12?13?110b 1?1113?5?19 c 11112?4?6?20 d 12?11122?23?2 10 答案:c 3.如圖,程序執行后輸出的結果為_________答案 64
二、知識梳理
輸入語句
(1)輸入語句的一般格式
(2)輸入語句的作用是實現算法的輸入信息功能;(3)“提示內容”提示用戶輸入什么樣的信息,變量是指程序在運行時其值是可以變化的量;(4)輸入語句要求輸入的值只能是具體的常數,不能是函數、變量或表達式;(5)提示內容與變量之間用分號“;”隔開,若輸入多個變量,變量與變量之間用逗號“,”隔開。輸出語句
(1)輸出語句的一般格式
(2)輸出語句的作用是實現算法的輸出結果功能;(3)“提示內容”提示用戶輸入什么樣的信息,表達式是指程序要輸出的數據;(4)輸出語句可以輸出常量、變量或表達式的值以及字符。解讀:
賦值語句
(1)賦值語句的一般格式
(2)賦值語句的作用是將表達式所代表的值賦給變量;(3)賦值語句中的“=”稱作賦值號,與數學中的等號的意義是不同的。賦值號的左右兩邊不能對換,它將賦值號右邊的表達式的值賦給賦值號左邊的變量;(4)賦值語句左邊只能是變量名字,而不是表達式,右邊表達式可以是一個數據、常量或算式;(5)對于一個變量可以多次賦值。解讀:
條件語句:
1、條件語句的一般格式有兩種:(1)if—then—else語句;(2)if—then語句。
2、if—then—else語句
if—then—else語句的一般格式為圖1,對應的程序框圖為圖2。
圖1圖2 解讀:
do-until語句 do-until 對應的程序框圖是
解讀:
三、典型例題分析
例1.編寫程序,計算一個學生數學,語文,英語三門課的平均成績。解:程序:input“maths=”;a input“chjinese=”;b input“english=”;c print “the average=”;(a+b+c)/3 end 變式訓練寫出已知函數 ?1?y??0 ??1?(x?0),(x?0),(x?0).輸入x的值,求y的值程序.解:input “請輸入x的值:”;x if x&0 then y=1 else if x=0 then y=0 else y=-1 end if end if print “y的值為:”;y end 小結與拓展: 例2.若輸入8時,則右圖程序執行后輸出的結果是
解:0.7 變式訓練1:右圖程序運行后的輸出結果為()a.17b.19c.21d.23 解:c 變式訓練2:右圖程序運行后輸出的結果為()a.50b.5c.25d.0 解:d.變式訓練3:右面程序輸出的n的值是______________.小結與拓展:
例3.讀程序
s=s+i s=s+i i=i+l i=i-1 對甲乙兩程序和輸出結果判斷正確的是()a.程序不同結果不同 b.程序不同,結果相同 c.程序相同結果不同 d.程序同,結果同
答案:b 變式訓練:用兩種循環語句描述1+ 1111+2+3+?+9.2222 小結與拓展:
四、歸納與總結(以學生為主,師生共同完成)1.知識:
2.思想與方法:
篇三:《基本算法語句——循環語句》教學設計
《基本算法語句——循環語句》教學設計
教學目標
(1)正確理解循環語句的概念,并掌握其結構;
(2)會應用循環語句編寫程序.
教學重點
兩種循環語句的表示方法、結構和用法,用循環語句表示算法.
教學難點
理解循環語句的表示方法、結構和用法,會編寫程序中的循環語句.
教學過程
一、問題情境
1.問題1:設計計算1?3?5?7??99的一個算法,并畫出流程圖.
二、學生活動
流程圖: 解決問題1的算法是: s1 s←1 s2 i←3 s3 s←s×i s4 i←i+2 s5 若i≤99,則返回s3 s6 輸出s 對于以上算法過程,我們可以用循環語句來實現.
(1)“for循環”是在循環次數已知時使用的循環,for i from“初值”to“終值”step“步長” ?end for 例如:問題1中算法可用“for循環”語句表示為: s?1 print s end 說明:①上面“for”和“end for”之間縮進的步驟稱為循環體;
②如果省略“step 2”,默認的“步長”為1,即循環時,i的值每次增加1(步長也可以為負,例如,以上“for循環”第1行可寫成:for i from 99 to 1 step-2); ③“for循環”是直到型循環結構,即先執行后判斷.
其中a為判斷執行循環的條件. s?1 print end ③任何一種需要重復處理的問題都可以用這種前測試循環來實現.
四、數學運用 1.例題:
例1.編寫程序,計算自然數1+2+3+??+99+100的和。
第三篇:排序算法教學反思
《選擇排序》教學心得
教學內容:
選擇排序的算法思想 選擇排序的實現過程 選擇排序的編碼實現
總結和思考:大數據背景下的排序
排序(Sort)是計算機程序設計中的一種重要操作,它的功能是將一個數據元素(或記錄)的任意序列,重新排列成一個關鍵字有序的序列。排序方法分為兩大類:一類是內排序:冒泡排序、選擇排序、插入排序、希爾排序、交換排序、快速排序等;另一類是外排序。
從教學理念上看,本節課利用維果斯基的“最近發展區理論”,把學生的現有水平和興趣點,結合教學的目標,形成最近發展區。教學著眼于學生的最近發展區,提供帶有難度的內容,調動學生的積極性,發揮其潛能,超越其最近發展區而達到下一發展階段的水平,然后在此基礎上進行下一個發展區的發展。
從教學方法來看,主要使用案例分析法、講授法等,從分析當前流行的冒泡排序算法的案例開始,由淺入深的介紹選擇排序的基本概念,算法思想以及編碼過程。
從教學過程來看,首先從回顧冒泡排序的內容導入,在改進冒泡排序的過程中,提出選擇排序的概念和思想。用直觀的動畫方式展現選擇排序思想和過程,總結分析出關鍵代碼,引導學生寫出完整代碼,最后分析選擇排序的關鍵點,并提出思考,大數據背景下的排序改進方法。
在整個過程中一直都力求讓學生在已知的知識結構中推導、歸納出需要掌握的知識點。但是上完課程后感覺案例還不夠多,相對于非計算機的學生來說,算法的分析比編碼的過程更加重要。所以學生感到有些難,本來已經調動起來的積極性沒能保持到整節課。非計算機專業的學生思考計算機問題深度不夠,在以后的備課中要更多的挖掘教學案例的廣度和深度,給他們更多的思維訓練。
第四篇:《簡便算法》教學反思
《簡便算法》教學反思推薦簡便算法出現在小學四年級下冊第三單元,安排在加法運算定律和乘法運算定律之后,簡便算法是本章乃至與本冊非常重要的一部分,我對簡便算法的理解是簡便計算應該是靈活、正確、合理地運用各種性質、定律等,使復雜的計算變得簡單,從而大幅度地提高計算速度及正確率。
學生在剛開始學習簡便算法的時候,表現出很大的興趣,課堂氣氛也非常的活躍,因為在做題過程中運用這些定律擺脫了繁瑣的計算過程,不用列豎式,口算即可得出答案,學生非常樂于使用,可是這種興趣沒有持續太久,隨著簡便算法的類型逐漸地增加,學生們開始混淆了,不知道在什么情況下使用什么樣的運算定律,在這種情況下我開始深思,簡便算法并不只是盲目的計算,能夠準確地簡便計算出一道題,需要有敏捷的觀察力,運用合理的分析找出這道題可以簡便計算的特征。
為了使學生更好的掌握簡便算法我做了一下策略:
一,通過一些直接簡算的題,讓學生總結出常見的可以簡算的對象,如25×4=100,125×8=1000,25×8=200.二,學生在實際做題中使用乘法的分配律和乘法的結合律出現混淆的現象,解決這類問題我主要讓學生從分配律和結合律的形式上區分,在出現兩個積和的形式時我們就往分配律上想,有時會給出乘法分配律的變式形式,這就要求學生對分配律有深刻的認識,可是通過變形找到簡便算法。
三,無論是怎樣的題型,我們都應該有一個湊整的思想,觀察算式的特點,找到適合的方法
四,在簡便算法的練習題中不至運用了前兩個課時所學習的加法和乘法的運算定律,更引申入減法和除法的運算定律,對于連減連除的問題重要是小括號的添加和去掉小括號時括號內運算符號的改變,總結起來括號外是減或除號時加上括號或去掉括號時,括號里的運算符號變成它相對的符號。
五,培養學生的逆向思維能力,尤其對a-(b+c)=a-b-c和a÷(b×c)=a÷b÷c的運用。逆向運用的訓練對于解決簡便算法問題很有
必要。
簡便運算的思路會有很多,只要把握“湊整”這個解題關鍵,正確、合理地使用運算定律,就是正確的。本章的學生有助于培養學生的觀察力,以及學生的邏輯思維能力,讓學生更好地感受到數學的魅力。
第五篇:算法與程序設計教學反思
1.1計算機解決問題的過程 課堂教學反思
2011年01月07日 10:58:52 來源:隆德縣第二中學【字體:大 中 小】 “1.1計算機解決問題的過程”課堂教學反思
本節是對用計算機程序解決問題的基本過程的入門介紹,是體驗計算機程序,體驗并理解用計算機程序解決問題的基本過程。這個過程包含以下環節:分析問題,設計算法,編寫程序,調試運行,檢測結果。
學情分析:
1、高中學生已具備了較豐富的計算機使用經驗,但接觸的多是文字處理、媒體表達等常用工具軟件及網絡應用等,對于計算機程序只有極少的學生接觸過,許多學生只是聽說,對于計算機程序的工作過程、設計過程知之甚少。
2、高中學生具有很強的邏輯思維能力,也掌握了較高的數學知識水平,對于初步了解計算機程序困難不很大。
我設計了這樣一個問題“農夫帶著狼、羊、白菜從河的左岸到河的右岸,農夫每次只能帶一樣東西多河,而且,沒有農夫看管,狼會吃羊,羊會吃白菜。”讓同學們設計一解決這個問題的方案,大家立刻討論起來,不一會兒提出了兩種不同的方案,問題解決了,通過這個問題的引入,調動了學生的積極性很自然的引入這節課的內容,起到了比較好的作用。緊接著“韓信點兵問題的設計”學生很自然的想到應用計算機解決,成功地引領學生走進了程序設計的殿堂,讓他們有興趣、有意識地進行更多的實踐與探索。這種引導,正是本課的重點,也是本課最成功之處。
本節課的目的是通過激發學生的興趣,吸引學生自主地體驗程序,感受程序解決問題的過程,理解程序的概念,從教學效果來看,學生從一開始就被深深吸引,很主動地投入到教學活動過程中探究體驗程序的運行過程。
本節課比較困難的是如何向沒有任何程序概念、從未接觸過程序語句的學生講述程序及其作用,如何突破這個難點是本節課的關鍵。為此設計了先讓學生體驗“100!”的程序,學生體驗到計算機的計算能力和運算速度,并且懂得了程序是由一系列語句組成,運行程序計算機會自動按語句執行。
巧妙設計教學任務,采用任務驅動式的教學過程,學生能夠體驗到應用計算機解決問題的過程,實現本節課的教學目標。
2008年2月20日上午第4節在高一(4)班上了第一節課《1.1 計算機解決問題的過程》。本節主要結合教材上的“華南太陽能設備廠生產方案選擇”的實例講解和體驗計算機解決問題的過程。師姐前去聽了課。總體來講效果不是很好。最大的問題在于沒有調動學生的學習積極性。從而導致學生沒有跟著我一起思考問題,沒有理解透徹例題。練習時雖然布置的任務很簡單但做出的人不多。課后師姐對本節課進行了點評。現將得到的啟示列舉如下:
啟示一:要重視學生的課堂反應。關注教學中的學生這個要素。教學最終是為了讓學生學到知識,提高能力,而不是為了完成教學進度和任務。當學生對提問反應不熱烈,只有個別學生回答時,要考慮放慢節奏,讓學生把一個環節搞清楚再進入下一個環節。否則也影響學生的學習積極性。
啟示二:批評學生要講究技巧。本節課學生的紀律沒有前幾個班好,于是我直接作對比說道:我們四班的紀律沒有另外幾個班好,這樣非常容易引起學生反感,既容易對學生的學習積極性產生消極影響又可能影響課堂滿意率。所以盡量不要作班之間的對比批評。對比表揚學生倒是很受用。本節課的批評可以改為這樣說:“我們班在新的學期表現出了較好的風貌,沒有同學遲到,在課堂上玩其他的也沒有,這很好。如果在課堂紀律上再加強一點老師就滿意了。這一點以后一定要注意。”這樣先褒獎再提要求,同時措辭比較委婉可能學生更容易接受。
啟示三:提高學生學習積極性的一點。設置簡單的、能出成果的課堂練習。讓學生覺得學有所得,這樣積極性才能提高,才不會厭學。
程序模塊的教學很有難度,要認真備好課,想辦法激發學生的學習興趣,讓課堂活躍化。才能獲得較好的教學效果及課堂滿意率。
2008年2月22日在高一(2)班上了本學期第二節課《1.2 算法和算法的描述》。本節課主要講授算法的概念、三種描述算法的方法、算法的特征,后面要求學生通過猴子吃桃的課后練習鞏固流程圖描述算法的方法。總體感覺比較好。學生能跟著一起思考問題,同時保持了較好的課堂紀律。王國漢老師前去聽了課,并給予了較高評價。以下是評價要點:
本堂課的優點:多次運用對比,聯系前后的知識點及例子,瞻前顧后,顯得課堂緊促條理;分總結合,注意對所講知識點進行小結,再進行下面的環節,可以幫助學生梳理知識點;善于運用課堂激勵,不斷夸獎和鼓勵學生,激起他們的學習動力。
缺點:練習題難度較大,具體問題的算法層面沒有講清楚,部分學生不理解解題步驟,自然無法順利畫出流程圖。導致這樣的原因是部分學生(優生)講出了解題思路,于是作為教師我沒有細致分析解題思路,學生在這里花費了過多時間。
啟示如下:其一,教學要面向絕大多數學生,有時甚至是全體學生,不能被部分優生左右了教學進度。要兼顧大家,考慮大多數學生的情況。其二,繼續發揚“捧”、“揚”、“夸”的課堂激勵機制,學生在輕松夸獎的氣氛下思維會更活躍,同時積極性更高,更愿意配合教學。
要“捧”出好的教學效果,“捧”出高課堂滿意率。
保持好的心情去上課。記得——微笑。
2008年2月25日在高一(3)班上了本學期第三節課《1.3程序與程序設計》。本節課主要講授程序的概念及特征、程序的三種基本結構、程序設計語言的發展及高級語言的分類。彭敏老師前去聽了課。本節課講的比較一般,其中課堂練習的設置也不合理:完成課后的第一章扼要回顧及一道已知三角形三邊求其面積的題目。
本節內容以理論為主,基本沒有涉及實際操作。學生聽課興趣不大。彭敏的意思是略過不講,因為學生一節課下來學不到東西,文縐縐的理論學生不可能去記,三種基本結構這個本節課的重點內容在教材后面的章節還要繼續學習。有一定的道理。后面上課的班級課堂練習只布置了已知三角形三邊求其面積,畫算法流程圖這樣一道題目,且略去了對能否構成三角形的判斷,大多數學生能夠當堂完成。
啟示:要合理安排教學內容,不能按教材按部就班;要分析學情,力爭讓他們每節課都有長進,從他們的角度分析課堂的價值。
后上課的班級,要在前面上過的基礎上反思,以改進。
第三節 程序和程序設計語言
教學過程:通過瀏覽“求三角形面積”源文件,認識程序并理解算法和程序之間的對應關系。通過單步運行“點到直線的距離”、“求絕對值問題”、“0到20之間奇數之和”三個程序,理解程序的三種基本結構。
教學反思:本節課在備課時,基本上是按照教材上的活動順序來設計導學案,只是把活動一中的“個人理財”程序改為水平考試題“求三角形面積”,和活動二中的程序改為“0到20之間奇數之和”。我覺得這此課設計思路較好,通過引導學生分析程序和單步運行程序,并完成導學案上相應的任務,通過將筆記本電腦連到班通上講課,使學生比較直觀的理解了順序結構、選擇結構和循環結構程序,為以后學習程序設計打下了很好的基礎,避免了在機房上課學生思想不集中,用班班通操作VB不方便,直接講課又不直觀的缺點。從已經上過的兩個來看效果比較好。
這一節上下來,最大的感觸就是對講課的重點突出有了更深的理解。本節內容很多,涉及VB語言的特點、程序的基本構成、數據類型、常量變量、運算符函數表達式及可視化編程環境。什么是重點?數據類型中的整型和單精度實數以及可視化編程環境。其他的都只能是附帶講一下。因為你想,如果你是學生,一節課下來你能學到多少,全部都細講等于什么都沒講,學生無法接收消化。后面的練習也要圍繞重點,求實用。
有時候上課,換位思考學生的感受,很重要。
2008年3月3日在高一(1)班上了本學期第五節課《2.2程序的順序結構》。本節課主要講授順序結構的執行方式、賦值語句、輸入數據的函數InputBox、輸出Print和msgbox。講到賦值,同學們覺得難以理解,特別是實現兩個變量值的交換。我靈機一動借助講臺上三個喝水的瓶子,說明了交換過程的三個步驟的含義,學生就理解了。
講到輸入時文本框內的默認值,還滲透語文,講了“默認”和“缺省”兩個詞的含義。
后來為了為循環結構埋伏筆,還講了以“s=s+p,p=p*2”為循環體的循環語句執行方式和結果(s=s+p+ 2p+4p+?)。這兩個小環節都沒有體現在事先的教學設計中。
啟示:
1、講的東西一定要保證絕大部分學生完全理解,不理解就要反復講。不關注效果的講課是失敗的。
2、要善于運用其他的教學媒體和教學方式,換思維方式講解。
3、課堂是活的,要把握好,同時根據需要生成一些事先沒有準備的環節或其他東西,有時能起到好的效果。
2008年3月7日在高一(1)班、高一(2)班上了本學期第六節課《2.3程序的選擇結構——條件格式》。本節由標準體型的判斷引入,內容比較多,涉及條件格式的單行完整模式、單行省略模式、多行模式、關系運算和邏輯運算及其運算順序等。使用了彭老師的課件。該課件制作精美,原課件流程環節較多,自制資源豐富,是他參加青年教師教學基本功大賽的課件。兩個班的課堂都比較沉悶。2班怎么都沒辦法調動起來,1班稍好一點。連一班都這樣讓我覺得很不正常。深究其原因,竟然是天氣使人困乏,同時適逢三八降至,下午第八節學校組織女兒節活動,大家有一部分心思早跑了。
課堂沉悶,沒辦法我想盡辦法調節。說到標準體型不忘一頓自夸“像我這樣就是很標準的啦”,部分學生不認真聽講我說道“有些同學的課堂行為很不利于師生關系和諧”,邏輯運算我還說到了與或非跟數學的交集并集、乘和加,物理中的并聯與串聯電路的相似之處,可謂旁征博引。但都效果一般。學生有的直接說沒有學習的動力。怎么辦?程序設計的確是不容易讓學生產生學習動力的一個模塊。
從一下幾個方面努力吧,我想:
1、激勵。讓學生做出東西。多練。增加成就感。
2、調節。一定要想辦法調節到滿意的課堂氣氛再講,學生精神好了講一遍比精神不好講多少遍都管用。所謂磨刀不誤砍柴功,刀磨利了再砍不遲。
3、鼓勵班干部做好表率。
路漫漫其修遠兮,我將上下而求索。
2008年3月12日下午第八節在高一(1)班上了本學期第八節課《2.4程序的循環結構——FOR循環語句》。本節課是我為參加學校青年教師教學基本功大賽上課比賽精心準備的一堂課。從“國際象棋棋盤上的麥粒”案例引入教學,讓學生分析實際問題,經歷補充程序、程序挑錯、閱讀程序最終做到獨立編寫For語句循環結構的程序。環節設計循序漸進,環環相扣。吳和發副校長(歷史)、盧昭瓊老師(歷史科長)、謝黎川老師(語文科長)、明長杰老師(歷史)、楊玉蓉老師(綜合科長)、歐陽少英老師(物理科長、特級)、王國漢老師(以上為評委)、趙旭華老師、師姐等參加聽課。教學效果:吳校長課后對我笑著說了句“可以”,珊姐評價較好,課堂上的編程練習第一題大部分學生編出來了,第二題也有部分學生編出來。學生在課后圍上來說聽懂了,“上得這么好”。而且還有學生圍上來問沒弄明白的地方,這在以前沒有發生過,好幾個男生還不愿意離開電腦室,不過這次的原因可不是想上網玩,而是繼續調試VB程序,令我很開心。
成功的總結:
一、多問,這堂課上課前我問了老爸,一位有近三十年教齡的中學教師,問了師姐,他們都對課的設計及實施提出了很多好的建議,也鼓勵我放開講,要相信自己,極大地鼓舞了我的自信心。妹妹(慧)也電話鼓勵我放開講就好。這樣我上課時不再緊張,發揮比較正常。
二、學生比較配合,前面的課中滲透了一些本節課的思想和方法,學生聰明,接受這一部分知識較快,學習效果較好。
三、過程經過了精心設計,課前的一天腦子里冒出幾個好的與教學相關的幽默素材,用上效果較好。怎么講也在其他班試過多次,雖然過程和教學方法不盡相同。
四、本身教學具備一定的經驗,課堂調控還行。
啟示:
1、要充分自信。要充分相信我的學生,好學生。
2、增加一些幽默素材調節氣氛。
3、要完全放開。輕松上陣。不背包袱,不要有負擔。
4、有激情點。掌控好時間。
不足:
1、有學生課堂嚼口香糖。要注意并加強課堂管理。
2、課堂紀律感覺沒有上學期的公開課好。
3、備課還沒有充分備學生。教學設計還有可改進的地方。
記住:自信。我很棒!
微笑。用微笑征服世界。
幽默。大家都笑了。
激情。年輕人的本色。
2008年3月21日下午第6節在高一(2)班上了本學期第九節課《2.4程序的循環結構——DO循環語句》。本節課設計為先復習FOR語句,進行一個程序填空的練習:編程求1000以內的正奇數和。然后結合教材“種樹”的案例,分析DO循環的特點及語句格式。最后進行練習鞏固,完成教材上的實踐1:求使累加和S小于30000的最大正整數N。內容少且相對簡單,教學效果卻并不是很好。
這里要總結的并不是教學設計和實施方面。我發現我在教師素質上還有待進一步提高,我做不到誨人不倦。講了多次的“循環終止條件要從兩個方面分析,一是不能一開始就滿足了,如果一開始就滿足那么將不進行任何一次循環,二是要在循環體內讓循環終止條件逐漸趨向于滿足,否則可能一直循環造成死循環。直到后來,我明確提出循環終止條件不是S<30000,還有學生寫S<30000,我就很惱火了。語氣也不再平淡,心里也暗罵他們笨還不愿意聽講。這與我之前想要努力做到的完全不符。之前我說的最多的一句是:聽明白沒有?還不清楚的話我再講一遍。講完再問同樣的話:聽明白沒有,沒有的話我再講。再講完還不明白?那我再講一遍。直到他們很“無奈地”認真聽一遍,弄明白,省得我“這么煩”。
突然想起一句話:沒有學不會,只有教不會。沒有學不好,只有教不好。反思一下,我還是做得不夠。信息技術作為一個不參加高考的科目,學生不可能像語文數學一樣去學。這是客觀事實。那么我要做的應該是想方設法調動他們的學習積極性,吸引他們參與到教學活動中來。而不是嚴要求,看到與預期差距大的結果就心里不舒服。
作為信息技術教師,大家都一樣。心要寬。要提高素質,提高修養,練好脾氣。這樣才能做一個合格的教師。
第7節課在高一(1)又不一樣了,只要題目給出來,何浩彬就立馬能給出答案。甚至比我還快。重點班的學生思維還是活一點。我想另一方面也得益于師生關系的和諧。
最后說一說具體教學內容的兩點注意:一是教材上關于種樹的累加和分析Tree=Tree+Tree+1這個是有問題的。這樣事實上曲解題意為每一年種的樹都比前面種的所有樹數目多一。程序中Tree=Tree+Age-14則是正確的。二,本節課的練習,教材P54實踐1求使累加和S小于30000的最大正整數N,直接將循環終止條件寫為S>=30000是不符合題目要求的,此處本來就將N多算了一,如果循環體中N=N+1再放在S=S+N的下面,最后輸出應該寫為print n-2。程序為:
Private Sub Command1_Click()s = 0 n = 1 Do s = s + n n = n + 1 Loop Until s >= 30000 Print n1 End Sub
《算法與程序設計》的教學反思 標簽: 樓梯 案例 算法 結構 教材 分類: 教育隨筆 2010-11-05 10:44
在新課程實施過程中,教學反思被視為促進教師專業發展和自我成長的核心要素,學校也倡導教師寫教學反思。本人就本學期的教學實踐過程中的一些反思小結如下。
1、關于教材
個人認為,新課程標準是進行教學設計的出發點,而教材是進行教學設計的主要依據,也是學生課堂學習的主要依據。本學期信息技術的選修模塊我們學校選擇的是教育科學出版社的《算法與程序設計》,當時選擇這個模塊是考慮到算法與程序設計和老教材銜接的比較緊,一是教師容易上手,二是學校無須添加其它機房設備,第三是為了學生的可持續發展,為今后大學的計算機學習打下基礎,為通過計算機二級考試而打下鋪墊。
從整體章節結構上來看,本套教材還是符合新課程標準的,但是教材上有一些案例和教材的知識結構在課堂教學活動中還是存在一些問題。
(1)難度大
例如第一堂課講解的有關“韓信點兵”的案例。按理,這個案例可以極大的調動學生的求知欲,是一個好的例題,但是證明這個定理的難度太大了。盡管在集體備課時大家充分討論了這個問題的證明方法,甚至還請教了數學教師,但是在課堂教學中還是被學生發現了定理證明過程中的一個漏洞。
漏洞如下:被5、7整除,而被3除余1的最小整數是70,由此推導出被5、7整除,而被3除余2的最小整數是70×2;事實上被5、7整除,而被3除余2的最小整數應該是35。所以需要將前提中的“最小”去掉,變為被5、7整除,而被3除余1的整數是70。但是前提改了之后定理的證明就不是那么嚴謹了。
再回過頭來看這個案例在課堂中所起的作用,其實是為了說明人腦解決問題的過程,因此個人認為這個案例完全可以不講,讓學生上網去查找有關證明的資料。課堂上講解一個學生同樣感興趣,也同樣能夠說明問題的案例,比如說“韓信分油”的問題。
(2)跨度大
例如第二章一開始就要求學生上機編寫一個打字測試程序。在此之前,學生僅僅了解了VB的設計界面,剛剛完成了一個簡單程序的編寫。而打字測試程序中所涉及到的窗體、控件以及對象的屬性、方法、事件,包括VB的事件驅動原理,學生在頭腦里是空白的。再加上那么多的程序代碼,教師看了也會頭疼的。學生一下子要感受這么多的新鮮事物,似乎步子太快了,不符合知識遷移的客觀規律。
繼續回過頭來看這個案例在課堂教學中所起的作用,其實是為了讓學生初步了解VB程序建立與運行的一般步驟。老教材在說明這個問題的時候就比較容易讓學生上手。案例可以改成學生所熟悉的“求圓的周長和面積”或者是“求物體的位移”,明確給出程序建立與運行的五個步驟,一步一步讓學生實踐、探索,從而完成這方面的知識建構。
(3)知識結構有不合理的地方
最明顯的就是教材第三章和第四章的順序問題。第三章介紹具體的算法,這是教材的重點,包括五種常用算法,解決了“怎么樣”的問題。第四章講程序設計的思想,介紹VB面向對象的程序設計思想,主要是讓學生掌握對象的三要素以及VB的事件驅動原理,解決了“為什么”的問題。知識結構不合理在哪?首先,從第二章的內容來看,第二章介紹的是VB的語言規則(語法)和程序的三種基本結構,解決了“是什么”的問題。從人的認知規律來說,了解了“是什么”之后需要了解“為什么”,最后才是“怎么樣”。其次,從第三章具體的內容來看,每一種算法的程序實現都需要涉及到對象的三要素以及VB的事件驅動原理,每一個程序都要修改對象的屬性,程序代碼的編寫也都涉及到VB的事件驅動原理。所以,個人認為第三章和第四章在教學過程中需要靈活的調整兩者的順序。
2、關于學生
個人認為,學生能夠學好這門課是教師進行教學活動的最終目的。相對于其它選修模塊,算法與程序設計稍顯枯燥。如何培養學生的興趣,進而使學生認真學好這門“副課”,這是個人一直考慮的問題。
(1)就算法與程序設計而言,學生處在同一起跑線上,以前都沒有學過。尤其是對一些在其它課程學習中有困難的學生來說,這是一次讓他們找回自信的機會。個人一直感到很遺憾,沒有在第一節課的時候向學生介紹比爾·蓋茨,包括國內的許多IT人物的的傳奇經歷,讓他們一開始就拉近與這門課的距離。
(2)要讓學生重視這門“副課”,教師先要重視你的學生。如何讓學生感受到呢?個人做了一些嘗試,但感覺遠遠不夠。比如在學生進入機房之前,幫他們開好電腦,一方面確保學生的電腦使用正常,另一方面可以讓學生心里知道,教師在這里等著他們;需要經常抽查學生的筆記,看看是否寫的認真;每一份學案都作詳細的批閱,等等。個人也存在這樣的想法,是否每個禮拜都可以安排半個小時的作業量?
(3)活躍課堂氣氛,拉近教師與學生的距離。是否在課堂上拉著學生的思路跟著教師走,個人認為課堂氣氛是否活躍是一個標志。在講VB語法的兩節課上,學生倒是安安靜靜的在記筆記,個人卻覺得站在講臺上毫無激情,當然這跟教學的內容有一定的關系,但個人覺得這堂課很失敗。也有靈光一閃的時候,在講“走樓梯”的算法時,個人隨口說道班里的某某同學在走樓梯時如何如何,問某某同學走完n階樓梯共有多少種走法時,突然課堂里一下子熱鬧了起來,個人知道,學生在思考了。
(4)有時懲罰是必要的。一次,下午第一節課,全班集體遲到超過了5分鐘,問原因,午覺睡過頭了,還有學生甚至說教學任務完不成,索性讓他們上網。個人當即回答:做夢!最后教學任務完成了,拖課10分鐘。
3、關于教學過程
(1)重視知識的最近發展區理論。一個例題或者一個案例不能涉及過多的新概念。例題或案例的呈現需要有一個循序漸進的過程。
比如在介紹循環結構語句時,因為循環結構語句相對來說比較復雜,是學生在算法與程序設計中遇到的第一個難點,因此學生理解起來也比較困難,如何克服這個學習障礙呢?首先教師要講明白循環結構語句的格式,然后通過一個最簡單的例題,比如說求s=1+2+3+??+99+100,詳細講解循環的各個步驟,接著再舉相似的例題進行反復,比如說求s=1+1/2+1/3+??+1/99+1/100,最后解決求s=1-1/2+1/3-1/4+??+1/99-1/100的問題。這三個例題都可以套用同一種循環結構,但是前兩個例題重點在于循環結構的講解,而第三個例題是在學生初步掌握循環結構的基礎上加以一定的提高:循環體用到了前一節課所學的if語句。
又如在介紹雙重循環結構語句時,由于雙重循環結構語句是后面具體算法(解析、窮舉、查找、排序、遞歸)的程序結構基礎,因此必須要求學生掌握。個人也有體會,掌握起來難度頗大。在教學過程中如何實現由易到難,由簡單到復雜呢?個人設計了一個打印圖形的五步區:第一步,打印矩形,教師主導,力求講的清晰明了,學生易于理解;第二步,打印直角三角形,教師修改前一個程序,啟發學生,讓學生嘗試寫出程序運行的結果;第三步,打印倒直角三角形,繼續啟發學生,此時學生為主體,讓學生修改程序;第四步,打印奇數行直角三角形,繼續啟發學生,讓學生修改程序;第五步,打印等腰三角形,教師給出提示,讓學生參與程序的修改。五個圖形環環相扣,程序代碼短小精悍,所有代碼都套用同一種雙重循環結構語句,修改起來較為方便。
(2)尊重學生的思維方式。課堂上需要允許或者鼓勵學生發表自己的見解,有時需要對學生意想不到的發現而喝彩。
比如上文所提到的求s=1-1/2+1/3-1/4+??+1/99-1/100的問題,在教學設計時沒有考慮到可以用分支結構語句來實現它,而是這樣一段代碼:s = s +(1 / i)*(-1)^(i + 1);幸運的是一開始沒有給出以上代碼,而是讓學生來填寫這條循環體代碼。結果就有學生給出了分支結構的循環體代碼:if int(i/2)=i/2 then s=s-1/i else s=s+1/i;個人思考了五秒鐘,立即對這種解法給予了充分的肯定,課堂上講解的內容進行了及時的調整。課后想了想,確實是學生的解法更符合他們的思維習慣,通過條件判斷解決正負號的問題,所用的代碼正是上一個課時所教授的if語句。個人思考,教學相長,是有道理的。
(3)讓枯燥的程序算法轉變為貼近生活、有趣味性的實際中來。例如在講解分支結構的select case語句時,由于是剛過年不久,個人想到了一個有關年貨打折的案例,要求學生參考教材上的程序代碼進行改寫。在最近的復習課上,學生仍然對這個案例記得很清晰。再如上文所提到的“走樓梯”的算法、“韓信分油” 的算
算法與程序設計作為信息技術課程中的選修模塊,其內容在廣度和深度上都具有較高的要求。課標中對本模塊的教學目標表述為“體驗算法思想,了解算法和程序設計在解決問題過程中的地位和作用;能從簡單問題出發,設計解決問題的算法,并能初步使用一種程序設計語言編制程序實現算法解決問題。”這一表述包含了兩方面的要求,即知識目標與能力目標,同時也是兩種不同層次的要求。顯然,“體驗算法思想,了解算法和程序設計在解決問題過程中的地位和作用”是知識目標也就是第一層次的目標,強調的是“體驗”和“了解”。“能從簡單問題出發,設計解決問題的算法,并能初步使用一種程序設計語言編制程序實現算法解決問題”是能力目標也就是第二層次的目標,強調的是“應用”和解決問題的能力。從課標的行文表述中可以看出,第二層次的目標即能力目標才是本模塊教學的落腳點和最終目標。但以個人的教學經驗來看,我們的教學大多還徘徊在第一層次上,極少能達到第二層次的高度。作為選修模塊的教學,這樣的情況是值得我們深思的。