王希瑤
(臺州職業(yè)技術(shù)學(xué)院,浙江 臺州 318000)
隨著計算機和軟件變得越來越精深,編程語言發(fā)展很快,并且隨之匯集了更復(fù)雜的概念。從而造成現(xiàn)代大部分編程語言以及相關(guān)的概念對于初學(xué)者掌握起來而言頗具挑戰(zhàn)性。這一事實已經(jīng)開始阻礙人們學(xué)習(xí)或嘗試計算機編程。
《small basic》是一門針對初學(xué)者設(shè)計的一門編程語言,它是微軟公司發(fā)布的一款面向?qū)ο蟮木幊陶Z言,它的智能化程度很高,并不需要記憶很多命令就可以編程,非常容易,親切,有趣,適合初學(xué)者。
《small basic》的“智能感知”功能極大地降低了學(xué)習(xí)者的記憶難度,提高了輸入程序的速度和準確性。同時在窗口右邊能看到所輸入的命令或語句的含義,對學(xué)生正確地選擇和使用命令幫助非常大。
(一)入門介紹
讓學(xué)生認識《small basic》環(huán)境,有哪些不同的部分,包括編輯器、工具欄、表面。
然后編寫第一個程序。編寫完畢如何保存運行。再來解讀第一個程序,讓學(xué)生真切感受到什么是真正的計算機程序。讓學(xué)生理解程序、指令、語句這些耳熟的又模糊的概念。
(二)基礎(chǔ)概念引入
這部分將引入如何在程序中引入變量,以及變量的命名規(guī)則。對這些枯燥的概念,引用生活中的例子。變量名不能使用關(guān)鍵名,就好比申請電話號碼,不能申請119、110這些專用號碼。不能取用已任名的變量名,就好比一個家庭不能把兩個孩子同名。變量的命名規(guī)則學(xué)生好理解,但給變量賦值的概念學(xué)生不容易理解。教學(xué)中可以將其比喻為日常生活中的“盒子”“袋子”等等,給變量賦值,就相當于將物品放入盒子中。
對象及其屬性、操作,是《small basic》語言中最重要的概念,為了讓學(xué)生理解這些概念,通過 “海龜繪圖”的任務(wù),基于對“小海龜”是一個動物的認識,了解“小海龜”是一個“對象”,它的“移動”(move)“轉(zhuǎn)彎”(turn)等動作稱為“操作”,它的移動“速度”(speed)、所處位置等信息稱為“屬性”,比較容易理解。為了加深學(xué)生對以上概念的理解還舉了“人”的例子,“站起”“舉手”等動作就是人的“操作”,“身高”“體重”等信息就是人的“屬性”。在“車”的例子中,車的“型號”和“顏色”等是車的“屬性”,車的“前進”和“倒退”是它的操作。用提問的方式,讓學(xué)生慢慢明白,“操作”是一個動詞,“屬性”是一個名詞,從而理解什么是對象的操作,什么是對象的屬性。
(三)基本程序結(jié)構(gòu)
《small basic》以語句為單位來解釋執(zhí)行。按照語句的執(zhí)行方式不同,可以分為順序、選擇、循環(huán)3種基本的程序結(jié)構(gòu)。學(xué)生的難點是循環(huán)結(jié)構(gòu),變量初始化值的設(shè)定和界限的設(shè)定??梢越柚鞒虉D來幫助學(xué)生理解該語句的使用。比如最典型的累加任務(wù),先對任務(wù)進行簡化,把原有任務(wù)1+2+3+……100,簡化成任務(wù)1+2+3+4+5,對這個小任務(wù),學(xué)生知道把幾個數(shù)依次加上。但一碰到累加到一百,學(xué)生馬上想到先把1+100,然后套用公式,頭腦里還是沒有把要求拋給計算機,讓計算機去解決的思想。所以要把任務(wù)簡化,沒有真正體會到累加,什么叫累加,累加就是在原來加的結(jié)果上再加上一個數(shù)。教學(xué)的關(guān)鍵是將解題思路細化成算法步驟。引進“計數(shù)變量”和“算法變量”,利用循環(huán)結(jié)構(gòu)主要解決這種需要進行大量重復(fù)累計計算。
(四)任務(wù)案例
當基本概念和程序結(jié)構(gòu)掌握后,主張用主題引領(lǐng)或者任務(wù)驅(qū)動的方式推進教學(xué),主題或任務(wù)的選擇應(yīng)與學(xué)生的興趣、學(xué)習(xí)和生活緊密相關(guān),這樣既有利于激發(fā)學(xué)生學(xué)習(xí)信息技術(shù)的興趣,又有利于教學(xué)任務(wù)的完成和學(xué)生能力的培養(yǎng)。
(一)任務(wù)由簡入繁
先拋出典型任務(wù),讓學(xué)生自己把任務(wù)簡化,先考慮簡化后的任務(wù)如何處理,并把思路細化成具體的算法語句,然后以此作為知識的生長點,把任務(wù)還原,完成后,再拋出類似任務(wù)加以鞏固。然后提高難度,把任務(wù)逐步擴展。
(二)積極探討,提升能力
要想方設(shè)法讓學(xué)生投入?yún)⑴c到操作中,讓學(xué)生有把自己的想法,用程序語句表達出來,然后讓計算機去演算,是不是得到預(yù)想的結(jié)果,從而體會到編程的樂趣。通過一些有趣、熟悉、代表性的問題進行模仿、操作、探索、激發(fā)學(xué)習(xí)的興趣,鼓勵學(xué)生大膽質(zhì)疑發(fā)現(xiàn)問題,并抓住學(xué)生的問題,以此作為教學(xué)的關(guān)鍵點,引發(fā)學(xué)生探討,各抒己見,從而提高學(xué)生的實操能力。
(三)引導(dǎo)學(xué)生,注重反思
在教學(xué)中一定要培養(yǎng)學(xué)生養(yǎng)成反思的習(xí)慣,自己編寫的程序,出錯后如何處理,這是提高解決問題的好時機。通過程序閱讀,發(fā)現(xiàn)漏洞與錯誤,并加以歸納。另外,還要讓學(xué)生將自己編寫的程序還原成計算過程,來驗證程序,找出問題,進而改善,養(yǎng)成嚴謹?shù)木幋a習(xí)慣。
三十課時的SmallBasic教學(xué)對學(xué)生來說是對編程的啟蒙,但其語言本身的趣味性會引發(fā)學(xué)生強大的編程興趣,再加上“智能感知”功能使得學(xué)生很容易上手。短短幾十個課時就能讓學(xué)生建立計算機思想,增強邏輯思維。