[摘 要]“算法與程序設計”這門課程內容本身具有邏輯性和嚴謹性的特點,這有利于提高高中階段學生的思維能力,解決問題的程序化能力。教師在教學中要引導學生思考并設計能激勵學生學習興趣的作業形式。
[關鍵詞]信息技術;課堂教學 ;反思
在素質教育背景下,我國信息技術教育實現了由計算機教育到信息技術教育的根本性轉變。這門課程內容本身具有邏輯性和嚴謹性的特點,這有利于培養學生的邏輯思維能力和實踐能力,有利于提高學生解決問題的程序化能力,符合高中階段學生能力的培養目標,體現了課程改革的要求。
一、教學中應該滲透軟件工程的思想
“算法與程序設計”模塊的教學中存在多條主線,如問題解決的主線、算法的主線、代碼編寫的主線,不同主線反映了不同的思想。以程序設計為主線,即關注程序設計的整個過程。先根據需要確定算法,然后選擇一種程序設計語言來實現算法思想。在強調算法的基礎上,整體結構當以程序設計為中心。以“算法與程序設計”對模塊進行命名,正是在突出部分(算法)的基礎上關注整體(程序設計)。這既凸顯算法在程序設計中的重要作用是作為一種思想和方法而存在,又明確算法只是程序設計中的一步,其價值體現在服務于程序設計的整體過程中。在用算法與程序設計來解決問題的過程中,問題的解決是按照一定的步驟、一定的思維方式和方法來進行的,其中體現了軟件工程的基本思想。
軟件工程是指導計算機軟件開發和維護的工程學科,強調采用工程的概念、原理、技術和方法來開發與維護軟件。它將軟件開發與維護分成不同的階段,從問題定義階段開始,經歷可靠性研究、需求分析、總體設計、詳細設計、編碼和單元測試、綜合測試等,最后是軟件維護階段,軟件開發的復雜任務被分配至每個階段,隨著階段工作的進行,用戶需求從抽象的邏輯概念逐步轉化為具體的物理實現。
軟件工程的內容雖不屬于高中學生的學習范圍,但軟件工程中強調系統的思想和方法是高中學生需要學習了解的。學習算法與程序設計就是要了解并掌握如何使用計算機解決問題,尤其是要理解問題解決過程中采用的思想和方法,這是學習本模塊的關鍵,也是具有普遍遷移價值的內容。
二、作業布置技巧
信息技術作為一門比較新的學科,它的作業和其他學科有些不同,主要以課堂作業為主,一般需要學生上機完成(包括基礎題和操作題)。由于學生的起點不一,差異較大,對新知識的理解和掌握的快慢不同。因此,教師要針對學生的知識水平和能力結構進行合理分析,設計出多樣化、多層次、多元化的作業,以促進學生的個性化發展。
(一)游戲式作業
“算法與程序設計”模塊中一些抽象的概念對于初學者來說比較枯燥難學,如何讓這些算法和程序生動起來,讓學生在完成作業的時候不再覺得乏味,游戲式的作業是最佳選擇之一。游戲式作業,就是設計形式活潑、富有趣味的作業,將所學知識蘊涵到游戲當中。如在講解控件工具箱中的滾動條時,設計“變化匹諾曹的鼻子”的小例子,將知識點蘊涵其中:拖動滾動條,匹諾曹的鼻子會變長或縮短??梢栽诒敬握n堂作業設置中,讓學生完成類似“變化匹諾曹的鼻子”的作品。
(二)操作實踐式作業
實踐式作業就是讓學生在自己探索研究的過程中,提出解決現實問題的方法及策略,在鞏固知識的同時,讓學生學會提出問題、分析問題和解決問題。如在講解“循環語句”知識的時候,可布置這樣一個課堂作業:要求學生應用循環語句編寫一個程序,模擬“平拋運動”的運動軌跡,分解“平拋運動”,并建立動態示意圖。當他們通過編寫正確代碼從而解決實際問題時,學生的成就感得到滿足,從而渴望解決理解更多問題;當編寫的代碼出錯時,他們就會進一步探索思考,直到解決問題為止。這樣,不僅能讓學生將所學知識運用于實際生活中,加深對知識的理解,同時更能激發學生學習的積極性。
(三)層次化作業
針對學生差異性的問題,教師可以通過設計層次化的作業來解決。根據難易程序,將課堂作業劃分為三個檔次:基礎性作業、選擇性作業、挑戰性作業?;A作業要求以學生能通過會考為原則,是針對全體學生的;選擇性作業就是根據練習內容或題型設置不同題目,讓學生根據自己的興趣來選擇作業的題目;挑戰性作業是對知識點的深入應用,主要針對學習能力較強的同學,讓他們有更大的發揮空間。
責任編輯 一 覺