張海青 山東省青島市城陽區(qū)職業(yè)中等專業(yè)學校
2020年1月20日,教育部頒布的《中等職業(yè)學校信息技術課程標準(2020年版)》(以下簡稱“課標”)明確指出,通過對信息技術基礎知識與技能的學習,有助于增強學生的信息意識,發(fā)展計算思維,并將計算思維作為主要學科思維融入核心素養(yǎng)的設計中。課標還指出,在具體實施教學時,教師要根據(jù)教學內(nèi)容提煉計算思維的形成過程和表現(xiàn)形式,引導學生在解決問題的過程中經(jīng)歷分析思考、實踐驗證、反饋調(diào)整的過程,逐步形成計算思維。面對課標的最新要求,中職學校如何認識計算思維、如何將計算思維落實到課堂教學實踐中成了教學一線教師最為關注的問題。為此,本文在參考現(xiàn)有計算思維相關研究的基礎上,以中職信息技術課程《程序設計入門》模塊為例,對計算思維結構在模塊中的具體化表現(xiàn)進行了探討,并在《認識算法》一課中開展了教學設計與具體應用。
根據(jù)課標的界定,計算思維是指個體運用信息技術的思想方法,在分析處理信息、解決問題過程中產(chǎn)生的一系列思維活動。但這只是一種整體性描述,只涉及計算思維的內(nèi)涵及要求。計算思維是一個復雜的科學思維綜合體,要深入認識計算思維,并將思維過程落實到課堂教學實踐中,必須進一步厘清計算思維的意蘊與結構,并在結構關系中理解其具體表現(xiàn),逐步提煉出隱含在不同教學內(nèi)容中的計算思維表現(xiàn)形式。
關于計算思維結構的研究,李藝教授團隊提煉了信息技術課程中的六組思維主題,于穎博士探索了包含六大思維主題的信息技術課程計算思維三棱結構,并對計算思維結構的要素內(nèi)涵及其關系進行了表征(如下頁圖)。
以此三棱結構為基礎,于穎博士依據(jù)高中信息技術課標,探索了計算思維結構在“數(shù)據(jù)管理與分析”模塊中具體表現(xiàn)的分析方法:首先需要根據(jù)課程標準,分析模塊的核心特征;其次通過對學科核心素養(yǎng)的內(nèi)涵與水平劃分及模塊內(nèi)容標準的分析,將相應的計算思維水平描述與內(nèi)容標準條目描述對應到計算思維各主題中;最后結合計算思維水平描述與模塊內(nèi)容標準的分析結果,提煉出模塊計算思維的具體表現(xiàn)形式。
雖然高中和中職屬于兩種不同的教育類型,但信息技術課程作為兩個學段的公共基礎課,都屬于通識教育體系,其對學科核心素養(yǎng)培養(yǎng)目標的四個方面,即信息意識、計算思維、數(shù)字化學習與創(chuàng)新、信息社會責任的內(nèi)涵界定趨向一致,因此,可以借鑒以上計算思維結構在課程模塊中具體表現(xiàn)的分析方法,來進行中職課程模塊的計算思維具體化。
中職信息技術課標的課程結構,包括8個必修模塊和10個拓展模塊,“程序設計入門”是必修模塊中的第5部分,與其他模塊相比,它的核心概念、表達方式和邏輯結構更注重引導學生運用算法和程序設計解決問題的能力,以此模塊作為培養(yǎng)計算思維的試點,可以相對容易地提煉計算思維的表現(xiàn)形式,更容易切入實施。而且,中職生在中小學有一定的程序知識基礎,盡管之前的信息技術課堂課時少,時間久,但是他們利用程序設計解決問題的意識并沒有失去,這對計算思維的落實提升大有助益。
中職課標關于計算思維的描述,主要體現(xiàn)在三方面:一是在學科核心素養(yǎng)與課程目標中有整體性的描述和要求;二是在課程各模塊內(nèi)容的具體要求和教學提示中有說明;三是在學業(yè)質(zhì)量水平劃分方面,將其隱含在質(zhì)量水平描述之中,并與附錄中按照課程內(nèi)容劃分層次要求進行了對應,如課程內(nèi)容基本要求對應學業(yè)水平一、課程內(nèi)容較高要求對應學業(yè)水平二。可以說,對于計算思維的具體表現(xiàn),盡管中職課標有以上三方面的描述,但沒有像高中課標那樣從不同的水平等級進行進一步的細致表述,需要教師在開展教學時,進一步提煉計算思維的形成過程和表現(xiàn)形式。
信息技術課程計算思維三棱結構
基于高中課標中關于計算思維水平的劃分,拋開了具體知識內(nèi)容,是從一般意義上進行的計算思維水平劃分,因此中職模塊可以此為參照,并依據(jù)中職課標內(nèi)容與學業(yè)質(zhì)量要求,遴選適合中職生思維水平的描述,即按照“模塊對應計算思維水平描述分析(高中課標)—模塊內(nèi)容標準(中職課標)—模塊計算思維總體描述—模塊計算思維具體表現(xiàn)形式”的思路,將其具體化于思維主題中(如下頁表)。
以此具體表現(xiàn)為基礎,“程序設計入門”模塊中各部分內(nèi)容蘊含的思維主題就能夠比較清晰呈現(xiàn)。筆者參考課標12課時的總體要求,以及內(nèi)容的具體條目、學業(yè)水平要求和相關教材資源,設計了模塊的初步內(nèi)容劃分、課時安排,及其對應的思維表現(xiàn)安排,具體如下:
①初識程序設計(2課時)——主要以了解程序設計理念、理解運用算法思想解決問題的一般過程為主,對應思維主題主要是抽象建模的對象與管理思維,以及現(xiàn)實問題的解決必須遵循一定的步驟和規(guī)則的規(guī)則與安全思維。
②設計簡單程序(4課時)——主要以掌握數(shù)據(jù)的區(qū)分、表示、計算,程序的流程控制,函數(shù)應用,算法的具體實現(xiàn)為主,對應的思維主題主要以數(shù)據(jù)與計算、設計與制作為主,并滲透了規(guī)則與安全、系統(tǒng)與工程思維。
計算思維結構在“程序設計入門”模塊中的具體表現(xiàn)
③運用典型算法(4課時)——主要以排序、查找、枚舉典型算法,以及功能庫擴展程序為主,以設計與制作為主要思維主題,數(shù)據(jù)與計算、規(guī)則與安全、系統(tǒng)與工程以及協(xié)作與交互思維滲透在設計與制作過程中。
④算法程序的綜合應用(2課時)——主要是對整個程序設計入門知識的綜合應用,主要以設計與制作、系統(tǒng)與工程思維為主體,其他思維主題貫穿其中。
可以說,劃分了大課時的內(nèi)容安排,在關注整體思維培養(yǎng)的同時,更關注各部分的思維主題及其之間的聯(lián)系。下面,筆者以初識程序設計中第一課《認識算法》為例,來探索具體的單課時課堂教學案例設計。
《認識算法》的第1課時引領學生從無到有理解算法概念,掌握算法解決問題的一般過程,初步具備從算法角度觀察問題、抽象建模,并對算法進行恰當描述的對象與管理思維,將規(guī)則思維滲透其中;第2課時引入程序設計語言,在第1課時基礎上對算法的現(xiàn)實實現(xiàn)有初步體驗,同時進一步強化和鞏固對象與管理思維、規(guī)則思維。由此,將課堂內(nèi)容設計為:陳述性知識——算法、程序概念、算法特征;程序性知識——從實際問題中發(fā)現(xiàn)算法、利用算法解決問題的基本過程;策略性知識——在用算法解決問題過程中需要的主要思維方法,即抽象、建模(不同問題情境)。
在《認識算法》一課的教學中,教師選取了新生報到流程設計的生活主題,原因其三:一是學生作為高一新生,對入學報到的場景記憶猶新,有比較強的心理體驗;二是學生參與了報到過程中的流程體驗,對算法的理解及流程設計的意義能有更多的體會;三是報到過程的繳費問題作為實際所需,在日常生活中有普遍的應用,有助于學生對知識的拓展和遷移。
《認識算法》一課的目標設計,不局限于算法的概念、算法解決步驟等學科知識問題,而是通過參與設計的各種活動,如模擬新生報到、在線繳費等,來達成具體的思維水平。具體表述如下。
學科知識:算法的概念與特點;算法解決問題的基本步驟:抽象建?!惴ㄔO計;流程圖的描述方法。
問題解決:根據(jù)實際問題要求設計合理算法,并進行描述。
學科思維:用算法設計的思想考慮真實情境問題,提煉問題關鍵要素,進行抽象建模。
另外,本課在解決問題過程中需要遵循的基本課堂規(guī)則意識,師生、生生之間的交互協(xié)作能力,也滲透在對象與管理思維主題的培養(yǎng)之中,在描述學科思維目標時不再單獨列出。
課堂教學情境的創(chuàng)設和內(nèi)容組織一般需要考慮三個方面:其一,對于概念或原理等抽象概括性的陳述性知識,在將其作為學習者學習或應用的新知識時,需要以生成性的方式存在,如算法的概念,不是籠統(tǒng)地告知教材中已有算法概念的表述,而是將其放在熟悉的報到場景中,通過角色扮演、觀察分析等活動,主動生成關于算法概念的理解,以便納入學生原有的認知體系之中;其二,對于解決問題的基本過程、方法等程序性知識,可以通過實例研討方式,按照從認識到形成,從具體化到一般化的認知過程進行,如算法解決問題的基本步驟,教師不是直接呈現(xiàn)抽象建?!O計算法的基本流程,而是在實例中通過引導學生從常規(guī)數(shù)學思維計算轉(zhuǎn)變?yōu)槔糜嬎銠C工具來解決問題方式進行,并通過多類型場景,強化對這一認識的鞏固和運用;其三,對于解決不同問題情境或綜合性問題中的算法設計等策略性知識,可以設置有一定復雜度的情境或差異化情境,如在運用算法流程解決問題的過程中,設置活動拓展,引導學生發(fā)揮自我探索將新生報到流程設計繼續(xù)完善,設置在線電影票付費、有問有答(詢問名字地址)兩個不同情境,訓練學生綜合運用抽象建模與流程設計的過程來解決問題。
這三種不同的情境設置,需要豐富的素材儲備,除了教材中的實例、實踐應用,還可以參考題庫中的例題,以及教師自主設計的活動主題等。
為保持單一課時的思維目標與整個模塊培養(yǎng)目標的統(tǒng)一性和連貫性,筆者將《認識算法》一課納入到整個模塊學習項目(第5模塊——了解算法設計與Python程序?qū)崿F(xiàn))中進行活動設計??紤]到中職學生初步接觸程序設計的特點,各課時以微項目來組織課堂,鑒于目前教師課堂教學普遍使用任務驅(qū)動教學方法,因此各課時將微項目與課堂任務相結合,并以任務形式表述,每個任務下設相應的多個活動,每個活動明確活動要求,并設置活動基本流程。在活動開展過程中,為便于思維引導及活動的過渡,每個活動開始之前設計一個引領性問題。以下是《認識算法》一課的教學活動設計。
情境體驗:觀看新生報到視頻,思考報到中的流程問題。
問題1:什么是算法?它與算術、程序設計有什么關系?
活動一:模擬新生報到簽到。
活動要求:觀看學生扮演新生報到的過程,思考報到的步驟與特點。
活動開展:探討新生報到簽到過程可以分解為哪幾步;思考新生報到中遇到一些特殊情況怎么處理;理解算法、算術和程序設計的關系;辨析算法的主要特點,并總結。
問題2:如何從算法的角度思考解決問題?
活動二:新生入校在線繳費。
活動要求:學生入校需要購買校服、書本,并繳納一個月飯費,現(xiàn)在想通過手機APP在線方式繳費,如何計算付款金額?
活動開展:分析計算金額涉及的要素——問題抽象;用數(shù)學符號描述計算模型——建模;設計算法——算法描述(用自然語言描述在線繳費的步驟;用流程圖描述——手畫/Raptor可視化流程圖繪制)。
活動拓展:完善新生報到流程算法設計(學生——繳費)。
活動三:生活中的算法分析。
活動要求:設計網(wǎng)購電影票,顯示付款金額算法/設計有問有答(詢問名字地址)算法;
活動開展:①根據(jù)設計步驟提示,完成實例算法過程;②探討生活中類似的問題算法;③Raptor流程設計轉(zhuǎn)換成設計語言一覽。
課堂小結:思維導圖梳理算法要點。
課后作業(yè):課后繼續(xù)完善報道流程,鞏固算法設計能力;學有余力學生思考變量設計細節(jié),提供探究入口。
為了解本節(jié)課的實際應用效果,筆者選擇一個班級學生通過課前問卷、課堂觀察及課后問卷形式加以反饋。從整體上來看,與常規(guī)課堂相比,學生的積極性明顯提高,課堂思考的機會增多,思考的程度也明顯加深;從學生個體來看,存在一定差異,有的學生理解能力好,能即刻響應教師,有的相對較慢,需要教師的指導,因此教師需要實時關注,及時調(diào)整教學進度,并合理設置合作學習。
總體而言,經(jīng)過精心的設計和反復探索,本節(jié)課的教學實施達到了預期的教學效果。不過,以計算思維為導向的課堂設計實施,由于特別強調(diào)了學科思維的重要性,其對師生的要求都有所提高。特別是對于絕大部分中職生來說,僅僅通過一兩次問題解決活動還不足以內(nèi)化并形成穩(wěn)定的計算思維素養(yǎng),需要通過多次主體活動、反復經(jīng)歷計算思維過程才能最終形成,這些在后續(xù)的課堂設計實施中,需要特別關注。