劉志韓
本節(jié)課是必修課程內(nèi)容,主要讓學生了解VB的編程運行環(huán)境,初步認識程序的作用;體驗完整的編程過程,感受計算機解決問題的基本過程。通過實踐探究,初步培育學生的計算思維。本節(jié)課的學習任務設(shè)計具有層次遞進特點。
教師將學生分為4個小組,每個小組選一個小組長。課前,教師向小組長交代好本節(jié)課需要做的工作、小組成員之間任務分工、小組成員合作及小組長總結(jié)發(fā)言等事宜。教師要以小組作為評價單位進行評價。
教師通過屏幕運行程序讓學生回答是哪種函數(shù)圖像。然后,教師出示拋物線、雙拋物線及多個函數(shù)的圖像程序代碼,指向函數(shù)表達式,讓學生進行觀察。本環(huán)節(jié)直觀地呈現(xiàn)出程序解決問題的優(yōu)越性,從感官上消除了利用編程繪制函數(shù)圖像的神秘感,感受到程序的強大功能,激發(fā)了學生的學習興趣。
教師引領(lǐng)學生回顧數(shù)學方法,如拋物線圖像取值描點繪制圖像的過程。作為程序設(shè)計的靈魂,算法本身是一個非常抽象的概念。學生由已有的數(shù)學知識描點法繪函數(shù)圖像切入,容易理解計算機編程解決問題的算法思想,為接下來的流程圖分析做準備,引出了算法概念。通過課堂效果反饋來看,這一環(huán)節(jié)的設(shè)計是非常有必要的。
教師在學生體驗了取值描點繪函數(shù)圖像的基礎(chǔ)上,分析并完成流程圖的制作。通過流程圖,學生能深入理解算法就是解決問題詳細的方法和步驟這一概念。算法是程序設(shè)計的靈魂,接下來的程序編制也是以算法為依據(jù)。可見,學生在零基礎(chǔ)的情況下通過具體的分析問題的過程,更容易接受算法的概念。
教師與學生一起再觀察和分析最初演示的函數(shù)圖像程序,可在運行程序后分析界面組成的兩個控件分別有什么樣的功能,然后體驗控件的創(chuàng)建。
由于學生是第一次接受VB語言,所以采用最直接的模仿練習操作的方式。教師演示在窗體中添加按鈕控件和圖片控件:以按鈕控件作為觸發(fā)對象,用圖形控件顯示圖像的區(qū)域。教師演示完操作,學生在模仿的基礎(chǔ)上完成相應的練習。
為了深層次地體驗利用編程繪制函數(shù)圖像的過程,教師可以讓學生初次體驗編輯代碼,不要求學生輸入某段代碼,而以從整體上理解代碼含義為主。這樣為接下來的任務做準備,在此基礎(chǔ)上完成一個完整的小程序,可降低和分解任務的難度。
首先,教師可以提出設(shè)問:僅僅完成界面的設(shè)計,程序能夠為我們工作嗎?當然不能,它僅僅是程序的外殼,我們還沒有賦予它靈魂。然后,教師將事先準備好的代碼復制粘貼到VB程序中來,每粘貼一行解釋一行代碼在程序中的作用。教師向?qū)W生講解:雙擊“繪制”按鈕,添加代碼,以二次函數(shù)y=x2為例,進行程序代碼的復制。接下來,學生參照教師的講解完成任務。
本任務要求學生創(chuàng)建程序界面,復制“學生代碼”,然后修改代碼完成函數(shù)y=2x2+3x+4曲線的繪制,并運行程序觀看效果。任務提示:①只修改函數(shù)表達式,其他代碼不變;②函數(shù)表達式輸入:乘號*的輸入,平方^的輸入。任務一要求每一名學生都要完成,最快完成任務的兩名學生可以為小組加分。在學生任務完成過程中提示表達式中乘號和平方符號的輸入這個易錯點。
在任務一的基礎(chǔ)上,通過多次修改函數(shù)y=ax2+bx+c的參數(shù)a、b、c(小組長分工,組員分別修改a、b、c的數(shù)值),繪制并觀察不同的多條曲線,小組討論匯總后總結(jié)曲線的變化規(guī)律。教師引導學生先回到上課最開始看的圖像,思考如何繪制多條函數(shù)曲線。有些精美的圖案是多條曲線組成的,而且數(shù)學上通過圖像的對比更容易理解函數(shù)的意義。再回到代碼上,教師分段分析代碼的作用并提問:繪制多條函數(shù)曲線是如何做到的呢?在分析完代碼作用之后,教師可以讓學生回答問題。任務提示:將畫線的部分復制粘貼后再次修改函數(shù)表達式。
這是一個拓展任務,以小組為單位自選函數(shù)表達式繪制圖像進行自由設(shè)計,討論思考所選圖像是如何制作的。函數(shù)知識補充:y=a*sin(b*x+c)+d,y=a*cos(b*x+c)+d。
提供給學生的參考:完成函數(shù)y=20*sin(2*x)圖像繪制,觀察圖1中圖像變化,思考原因并完成相似圖像的制作,如y=30*sin(2*x)。
提供給學生的參考:觀察圖2中圖像變化,思考原因,完成函數(shù)圖像的繪制。
同課異構(gòu),是我最近五年一直在堅持做的課堂教學促進活動,不僅在我們學科,而且在其他學科也組織教師進行同課異構(gòu),在此過程中我們發(fā)現(xiàn),同課異構(gòu)對教師的課堂創(chuàng)新能力、教學駕馭能力的促進是非常大的。本次提供的兩節(jié)課,也分別在市、縣級公開課中進行了展示,提供給大家來討論。
第一篇文章,在整個教學過程中,用“游戲”程序的設(shè)計作為第一節(jié)課的教學內(nèi)容,既簡單又能總體感知程序設(shè)計的一般過程。分別利用單擊、鼠標移動事件,讓學生更充分理解事件響應的工作機制,初步體會計算思維。課中和課后充分發(fā)揮小組合作,加強了學生的合作能力和團隊意識,也增加了任務完成的效率,讓學生體會合作的重要性。當然,單憑這節(jié)課很難使學生完全理解事件響應的工作機制,對計算機程序設(shè)計的本質(zhì)和計算思維的理解就更難了,還需要長期的學習過程。怎樣潛移默化、循序漸進地培養(yǎng)學生的計算思維,利用計算機編程來解決問題,還需要深入探索。
第二篇文章,利用計算機解決問題時,在算法概念的引入上采用了數(shù)學知識作為牽引,采用了任務驅(qū)動教學,從基礎(chǔ)任務一到拓展任務三,層層遞進?;A(chǔ)任務一要求所有的學生都要求完成,任務二小組成員協(xié)作完成,拓展任務三每個小組合作完成一個即可,這樣既完成了本節(jié)課的教學任務又實現(xiàn)了分層次教學;拓展任務發(fā)揮學生的想象力自由創(chuàng)作,學生分工合作,最后呈現(xiàn)的作品效果很好。但是,學生后續(xù)任務安排得緊湊,僅用一節(jié)課完成教學任務,留給學生思考的時間較少,值得改進。
這兩節(jié)課,已經(jīng)脫離單純的程序代碼任務教學而向計算思維的方向邁進,雖然問題還較多,好在我們已經(jīng)啟程,未來天地廣闊。也非常期待您將更多編程教育的案例分享給大家。