• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      面向三種典型程序語言的中小學(xué)計(jì)算思維課堂設(shè)計(jì)研究

      2018-12-18 08:59方海光汪時(shí)沖張鴿劉嘉琪
      中小學(xué)信息技術(shù)教育 2018年11期
      關(guān)鍵詞:編程技術(shù)編程算法

      方海光 汪時(shí)沖 張鴿 劉嘉琪

      當(dāng)前,在中小學(xué)信息技術(shù)課的教學(xué)中,教師主要傾向于對計(jì)算機(jī)基本操作以及常用軟件的講解,課堂教學(xué)枯燥乏味,學(xué)習(xí)者的學(xué)習(xí)積極性也不高。相對古板的教學(xué)模式以及陳舊的教材,也影響了信息技術(shù)課程的教學(xué)效果。

      編程教育可以補(bǔ)充當(dāng)前中小學(xué)信息技術(shù)課程的不足,滿足不同學(xué)生的興趣需求。同時(shí),編程在對學(xué)生計(jì)算思維的培養(yǎng)方面有著優(yōu)勢,一方面編程要求用計(jì)算機(jī)解決問題,另一方面編程有助于培養(yǎng)學(xué)生“學(xué)會學(xué)習(xí)”的能力。特別是近些年我國中小學(xué)呈現(xiàn)出三種典型程序語言的教學(xué)普及化。其中,Scratch 是一種兒童可以創(chuàng)造性地設(shè)計(jì)出屬于自己的作品的程序。[1]App Inventor是快速開發(fā)移動(dòng)應(yīng)用的設(shè)計(jì)工具,它通過積木式的堆疊法來完成Android程序。教育者可以利用App Inventor的教育功能和代碼塊拼接編程的特點(diǎn),并通過拖曳積木的方式編寫屬于自己的應(yīng)用。[2]Python 語言是一種面向?qū)ο蟆⒅弊g式計(jì)算機(jī)程序設(shè)計(jì)語言。同時(shí)Python 是開源的語言,具有豐富和強(qiáng)大的類庫,同時(shí)具有優(yōu)良的可擴(kuò)展性和平臺可移植性。[3]

      相關(guān)研究

      有研究指出,結(jié)合我國學(xué)生發(fā)展核心素養(yǎng),計(jì)算思維是指能夠采用計(jì)算機(jī)領(lǐng)域的學(xué)科方法界定問題、抽象特征、建立結(jié)構(gòu)模型、合理組織數(shù)據(jù);通過判斷、分析與綜合各種信息資源,運(yùn)用合理的算法形成解決問題的方案;總結(jié)利用計(jì)算機(jī)解決問題的過程與方法,并遷移到與之相關(guān)的其他問題解決過程中。國際教育技術(shù)協(xié)會(ISTE)、美國計(jì)算機(jī)科學(xué)教師協(xié)會(CSTA),以及來自高等教育、產(chǎn)業(yè)界和中小學(xué)教育的專家提出關(guān)于計(jì)算思維的操作定義,認(rèn)為計(jì)算思維是一種問題解決的過程。包括(但不限于)以下幾點(diǎn):(1)按照能夠方便使用計(jì)算機(jī)和相關(guān)工具解決問題的方式表述問題;(2)按邏輯組織和分析數(shù)據(jù);(3)利用抽象的方法表示數(shù)據(jù),例如模型和模擬;(4)通過算法的思想(一系列有序的步驟)生成自動(dòng)化的解決方案;(5)通過識別、分析和實(shí)施各種可能的解決方案,以實(shí)現(xiàn)最有效的步驟與資源的組合;(6)概括該問題的解決過程,并遷移到其他相關(guān)問題中。[4]

      Scratch、App Inventor、Python三種典型程序語言存在很多的差異性,具體包括如下三個(gè)方面。

      (1)抽象能力要求層次不同。Scratch與App Inventor作為“塊”語言,使用積木式編程方式,對于學(xué)生的抽象能力要求較低,這符合小學(xué)生和初中生的思維方式。其中,Scratch對于學(xué)生的抽象能力要求最低,幾歲的兒童知道模塊的功能也可以實(shí)現(xiàn)簡單的編程。App Inventor一般與手機(jī)程序聯(lián)系在一起,這要求學(xué)生對于多媒體界面以及通信連接要有所了解,對于學(xué)生的抽象能力要求更進(jìn)一步。Python雖然語法較為簡單,但屬于面向?qū)ο蟮恼Z言,仍然有繼承、重載、派生等概念,對于學(xué)生的抽象能力要求雖然達(dá)不到C++語言等高級語言的層面,但相對于Scratch和App Inventor已經(jīng)提升了一個(gè)高度。

      (2)邏輯組織和分析數(shù)據(jù)要求不同。在分析一個(gè)問題的時(shí)候,Scratch需要的邏輯組織要求最低,體現(xiàn)在模塊的明確性,每一個(gè)模塊的功能都很明確,與此同時(shí)分析一個(gè)問題時(shí),需要何等數(shù)據(jù)直接輸入在模塊中即可。App Inventor主要是頁面設(shè)計(jì),如設(shè)計(jì)一個(gè)呼叫功能的安卓應(yīng)用,學(xué)生需要清楚地整理出在手機(jī)上此功能需要哪些按鈕,按鈕需要什么模塊,雖然同樣是模塊化語言,但比Scratch要求的邏輯組織更進(jìn)一步。Python作為高級語言,對于問題的邏輯組織要求更高,對于任何一個(gè)問題的分析,如何轉(zhuǎn)化為程序語言,使用哪個(gè)模塊庫去實(shí)現(xiàn)是需要較高的積累以及邏輯要求。

      (3)設(shè)計(jì)算法的要求不同。對于學(xué)習(xí)Scratch和APP Inventor的學(xué)生而言,學(xué)生有些情況下是憑自己的興趣去設(shè)計(jì)一個(gè)作品,學(xué)生并不知道什么是算法,但是學(xué)生可以在教師的引導(dǎo)下寫出做作品的步驟,潛在地訓(xùn)練其對于分解問題以及設(shè)計(jì)算法的能力。對學(xué)習(xí)Python的學(xué)生而言,算法是這門語言的核心,學(xué)生需要掌握一些常見的算法,如漢諾塔算法、背包問題、貪心算法,這些算法本身就涉及數(shù)學(xué)基礎(chǔ),對于小學(xué)生和初中生比較難以理解。

      編程技術(shù)支持的計(jì)算思維課堂模型分析

      1.編程技術(shù)培養(yǎng)計(jì)算思維的需求分析

      雖然其他學(xué)科也可以培養(yǎng)計(jì)算思維,但是編程技術(shù)對于計(jì)算思維的培養(yǎng)是有其獨(dú)特的優(yōu)勢的。編程技術(shù)作為必須在計(jì)算機(jī)上實(shí)現(xiàn)的語言,本身就是人們用計(jì)算機(jī)去解決問題的一種技術(shù)手段,不論何種程序語言,都會涉及算法。

      用編程技術(shù)去培養(yǎng)計(jì)算思維,首先需要確定學(xué)生的階段,7歲兒童和17歲少年的思維層次是不一樣的,適合的程序語言也不相同。根據(jù)問題的邏輯遞進(jìn)會選擇不同的程序語言,對于計(jì)算思維的側(cè)重點(diǎn)也不相同。本研究對于計(jì)算思維進(jìn)行細(xì)分,考慮到學(xué)生的年齡以及認(rèn)知程度的差異,對三種典型語言的適用范圍進(jìn)行了評價(jià)。如前表所示。

      計(jì)算思維內(nèi)化在編程技術(shù)應(yīng)用過程中,而計(jì)算思維并不是程序化的,要將它概念化,讓計(jì)算思維成為思考問題的一種方式。讓編程成為解決其他學(xué)科問題的一種手段,這是開展編程教育的意義,也是信息技術(shù)學(xué)科體現(xiàn)自身價(jià)值的重要環(huán)節(jié)。

      2.編程技術(shù)支持計(jì)算思維的課堂要素分析

      計(jì)算思維的本質(zhì)是抽象與自動(dòng)化,其主要體現(xiàn)在形式化、模型化、自動(dòng)化和系統(tǒng)化四個(gè)方面。編程本身是抽象的,形式化、模型化的最核心要求便是抽象分析問題。在編程之前對于編程對象以及編程的流程進(jìn)行抽象有利于更快捷地編寫出程序,這個(gè)前期準(zhǔn)備工作就是計(jì)算思維的鍛煉。程序化和系統(tǒng)化方面,不論是塊語言還是面向?qū)ο?、面向過程的語言,編程的循環(huán)、條件控制或者迭代方面便是程序化的體現(xiàn)。塊語言對于積木的整合,面向?qū)ο蟮恼Z言對于類的整合是系統(tǒng)化的體現(xiàn)。

      抽象與自動(dòng)化可以形成一個(gè)固定流程,如提出問題、抽象描述問題、分解問題、編程解決問題、問題的評估、總結(jié)等。

      程序語言在中小學(xué)不同階段有區(qū)別,計(jì)算思維的培養(yǎng)方面也會有區(qū)別,中間的流程可以大致一樣但是也會有不同的側(cè)重點(diǎn)。如初級階段對于提出問題這方面可能要求更高,中級階段可能偏向于抽象描述問題,高級階段可能側(cè)重于分解問題或者優(yōu)化算法,同一流程在教學(xué)過程中也會有不同的創(chuàng)新因素。

      3.編程技術(shù)支持計(jì)算思維的課堂模型

      基于之前的需求分析、要素構(gòu)成的分析,可以構(gòu)建如下編程技術(shù)支持計(jì)算思維的課堂模型。

      (1)編程技術(shù)從語言本身層次分為應(yīng)用語言、高級語言、匯編語言和機(jī)器指令,在學(xué)生年齡段上分為小學(xué)、初中和高中。

      (2)不同階段學(xué)生的抽象能力要求不同,所以在教學(xué)過程中問題邏輯和教學(xué)側(cè)重點(diǎn)不同,培養(yǎng)的計(jì)算思維不一樣。不同語言的抽象能力不一樣,越低級的語言對于學(xué)生的抽象能力要求越高,考慮到中小學(xué)生日常的學(xué)習(xí)壓力,所以一般選擇應(yīng)用語言與高級語言。

      (3)編程技術(shù)培養(yǎng)計(jì)算思維有一個(gè)基礎(chǔ)的流程,計(jì)算思維作為使用計(jì)算機(jī)解決問題的一種思維模式,一般是提出問題、抽象描述問題、設(shè)計(jì)算法、編程解決的過程,之后會有對算法的評估,以找出最優(yōu)的算法,最后是課后總結(jié)。這樣幾個(gè)步驟的大體流程是編程技術(shù)與計(jì)算思維聯(lián)系的核心環(huán)節(jié)。

      編程技術(shù)支持的計(jì)算思維課堂模型

      本研究中的三種語言都可以用基于計(jì)算思維的教學(xué)模式應(yīng)用在課堂中。具體的基于計(jì)算思維的教學(xué)模式如圖所示。

      在這個(gè)教學(xué)模式當(dāng)中,問題的提出是以主題或者一個(gè)項(xiàng)目開始的。問題提出后,抽象出問題的幾個(gè)關(guān)鍵點(diǎn)并進(jìn)行分解是很重要也很有挑戰(zhàn)性的任務(wù),在這個(gè)過程中學(xué)生自主探究可能會遇到問題,教師可以選擇適當(dāng)?shù)剡M(jìn)行思維引導(dǎo)。不同的主題和項(xiàng)目由不同的語言來實(shí)現(xiàn),例如小學(xué)的情境趣味性編程選擇以Scratch為主,手機(jī)應(yīng)用由App Inventor來實(shí)現(xiàn),數(shù)據(jù)分析與挖掘可以選擇Python來完成。之后學(xué)生進(jìn)行算法的設(shè)計(jì),并根據(jù)算法進(jìn)行編程,在此過程中很重要的一點(diǎn)是排除錯(cuò)誤,在解決問題的過程中學(xué)生可以學(xué)會一門語言并且可以對自己的算法進(jìn)行優(yōu)化。每個(gè)人都基本上完成之后,學(xué)生進(jìn)行匯報(bào),分享自己的方案。最后是重構(gòu)優(yōu)化,重構(gòu)優(yōu)化是對算法以及代碼結(jié)構(gòu)的調(diào)整,目的是優(yōu)化項(xiàng)目的效果以及效率,不斷地更新迭代算法以及代碼并且保留最優(yōu)的方案。至此,一個(gè)主題或者項(xiàng)目告一段落,下一個(gè)主題或者項(xiàng)目較之前一定會有個(gè)難度的遞進(jìn),可能是語法層面上的也可能是算法層面上的,如此循環(huán)往復(fù)進(jìn)行每一節(jié)計(jì)算思維的課堂設(shè)計(jì)。

      本研究根據(jù)三種中小學(xué)教學(xué)中的典型語言,以計(jì)算思維為基礎(chǔ),通過對典型語言的對比研究,發(fā)現(xiàn)了不同語言對于計(jì)算思維培養(yǎng)側(cè)重點(diǎn)不同,從而給出編程技術(shù)培養(yǎng)計(jì)算思維的課堂模型,以及教師可以采取的編程教學(xué)的模式。不足之處在于,現(xiàn)如今編程技術(shù)與計(jì)算思維之間聯(lián)系的緊密程度能達(dá)到多少并不確定,初級、中級、高級的編程教學(xué)針對不同年級的學(xué)生是否可能出現(xiàn)跨越性并不可知。高中課標(biāo)中明確以Python為主,但是如何從Scratch或者App Inventor等語言過渡到Python尚不明確。在下一階段筆者將聚焦到更加具體的編程教育當(dāng)中,選擇其中一門代表性語言進(jìn)行研究,以探究培養(yǎng)計(jì)算思維的具體方法。

      參考文獻(xiàn)

      Warren Buckleitner. Why “Scratch” is significant [M]. Childrens Technology Review, 2007:15,6,87.

      魏志宏,郭守超,鄧常梅,李莉,趙丙科,周慶國. App Inventor:一種開源的信息技術(shù)課堂學(xué)習(xí)工具[J]. 現(xiàn)代中小學(xué)教育,2015,31(04):80-84.

      鄭戟明. Python程序設(shè)計(jì)課程中計(jì)算思維的應(yīng)用[J]. 大學(xué)教育,2016(08):127-129.

      CSTA, ISTE. Operational definition of computational thinking for K-12 education[OL]. http://csta.acm.org/Curriculum/sub/CompThinking.html.

      猜你喜歡
      編程技術(shù)編程算法
      編程,是一種態(tài)度
      元征X-431實(shí)測:奔馳發(fā)動(dòng)機(jī)編程
      編程小能手
      復(fù)雜零件的數(shù)控加工工藝及編程技術(shù)分析
      紡織機(jī)上誕生的編程
      基于MapReduce的改進(jìn)Eclat算法
      Travellng thg World Full—time for Rree
      進(jìn)位加法的兩種算法
      基于計(jì)算機(jī)軟件工程的數(shù)據(jù)庫編程技術(shù)
      C語言編程技術(shù)的分析研究
      黄石市| 彰化市| 揭西县| 清苑县| 哈密市| 夏邑县| 新宁县| 建昌县| 宿迁市| 海淀区| 南城县| 兴宁市| 平南县| 屏东市| 罗甸县| 车险| 永平县| 宣武区| 贵阳市| 获嘉县| 新建县| 镇江市| 聂拉木县| 息烽县| 汉阴县| 莆田市| 河北区| 宝坻区| 阳城县| 峨边| 饶阳县| 宝坻区| 祁阳县| 安庆市| 成安县| 班戈县| 合川市| 崇明县| 宁强县| 铜陵市| 百色市|