孫奕
摘要:拓展對編程的學(xué)習(xí),不僅可以讓學(xué)生們掌握編程知識(shí),為信息化的學(xué)習(xí)打下良好基礎(chǔ);更是培養(yǎng)了學(xué)生的邏輯思維能力。初中階段是學(xué)生思維能力發(fā)展的重要階段,學(xué)生通過對編程的學(xué)習(xí),可以鍛煉抽象邏輯思維和批判性思維。
關(guān)鍵詞:編程;思維能力;邏輯思維
中圖分類號(hào):A ?文獻(xiàn)標(biāo)識(shí)碼:A ?文章編號(hào):(2021)-11-295
1 初中生的思維能力
1.1 ?初中生的思維特點(diǎn)
從思維形式上看,從小學(xué)時(shí)期的“具體形象思維”占主導(dǎo)地位,發(fā)展到“抽象邏輯思維”占主導(dǎo)地位。初中生已能理解一般的抽象概念,并進(jìn)行運(yùn)用假設(shè)的邏輯推導(dǎo),能對許多現(xiàn)象進(jìn)行概括和抽象。但是初中生的邏輯思維在很大程度上還屬于經(jīng)驗(yàn)型,又常常帶有主觀片面和膚淺的特點(diǎn)。因此我們需要在編程的教學(xué)上遵循思維發(fā)展的規(guī)律,利用編程來鍛煉學(xué)生的抽象邏輯思維和批判性思維,提高學(xué)生思維的敏捷性、靈活性、深刻性。
1.2 ?初中生的思維現(xiàn)狀
個(gè)體差距大,思維能力發(fā)展水平不平均。一個(gè)班級中存在思維能力發(fā)展水平較高、推理、想象與解決問題的能力較強(qiáng)的優(yōu)等生,同時(shí)存在思維能力處于中下發(fā)展水平的學(xué)生,雖然從年齡和生理上看,他們處于統(tǒng)一發(fā)展時(shí)期,但是他們的思維能力確實(shí)有很大差距的。因此,我們在教學(xué)編程的時(shí)候,不能忽視大部分同學(xué)的學(xué)習(xí)能力。因此不能直接講授編程代碼,而要先去培養(yǎng)學(xué)生的編程思維。通過編程思維的訓(xùn)練來促進(jìn)學(xué)生對編程的興趣,從而達(dá)到教學(xué)的目的。
2 學(xué)習(xí)編程
2.1 ?編程的概念
計(jì)算機(jī)編程的過程就是將人的想法、思維過程轉(zhuǎn)換成計(jì)算機(jī)要執(zhí)行的動(dòng)作。而要實(shí)現(xiàn)這一過程,我們就需要編程語言的幫助。編程語言能在程序員和計(jì)算機(jī)之間架起溝通的橋梁,將我們易于理解的話語翻譯成計(jì)算機(jī)可以讀懂的數(shù)字語言二進(jìn)制。編碼就是把獲得的信息轉(zhuǎn)換成其他形式的過程。而解碼正好相反,解碼是收集代碼信息,將其轉(zhuǎn)換成簡明易懂的語言文字。
2.2 ?編程思維的概念
“編程思維”并不是編寫程序的技巧,而是一種高效解決問題的思維方式?!熬幊趟季S”就是“理解問題——找出路徑”的思維過程,它由分解—識(shí)別模式—抽象—算法四個(gè)步驟組成:
編程思維的四個(gè)步驟:
1)分解:把一個(gè)復(fù)雜的大問題,拆解成更可執(zhí)行、更好理解的小步驟。
2)模式識(shí)別:找出相似模式,高效解決細(xì)分問題。
3)抽象:聚焦最重要的信息,忽視無用細(xì)節(jié)。
4)算法:設(shè)計(jì)一步一步的解決路徑,解決整個(gè)問題。
3 教學(xué)設(shè)計(jì)
3.1 創(chuàng)設(shè)趣味游戲,實(shí)現(xiàn)編程熱身
初中生開始時(shí)可能沒有接觸過編程,對于編程是好奇的,但是如果一開始就教授理論的概念和復(fù)雜的代碼,那么學(xué)生對編程就沒有學(xué)習(xí)的欲望了。學(xué)習(xí)編程思維,并不意味著你必須具備多種特殊的技能,而擁有解決問題的欲望。
需要讓學(xué)生明白他們其實(shí)一直在解決問題,只是自己沒有意識(shí)到而已。在完成腦筋急轉(zhuǎn)彎、字謎以及其他任何激發(fā)人思考的游戲的時(shí)候就是在解決問題。我們可以用幾個(gè)游戲來進(jìn)行編程思維學(xué)習(xí)的熱身。
例如:老師可以讓學(xué)生們解邏輯謎題“三兄弟”——“假設(shè)你認(rèn)識(shí)長相一模一樣的三胞胎,約翰、詹姆斯和威廉。約翰和詹姆斯總是說謊,威廉總說真話。不久前,你借給約翰一大筆錢,他至今沒有還給你。有一天,你正在街上走著,碰到了三兄弟中的一人。假若此人是約翰,你自然迫切希望能當(dāng)面跟他談?wù)勥€錢的事兒。但問題在于你無法辨認(rèn)此人是約翰、詹姆斯還是威廉。如果只讓你問他一個(gè)問題來確認(rèn)此人是不是約翰,你會(huì)問什么問題呢?”
這是一種同時(shí)調(diào)動(dòng)左、右腦的邏輯謎題。他可以讓學(xué)生們在解題的過程中發(fā)掘編程過程中的樂趣和思路解答邏輯。這為學(xué)生后續(xù)學(xué)習(xí)編程奠定良好的基礎(chǔ)。
3.2 巧用流程圖,呈現(xiàn)編程過程
編程最重要的并不是進(jìn)行代碼的編寫階段,而是學(xué)習(xí)編程思維來完成程序的流程設(shè)計(jì)。編程思維就要求學(xué)生離開電腦屏幕,運(yùn)用其他工具來呈現(xiàn)程序的流程,并與他人進(jìn)行分享。
老師可以舉一個(gè)“命令機(jī)器人清理房間”的例子。我們首先給整潔的房間下個(gè)定義,然后才能確定清理房間的步驟。做到以下三件事就算是清潔成功:
1.整理好床鋪。
2.把臟衣服放進(jìn)洗衣籃里。
3.把所有東西都收起來,放進(jìn)櫥柜里。
假設(shè)我們自己不清理房間,而是讓機(jī)器人來做。我們需要給機(jī)器人輸入指令,讓機(jī)器人理解我們的命令,這個(gè)過程是編程的過程,但最終要的是我們下達(dá)的指令具體是什么。我們現(xiàn)在可以借助流程圖來實(shí)現(xiàn)我們的編程設(shè)計(jì)。
如圖所示,用程序流程圖可以讓機(jī)器人清楚明白我們下達(dá)的指令,如果單單是利用語言,那會(huì)非常麻煩。我們需要讓同學(xué)們在編程之前,養(yǎng)成一種編程思維,即用程序流程圖清楚表達(dá)解決問題的思路。
這一套明確的整理床鋪的指令就叫算法。算法其實(shí)就是為了完成某項(xiàng)特定的任務(wù)而要按照既定順序執(zhí)行的一系列明確的指令。
在編程程序前,完成程序流程圖設(shè)計(jì),可以使我們的編程思路更加清楚。
結(jié)語
初中階段對學(xué)生進(jìn)行編程思維能力的培養(yǎng),不僅為之后進(jìn)行編程學(xué)習(xí)打下良好的基礎(chǔ),而且可以使學(xué)生的邏輯思維得到發(fā)展,以至于在其他的科目中也能得到顯著的進(jìn)步。為了順利地將思維能力培養(yǎng)貫穿于初中教學(xué)中,教師可以結(jié)合編程教材和教學(xué)目標(biāo),通過創(chuàng)設(shè)教學(xué)游戲情境,程序流程圖教學(xué)和代碼編寫,培養(yǎng)和提升學(xué)生的抽象思維、發(fā)散思維和分析思維等綜合思維能力,確保初中生的編程學(xué)習(xí)效果不斷提升。
參考文獻(xiàn)
[1] 程利國.兒童發(fā)展發(fā)理[M].福建教育出版社,1997
[2]黃云鳳.初中生思維能力的特點(diǎn)及培養(yǎng)[J].柳州師專學(xué)報(bào),1999.09.17.
[3]克里斯蒂安.寫給所有人的編程思維[M]. 北京日報(bào)出版社, 2019.4.1
[4] 朱智賢,林崇德.思維發(fā)展心理學(xué)[ M].北京師范大學(xué)出版社,1986.
[5] 哈爾弗森,Visual Basic 2010從入門到精通,2011-1.
紹興市袍江中學(xué)