倪俊杰
從去年開始,身邊的很多教師都在議論同樣的話題:“信息技術教材要改革了,據說是大變樣?!薄案咧行畔⒓夹g可能要換一門新的語言了?!薄耙院蟮男畔⒓夹g課該怎么上呢?”……作為信息技術學科教師,我也在積極關注學科發展的動向,有了一些所思所想,供各位讀者參考。
高中信息技術課程開展情況
為了摸清信息技術課程開展情況,教育部組織專家成立了專項調研組,訪談了8個省84所學校的175名高中信息技術教師,并對283名教師進行了問卷調查。調研組還訪談了信息技術教研員以及對部分高三學生進行了問卷調查,反饋結果顯示,當今信息技術課程存在兩個方面的問題:一是教材內容的問題,二是課程實施的問題。對此,筆者有幾點看法:①信息技術課程內容既要符合當前社會發展的實際情況,又要和小學、初中的內容合理銜接,選修教材設置要能滿足部分學生個性化學習的需要;②信息技術課堂的追求要從工具化操作應用上升到學科素養的高度,“去工具化”迫在眉睫;③信息技術學科地位與其作用不相稱,會考(學考)、高考將會逐漸步入正軌;④信息技術教師要正視學科發展前景,積極關注新一輪教材改革。
從目前各省公布的新高考方案來看,浙江是唯一執行“七選三”方案的省份。從某種角度而言,浙江的技術學科(信息技術+通用技術)被擺在一個特別“尷尬”的位置,全國都在看浙江的動向。那么,當前的技術課程能否適應高考的要求,今后技術課程的出路又在哪里?
什么是計算思維
2014年11月,教育部啟動了高中所有學科課程標準修訂工作。依據“中國學生發展核心素養”等方面的要求,課標組界定了信息技術學科的核心素養要素:信息意識、計算思維、數字化學習與創新和信息社會責任。又按照信息技術課程特征和知識技能的邏輯體系明確了高中信息技術課程的大概念:數據、算法、信息系統和信息社會。圍繞信息技術學科的核心素養和學科大概念,新課標選擇了兼顧實踐性與理論性的課程內容,以突破目前教學中課程內容多為工具軟件操作的局限,將高中信息技術課程分為必修模塊和選修模塊。其中,必修模塊分為“數據與計算”“信息系統與社會”兩個子模塊,而“數據與計算”模塊中的內容強調了簡單算法的學習,讓學生掌握一種程序設計語言的基本知識,使用程序設計語言實現簡單算法,將計算思維的形式化、模型化、自動化特征滲透至內容標準中。在這里,特別突出了計算思維的重要性。那么,什么是計算思維?高中信息技術課程中該如何通過編程教學體現計算思維呢?
計算思維是由美國麻省理工學院西蒙·帕佩特教授最早提出的,后來由美國卡內基梅隆大學周以真教授進行系統闡述和推廣。計算思維的含義是:運用計算機科學的基礎概念進行問題求解、系統設計、人類行為理解等的一系列思維活動。計算思維應該是每個人具有的基本技能,而不僅僅屬于計算機科學家。計算思維是一種思維方式,被認為是近十年來產生的最具基礎性、長期性的學術思想,已經成為當今重點科學研究的內容。計算思維主要表現為“形式化、模型化、自動化和系統化”四個方面,包含三個層次的內容,即計算思維意識、計算思維方法和計算思維能力。從意識到方法再到能力的過程不是一蹴而就的,這是一個循序漸進的過程,需要有針對性地對課堂教學加以培養。
那么,對于剛剛接觸編程語言的高中學生而言,應該如何培養他們的計算思維呢?什么樣的編程語言能夠“擔此重任”?
為什么選擇Python
1989年圣誕節期間,Guido vanRossum(吉多·范羅蘇姆)為了打發圣誕節的無趣,決心開發一個新的腳本解釋程序。Python是純粹的自由軟件,語法簡潔清晰,極易上手,具有豐富和強大的庫,常被昵稱為“膠水語言”,能夠把其他語言很輕松地聯結在一起。
Python的程序可以怎么寫?來看這樣一個問題:輸入圓的半徑,輸出圓的面積。用Python語言可以這樣寫:
>>> pi=3.1415
>>> r=eval(input("請輸入半徑:"))
請輸入半徑:6
>>> print(pi*r**2)
113.09400000000001
從上面程序可以看出,Python的語言確實非常簡單,通俗易懂,可以作為學生的入門語言。除此之外,Python語言還在數據分析、數據可視化、科學計算、硬件編程等領域有很強的優勢。
Python語言從問世開始便引起了廣泛的關注,其中也不乏學校和教師挖掘了其教學價值,很早就開始把Python應用在教學實踐中。美國綜合排名前100名的大學有超過70%都開設了Python編程語言類課程。北京理工大學作為國內較早一批引入Python語言的高校,自2013年起就開始面向全校非計算機專業學生開設了公選課《Python語言程序設計》,還有南京大學、哈爾濱工業大學、山東工商學院等多所院校都開設了Python語言的相關課程。
Python語言簡潔易懂的特點,比較適合沒有編程基礎的學生。教師和學生不需要花費大量的時間去處理代碼的格式錯誤。這樣,教師在教學過程中能夠更加關注算法思維的培養,讓學生盡快地在編程中獲得成就感,進而培養計算思維。
Python編程教學建議
信息技術課程是一門實踐性強、技術條件及師資條件要求較高的課程。教師及教育管理者在課程設置、教學組織、評價方式、課程環境和教師培訓等方面需要做好相應的準備。
1.課程設置建議
高中信息技術課程必修模塊為4學分,選修模塊為2學分。結合中學生的現有水平和認知特點,高中階段的Python教學無需注重復雜的高級部分,而應強調Python語言的基本用法和常用算法思想,建議教學內容安排如下表。
2.教學方法建議
教學方法是教師和學生為了實現教學目標,完成教學任務,在教學過程中運用的方式與手段。作為信息技術教師,如何在課堂教學中落實培養計算思維的目標呢?從認知發展來看,高中學生的邏輯思維能力逐步趨于成熟,能夠對自己的思想觀點進行論證,能有條理地對各項經驗加以理論說明,這也為學生計算思維的進一步發展創造了條件。目前,關于信息技術的課程教學方法有很多,如講授法、任務驅動法、基于問題學習、游戲教學法、在做中學等,還有一批教師團隊提出了“范例研習—模仿設計—自由創作”的教學策略。結合以上幾種教學方法,根據計算思維的特點,筆者提出了一種以項目式教學為指導的教學方法,即“案例啟發創作”教學法。endprint
“案例啟發創作”教學法的設計思路是先讓教師在課堂上設計一個教學情境,提出所要解決的問題。學生在教師的指導下對提出的問題進行分析、細化,再根據情境創設的具體情況提出問題解決策略。在這個過程中,學生可以通過回溯驗證對問題解決的策略不斷優化。此外,學生根據問題解決策略對問題解決進行嘗試。在這個過程中,學生通過反饋進行交流討論、歸納總結,進一步細化問題后再提出新的問題解決策略,最終反復驗證解決問題。當學生解決了教師創設的情境問題,可根據已有水平進行自主創作時,就真正提升了專業技能。
3.教學保障建議
前文討論了Python進入中學課堂的可行性和教學實施建議,但就目前國內中學信息技術教學現狀而言,還存在一些現實的困境。首先,由于Python是開源語言,有很多動態的庫,其語言本身還處在更新過程中。那么,Python教學應該選擇什么版本,講授哪些知識點,考試標準、考試形式、評價標準等內容都需要科學規劃和設計。其次,由于國內大學引入Python教學的時間并不長,中學階段更是沒有開設的經驗,不僅缺少成熟的教學體系,相應的教學資源也比較匱乏。在中學階段開設Python課程還尚無成功的經驗可供借鑒,如果在此背景下直接開設Python課程,對一線教師來說無疑是巨大的壓力和挑戰。面對以上問題,我們可以從以下幾條途徑予以解決:
(1)盡快開展教師培訓。大多數中學教師沒有接受過Python語言的完整訓練,很多教師對Python語言一無所知,更別提實際的開發經驗了。教師是落實課程標準的主體,教師對課程標準的理解和應用程度決定了課程標準的落實程度。開展基于課程標準的教師培訓是課程標準實施的一項關鍵舉措。建議教研部門盡快開展面向中學教師的Python語言編程和教學的培訓,幫助他們扎實教學能力;選擇試驗地區和試驗學校進行Python語言的教學試驗,在試驗中積累有價值的經驗。
(2)加強學科實驗室建設。對信息技術課程而言,必要的基礎設施、基本設備是課程實施的物質基礎。信息技術教學實驗室應針對課程模塊設立,著重滿足學生實踐操作的需求;除了考慮配備實驗用品之外,還應當考慮配備適當的工具和測試儀器,以保證實驗的水平和質量。建議有條件的學校建設信息技術學科實驗室,倡導通過動手實踐、實驗操作的方式發展學生的創新能力。
(3)注重多元評價。評價作為一種價值判斷的過程,反映的是教育價值理解的多元性。因此,為了全面評價學生的學業水平,信息技術學業評價應采用多元評價方式,通過多途徑收集學生學習信息,判斷學生學習結果,提供學習支持。基于核心素養測試的試題設計要從學生的認知規律出發,通過創設與信息技術相關的問題情境,在不同能力層次上對學生進行較為全面的考查。建議教育行政部門聯合相關專家盡快制定與當下課改要求相適應的Python教學的考試和評價的標準,從宏觀層面上建立Python教學的生態體系。另外,筆者認為,有必要搭建基于Python語言的Judge Online系統,以適應學科的整體發展。
總結
高中信息技術課程的改革之路異常艱辛,雖然信息技術新課標尚未正式公布,教材也未面世,但從學科發展而言,編程語言的選擇和教學實施是非常關鍵的問題,在學科核心素養的培養過程中有著舉足輕重的地位。不管信息技術課程內容最終如何呈現,都希望各方能夠足夠重視信息技術學科的發展,共同創造一個有利于學科、教師、學生,也有利于社會的良好環境。endprint