


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