


摘 "要 "隨著科技快速向前發展,現代社會已經邁入信息化時代,計算思維越來越被視為一種緊隨時代潮流的思維方式。針對教師如何在教學過程中將學生的計算思維與他們的學習任務結合起來,以基于Python編程語言設計與開發的成績等級評定程序為例,闡述中等職業學校Python程序設計課程如何培養學生的計算思維能力,如何在教學的過程中應用啟發教育與自主學習模式進行創新教育,為中等職業學校開展Python課程教學提供參考和借鑒。
關鍵詞 "中等職業學校;編程課程;計算思維;Python;
成績等級評定程序;思維導圖
中圖分類號:G712 " "文獻標識碼:B
文章編號:1671-489X(2022)01-0078-04
0 "引言
計算思維具有抽象性和自動化的特點,它的基本方法可以概括為兩個方面:數學方法和工程方法。在Python程序設計課程中,筆者采取計算思維的基本方法,把問題分為三個模塊:
1)正確認識課堂問題,嚴謹地組織教學數據;
2)將現實存在的問題轉化為抽象的數據教學問題;
3)采用自動化程序解決課程教學中的問題[1]。
計算思維能夠引導學生使用其基本方法進行程序設計,更能理解他人的言行,處理生活中遇到的難題。為了闡明計算思維的本質屬性,課堂教學中的思維理論強調通過激發學生的主動思維、自主探索、合作交流等方式完成他們對知識的認知。心理活動的學習過程是以思維理論和課堂教學理論為基礎,其教學方法不同于知識的教學方法,它是圍繞一種思維方式構建的。本文的程序設計教學案例以理論教學為指導,以計算思維的發展為基礎,構建該課程的教學方案并付諸實踐,促進學生的創造性學習,為中等職業學校Python課程教學中培養學生的計算思維提供參考。
1 "中等職業學校編程課程教學現狀
Python程序設計是近年來迅速普及的一種計算機程序設計語言。緊跟時代步伐的各中等職業學校,在計算機教學中紛紛加設相關的Python程序設計課程。筆者作為一名信息技術教師,在目前與Python課程相關的教學中發現,中職學生在進行編程時,時常不知道如何邁出編程的第一步,無所適從。學生在上課過程中,以為聽懂了教師關于程序講解的部分,但在實際操作的時候無法通過計算思維來模擬抽象的問題,并通過情境解決實際的問題[2]。導致這種現象的主要原因是:
1)教材中的一些內容與現實生活格格不入,學生無從下手,不能將獲得的知識與現實生活中獲得的常識聯系起來,從而對編程產生陌生與恐懼;
2)大多數教師在教學活動中沒有注意對學生進行計算思維的培養,大多以講授理論知識為主,但計算思維的培養是學生學習編程必須滿足的基本條件,他們需要通過設計程序去解決實際問題。
2 "基于學生計算思維培養的Python課程
設計:以成績等級評定程序設計與開發為例
2.1 "教學目標
2.1.1 "知識和能力目標 "掌握分支結構的使用方法和一般格式,通過分支結構的程序運行流程圖,基于Python設計開發出成績等級評定程序,深刻理解分支結構程序的執行過程。
2.1.2 "過程和方法 "根據現實生活中發生的實際問題,創設具體的情境,設法解決問題。教師要預先搭建好知識腳手架,引導學生小組自主學習新知識,并根據問題設法尋找解決的方案。
2.1.3 "情感態度和價值觀 "學生要學會互相交流與合作進行系統編程,清楚分支結構如何在計算機運行和生活中使用,以創新的方式激發思考的樂趣。
2.2 "內容分析
2.2.1 "教學重點 "使用分支結構設計與開發成績等級評定程序,解決實際問題:如何進行成績等級評定?
2.2.2 "教學難點 "使用嵌套語句解決更深層次的問題。
2.3 "學生分析
初級中學的計算機課程大多以教授計算機的各類應用軟件為主,在學生接觸Python程序設計之前,僅有一部分學生掌握了Visual Basic編程語言。他們把信息技術的學習看作一種機械式的動手實操,不愿去思考學習。然而,Python程序設計的學習需要學生思考、分析和解決許多實際遇到的問題,這與以往的學習方式存在一定的差異,他們感到不知所措,容易產生課程內容難以掌握和放棄學習的想法。教師在Python程序設計的入門階段,通過既詳細又生動的講解以及示范,幫助學生掌握輸入輸出函數、數據類型和序列結構的內容。若能在解決生活實際問題的基礎上建構以上學習內容,便可更好地激發學生學習Python程序設計的興趣。
2.4 "教學策略
2.4.1 "教法、學法設計 "基于問題解決的協作探究學習是本課程的主要學習方式。把學生分成若干個學習小組,他們以小組為單位開展協作探究學習,共同探索如何設計與開發一個成績等級評定程序。他們確定需要自主學習什么知識與技能來解決問題,并提出對應的解決問題策略。教師在課前構建知識結構,包括條件表達式的運算符及其含義、邏輯運算符及其含義、條件語句的基本格式與邏輯關系等。當學生確定使用Python程序設計的分支結構來完成教師提出的設計成績等級評定程序,他們會順其自然地去自主學習教師預設的知識,并將其應用到解決問題的過程中[3]。
2.4.2 "教學手段 "教學中要用到Python 3.6、
多媒體課件。
2.5 "教學過程
本課例把教學活動分為“提出問題”“引導學生小組討論”“根據實際問題設計方案”“解決實際問題”和“交流評價”五個部分。通過提出“如何進行成績等級評定”這一教學中的實際問題,引起學生的學習興趣,進而引導學生進行小組討論,分解任務。小組根據實際的問題設計出解決方案,使用FChart軟件編制程序流程圖,把復雜問題步驟化、清晰化。各小組根據方案實施成績等級評定程序的設計時,會遇到一些知識的盲點,教師預先準備好相關的學習資料,科學地指導學生學習。借助小組分工協作的模式,學生能在學習中發揮主觀能動性,綜合運用多學科知識進行合作學習,配合教學問題的設計與分析,創新應用知識去解決問題。最后,教師對學生的課堂學習表現和作品質量進行評價與總結。
3 "教學實施
3.1 "導入:聯系生活,提出問題
教師依據學生的期末考試成績給予他們一個成績等級評定,根據學生得到的分數,依次劃分為優秀、良好、合格和不合格四個評定等級,讓學生思考:能否使用Python設計一個成績等級智能評定程序?學生表現出極大的興趣,教師再次拋出問題:我們在設計程序的過程中如何按照一定的分數區間劃分各類等級?課堂上每四名學生組成一個小組,小組成員依據之前所學知識,借鑒Excel電子表格的IF函數,討論如何解決教師提出的問題。
【設計意圖】提出與學生學習、生活息息相關的問題,引發學生使用新知識去解決實際問題的興趣,更好地調動他們的學習積極性。
3.2 "計算思維基礎階段:數據的合理組織
學生開展小組協作學習,一同思考與討論如何科學地設定成績等級評定標準,結合生活常識和查閱網絡信息,經過小組研討后,使用程序語言教學工具FChart繪制程序流程圖,如圖1所示。
順利完成流程圖,在一定程度上反映出學生對成績等級評定程序的設計有一個清晰的思路,但是如何利用Python程序設計與實現呢?這對學生而言是本課的學習難點。所以,教師鼓勵小組成員自由表達自己的觀點和問題。各小組提出的各種疑問可歸納為兩個主要問題:計算機如何判斷不一樣的分數對應不同的等級?計算機如何把最終的等級評定結果輸出到屏幕?
【設計意圖】應用計算思維基本方法來解決實際問題,首先,要合理地組織數據并準確地描述問題;其次,要將復雜問題分為多個子問題;最后,要引導學生對上述生活中遇到的實際問題進行合理分析,并提出解決的步驟。
3.3 "計算思維形成階段:抽象數據類型、解決問題
教師搭建腳手架,設計關鍵問題。從算法到程序的轉變對中等職業學校的學生而言是一種思維的拐點:把亟待解決的問題細分為幾個關鍵的子問題,通過逐層深入引導,促進學生自主建構學習的框架。本課例使用Python程序的分支結構來解決問題,包括分支結構的格式、命令、分類等。在學生完成自主學習與小組協作學習后,教師邀請部分學生上臺,圍繞三個主題和大家分享對分支結構的理解:
1)多分支結構、雙分支結構、單分支結構的異同點;
2)編寫分支結構代碼的格式問題;
3)編寫一個分支結構的程序示例。
在熱烈的研討氛圍中,學生擦拳磨掌,在流程圖的指引下開始編程:
s=float(input(“請輸入您的成績:”))
if "sgt;=85:
print(“優秀”)
elif "sgt;=70:
print(“良好”)
elif "sgt;=60:
print(“合格”)
else:
print(“不合格”)
經過自主學習與小組協作學習,大部分學生已能充分理解分支結構,但在寫程序階段仍有部分學生漏洞百出,出現的問題主要有:
1)每個分支結尾的冒號忘記填寫;
2)input直接輸入的是字符串,分數是浮點數,忘記使用float數據類型;
3)else后面仍繼續添加語句等。
教師把學生出現的典型錯誤通過多媒體教學軟件向全班學生展示,加深其他學生對這類錯誤的認識。小組討論和思考,不斷完善程序,遇到困難時可與其他小組交流與溝通。
【設計意圖】在進行程序設計教學時,從運用計算思維解決問題的角度出發,教師引導學生進行自主學習和協作學習。先把需要解決問題的步驟及其求解過程進行模型抽象,接著概括需要實施的步驟,最終分析總結得出程序樣式(類似于數學的—般公式)。圍繞這條教學主線,學生不斷深入學習,以獲得計算機自動執行工作所需的數據,完成知識的自我建構。
3.4 "計算思維表達階段:展示與交流,評價與改進
邀請部分小組學生代表向全班展示他們小組的設計成果,包括程序功能介紹、小組成員在項目開發中的貢獻、在設計過程中如何解決困難等。教師鼓勵各小組在分享設計成果的同時說一說存在的缺點、改進的思路和今后可以實現的拓展功能等。在整個過程中,教師起著主導和評判的作用。教師根據各小組在學習過程中各個方面的表現對其進行綜合評價,根據表1所示評分標準來確定每個小組的最終排名。
【設計意圖】在小組交流中,為了培養學生表達數據的能力,教師邀請學生上臺用文字、語言或圖形展示他們的設計成果。這種教師引導的發散思維評價形式,目的是培養學生再創造的能力。信息技術課程持續時間長,教學過程中及時進行總結與評價,既可對學生的再創造提出針對性、科學性的建議,也可及時地對小組協作學習的成果給予肯定。
3.5 "追尋計算思維價值,歸納實踐反思
教師幫助學生對課堂上學到的知識進行總結,認真反思其過程,促進學生對所學知識的理解和鞏固,讓學生建立有效、科學的知識體系,對學生的創造力培養起到很好的鞏固和補充作用。最后使用思維導圖,引導學生總結知識,如圖2所示。
4 "結束語
解決問題的時候,計算思維過程:首先進行問題描述;其次對問題進行抽象和分解(分析問題的能力);最后用算法和程序解決問題(計算能力)。提升信息技術學科核心素養極其關鍵的一環是培養學生的計算思維,這是需要學生長期積累才能形成的一種穩定的思維習慣,并不是哪個模塊的教學內容或通過幾節課就可以實現的。信息技術一線教師需要對計算思維進行深入、持續的研究,并延伸到其他編程類的教學內容中,實現教學相長。
參考文獻
[1] 張長水.培養計算思維的教學策略與創新實踐[J].
中小學數字化教學,2019(2):49-52.
[2] 鄭倩月.信息時代中職課堂教學中的問題與對策[J].
吉林廣播電視大學學報,2019(5):158-160.
[3] 司紅帥.高中信息技術學科中核心素養的培養對策
[J].求知導刊,2020(48):24-25.