《中小學信息技術課程指導綱要》中要求中小學生要“了解程序設計的基本思想,培養邏輯思維能力”。程序設計是計算機學科的一個核心內容,其地位毋庸置疑。它不僅是計算機解決一切問題的根本,更是組建計算機的機理、原理。學習計算機的用戶都需要了解和掌握一些程序設計的相關知識,只有這樣,我們才能解開計算機的神秘面紗,更加從容熟練地掌握和駕馭它。而且,程序設計教學在培養學生分析問題、解決問題能力及建立科學的思維方式上,有著其它學習內容不可替代的作用,程序設計正是能夠凸顯信息技術學科地位和信息技術老師專業地位的一把“利器”。
一、中小學程序設計教學開展過程中存在的現實問題和認識誤區。
1.弱化了信息技術的學科地位,過于突出信息技術的工具性特點。
軟件業和互聯網的飛速發展,使得普通用戶甚至小學生都能夠輕松得到各種現成的應用軟件,無需自己編程解決。許多老師對信息技術的認識還停留在僅僅作為一個工具性學科,因此就有觀點就認為:“計算機學科沒有必要學習程序設計,只需要學習計算機操作方法和常用軟件的使用就可以了。”這種說法未免太過功利主義,即當前社會上需要什么就學什么,非學校義務教育的出發點和最終目的。普通中小學教育追求素質教育,是指一種以提高受教育者多方面素質為目標的教育模式。
中小學信息技術課程的“工具論”,過于強調 “操作與使用”,學生對計算機的工作過程和工作原理知之甚少,“知其然而不知其所以然”,對計算機發展史上的成功與失誤、信息技術的前景展望等不甚了解,影響了學生創新意識和前瞻意識的培養。雖然信息技術學科誕生的時間不長,但有其自身的學科價值,尤其是程序設計教學對中小學生的思維品質和創新精神的培養意義重大。
2.程序設計過于復雜,不適合中小學普及學習。
像BASIC這種邏輯性很強的計算機語言,確實需要很強的邏輯推理能力和一定的數學知識。但在中小學普及程序設計課程,學習的目的不是培養“專業程序員”,也并不一定要求每個人都編出多么復雜的程序,而是可以讓學生通過學習程序設計,加深理解計算機的一些工作過程,如輸入、輸出、運算以及如何控制計算機;另外讓學生了解程序設計的一些初步知識、算法的概念,以及通過程序設計的方法和思路解決一些簡單的實際問題等,如提出問題和需求分析、確定算法、編寫程序、調試程序,從而培養學生分析問題和解決問題的能力。
當然,在實際的程序設計教學過程中,不能一味偏重講解語法和程序難度,枯燥無味的代碼會大大降低學生的學習興趣和積極性,因此要注重編程內容的趣味性,盡量發掘學生感興趣的編程素材,并經常鼓勵學生大膽發表自己的觀點,創新的思維和創新想法,即使是還不夠成熟的想法。
3.學習程序設計與其它學科孤立,只強調代碼的編寫。
程序設計是一個復雜的過程,一般需要經過問題分析、算法設計、編碼實現、調試測試等眾多環節,而且各個環節環環相扣,在每一步都有很多學問,考驗學生的綜合能力。最后呈現在面前可能是一些毫無生機的代碼,但這些代碼的背后包含了很多的智慧和創新,蘊含了很多其他學科知識和原理,尤其是一些數學知識。程序設計的教學就是應該強調這些過程的學習,在“做”中“學”。
二、中小學開展程序設計教學的目的和意義。
1.有助于培養學生對計算機的正確認識。
事實證明,軟件人才要從小培養。國內外的軟件天才們,他們大都數都是從孩童時代就對計算機有著濃厚興趣,并逐漸步入這個領域的。現在有些家長反映自己的孩子非常聰明、喜歡計算機,就是成迷玩游戲。我給他們的建議是,讓孩子學習計算機編程。讓這些聰明活潑的孩子充分認識到“玩游戲”只不過是使用別人的計算機軟件,只是按照別人編寫的程序一步一步地操作,自己編寫游戲讓別人玩才有能耐。一些有天分的孩子通過努力,編寫出一些實用的小程序、小游戲。這會讓他們非常有成就感,更重要的是,學習編程后,他們對計算機、對游戲有了正確的認識。我想,讓學生體會自己動手編程解決實際問題的樂趣,激發他們的求知欲,從而引導一些有天資、有才氣的青少年成為祖國未來的軟件人才,這才是程序設計教學對他們的深遠影響。
2.全面培養學生的綜合素養。
在完成程序設計過程中,能全面鍛煉和培養中小學生各方面的能力和素養,包括學科知識的應用能力、邏輯思維能力、規劃能力、觀察力、判斷力、想象力、實踐動手能力等。程序設計的各個環節都充滿了挑戰,如對任務要求分析,考驗學生的理解能力和相關學科知識的應用能力;算法設計的中能反映出學生的邏輯思維能力、規劃能力和創造性;算法復雜度的估算又能體現出學生的預見性和科學精神;編寫程序、實現算法的過程能體現出學生的動手能力和構造能力;而調試程序的過程能檢測出學生的觀察力和判斷力;最后一步測試數據的設計又能反映出學生考慮問題的全面性和想象力。此外,程序設計還有利于形成嚴禁求實的科學研究態度,提高科學思維能力。
3.有利于培養學生的創新意識和精神。
創新精神,是一個民族不斷進步的靈魂,是一個國家興旺發達的不竭動力。同一程序設計問題的解決,腳本和結構并不既定,不同編程者往往能夠提出一些新穎的、巧妙的算法思路,或者設計出一些獨特的數據結構來支持和實現算法。所以,絕大多數的愛好程序設計的學生都有思路敏捷、創新意識和精神比較強的特點。
作為一名信息技術教師,我覺得加強中小學生程序設計課程,滲透程序設計的思想,給學生以熏陶的作用,是十分有必要和重要的。學校也可開展以程序設計為主的課外活動,給那些有興趣、有天賦的學生提供一個更高平臺的學習環境。
(作者單位:蘇州高新區敬恩實驗小學)