999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

新課程需要選擇什么樣的編程語言

2021-12-17 13:06:14梁見斌
中國信息技術教育 2021年17期
關鍵詞:語言學生

梁見斌

藍調解碼

編程教育在中小學信息技術課程中,尤其是在高中新課程中應既展現(xiàn)其語言語法知識的特點又彰顯其算法、技能、思維的價值,這是良好編程文化形成的基礎。本期解碼,讓我們走進新課程中的編程語言價值分析與編程教育中的人文內涵契合分析,繼續(xù)共同探討如何建設良好的編程文化。

新教材作為新課程的重要內容載體,對編程教學使用何種語言來說往往具有決定性的作用。新教材都把Python列為高中必修的計算機編程語言,對此很多教師表示不解:為什么是Python?論簡單它比不過Basic或Pascal,論速度它不如C和C++。特別是長期耕耘在信息奧賽一線的教練們,經常吐槽忍受不了Python程序運行時的“龜速”。這樣一門飽受詬病的計算機語言,為什么偏要登上中小學編程教育的大雅之堂?實際上,與其問新教材為什么選擇了Python,不如問新教材到底需要什么樣的編程語言。高中信息技術學科核心素養(yǎng)由信息意識、計算思維、數(shù)字化學習與創(chuàng)新、信息社會責任四個核心要素組成。編程教學是培養(yǎng)學生計算思維的重要形式,我們要充分考慮中小學生的年齡特點、知識結構和個性特征,選擇合適的計算機編程語言,引導孩子順利踏上編程之旅,學會利用計算機解決實際問題,培養(yǎng)數(shù)字化時代合格公民。那么,適合高中信息技術課程的編程語言應該具備哪些特點呢?作為一名自學編程近20年的業(yè)余愛好者和高中信息技術教師,筆者想從編程實踐和課堂教學的角度談談自己的看法。

● 新教材需要便于初學者入門的編程語言

我們經常聽到人們評論某種編程語言好學或者難學,他們是根據(jù)什么標準來判斷的呢?是語法規(guī)則的簡繁性,還是代碼實現(xiàn)的難易度呢?例如,很多人認為C語言比較難學,其中一個原因是它的指針概念過于抽象,使用方法又太靈活,容易出錯;相比之下,Pascal語言就比較好掌握,容易學。

這些都是表象,初學者不需要開始就掌握所有的語言特性,隨著學習的深入,自然會熟悉各種語法規(guī)則。真正的難點不是掌握語法規(guī)則,而是理解代碼的意義。編程是抽象的藝術,初學者很難理解抽象代碼的運行過程,通常只能看到一個快速閃現(xiàn)的結果,只有長期訓練才能學會跟蹤代碼,明白各種算法結構的含義。

Python是一門面向初學者的語言,它的語法簡潔,貼近自然語言。例如,其中的turtle模塊(海龜繪圖)源于1966年誕生的Logo語言,是入門Python的有趣工具。turtle模塊通過繪圖來呈現(xiàn)程序運行過程,實現(xiàn)了代碼運行過程的可視化,可以將抽象的代碼和形象的動畫聯(lián)系起來,幫助初學者快速理解每一條語句的作用,“親眼看到”程序運行的過程,大大降低了學習的門檻,成為眾多編程入門者的首選。

筆者曾經開設了一門選修課程——《海龜繪圖案例分析》,只需要6~8個簡單的繪圖案例,就能幫助學生掌握數(shù)字、字符串、列表、元組和字典等基本數(shù)據(jù)類型,熟悉順序、選擇和循環(huán)結構,并理解自定義函數(shù)和模塊化編程的特點。整個教學過程由淺入深、層層遞進,完全根據(jù)項目需求引入相關知識點,而非強行“入戲”。

例如,學生學習了順序結構以后,能夠繪制三角形、四邊形等簡單圖形,此時提出繪制正多邊形的任務,學生雖然能夠通過復制粘貼代碼的方式實現(xiàn),但同時感受到了重復勞動的枯燥和煩瑣,希望能夠有更好的方法來替代。此時提出循環(huán)的概念(甚至不需要教師提出,部分學習能力強的學生會主動尋找新方法),學生會很容易接受,并主動學習循環(huán)結構的不同表示方法。

又如,在完成“滿天繁星”項目時,需要繪制不同顏色和尺寸的五角星,雖然學生可以通過復制粘貼代碼并做簡單修改的方式實現(xiàn),但肯定對冗長和重復的代碼不滿意。此時,教師可以引導學生分析經典的circle()和dot()方法,模仿設計自定義函數(shù),體會模塊化編程的優(yōu)越性。

為了降低編程的學習門檻,為初學者提供更友好的編程環(huán)境,很多教師建議使用圖形化編程語言入門,等學生對編程感興趣以后再逐步轉向代碼式編程。筆者對此有不同看法,認為不能簡單地把初學者劃為一個群體,應該根據(jù)其年齡和心智特點做進一步細分。以寫作教學為例——編程和寫作有很大的相似之處,其學習方法也是相通的。教師在教幼兒園或小學低段的學生寫作時,并不要求孩子都用文字來表示,可以部分或者全部都用畫畫來代替;但隨著孩子心智的成熟,要表達的想法越來越抽象和復雜,此時圖案就不如文字方便和準確了。編程教學也一樣,由于低幼兒童不識字,也缺乏必要的抽象思維能力,使用圖形化編程語言可以降低入門門檻,讓孩子們體驗編程的樂趣,是一種有效的引導手段;但高年級學生或者成年人還是直接從代碼式編程入門較好,從實用角度出發(fā),編寫具有實用功能的程序,才能真正激發(fā)學習的動力和創(chuàng)造力。

Python可以作為面向初學者的語言,還有另一種原因,那就是Python對初學者很友好,但對已有其他編程語言經驗的“老手”則不盡然。不少老教師表示很不習慣Python的語法,覺得它太靈活,容易出錯,其實這些錯誤往往是因為教師混用了其他語言的語法,等他們熟悉了Python語法,這些錯誤自然就會消失。

語法錯誤容易糾正,思維僵化才是最大的阻礙。Python是一種解釋型動態(tài)語言,它和C++等編譯型靜態(tài)語言有很大的不同,看上去不夠嚴謹和規(guī)范,但這正是它更接近自然語言的地方。我們只有摒棄慣性,開放思維、排除干擾、輕裝上陣,才能更好地領會Python優(yōu)雅高效的特點,編寫出Pythonic代碼。

● 新教材需要便于詮釋算法思想的編程語言

算法是程序的靈魂,只有掌握了算法,才能輕松地駕馭程序開發(fā)。提升學生計算思維的一個重要途徑就是進行算法教學,培養(yǎng)學生分析問題、抽象建模和設計算法的能力。

每種編程語言都有自己的特性。例如,C語言貼近底層,程序執(zhí)行效率高,代碼簡潔緊湊、靈活多變,但是C語言的語法限制不太嚴格,影響程序的安全性,對程序員的要求也很高,需要考慮較多的底層細節(jié),一不小心就會出錯;從執(zhí)行速度來看,Python程序確實不如C語言編寫的程序快,這是因為C/C++是編譯型語言,直接將代碼編譯成機器指令,而Python是解釋型語言,先逐行將代碼轉換為字節(jié)碼,再轉換為機器碼來執(zhí)行。

從詮釋算法思想的角度來看,Python具有更大的優(yōu)越性。這是因為,首先Python語法更接近自然語言,表述更直接和簡明,其次Python豐富的標準庫提供了很多基礎功能,程序員可以很方便地實現(xiàn)算法模型,從而把注意力放在整體目標而不是底層細節(jié)上。

例如,為了提高查找的效率,我們經常使用哈希表結構。如果使用C語言編程的話,需要自己構造哈希表和設計哈希函數(shù),這需要考慮很多內部細節(jié)和編寫較長的代碼。但使用Python就簡單多了,只需設置一個字典類型的變量即可,因為字典本身就是一個哈希表,我們只需了解字典的特征和使用方法,而無需考慮其內部細節(jié),大大提高了編程效率。

現(xiàn)在“力扣”和“阿里云TIANCHI天池”等在線編程網站,都提供了Python程序的評測功能,越來越多的優(yōu)秀Python題解出來了。通過比較,大家發(fā)現(xiàn)用Python語言詮釋算法思想確實更簡潔和自然;再加上Python動態(tài)語言的特性,使用列表或者字典可以很方便地表示復雜的數(shù)據(jù)結構,有利于快速建模和編寫更簡明的代碼。

目前,Noip等信息競賽規(guī)定使用的編程語言是C和C++,這里有程序執(zhí)行效率方面的原因,但不是主要原因。信息學競賽確實追求程序的速度,希望選手通過優(yōu)化算法來提高程序效率,但算法的優(yōu)化與編程語言是無關的,不同的編程語言使用不同編譯環(huán)境,簡單地比較其運行時間和所占內存大小是沒有意義的;比賽時也會對不同語言編寫的程序進行分組,分別比較。相信隨著評測技術的進步,會允許更多的語言出現(xiàn)在信息競賽中,Python也會憑借自己的獨特優(yōu)勢占據(jù)重要一席。

● 新教材需要便于解決實際問題的編程語言

學生學習編程語言,不僅是為了考試,更是因為它有用(部分學生甚至認為它有趣)。目前,Pascal和C語言教學似乎更多的是為了考試和比賽,而非解決生活中的實際問題,很難提起學生的興趣。Python則不然,它是一門面向實際應用的語言,學生只需要掌握基本的語法,就可以調用豐富的庫函數(shù)實現(xiàn)復雜的程序功能,解決生產生活中的實際問題。

例如,在學習了爬蟲技術以后,學生可以在網上爬取大量的古詩詞資料,加以整理后,就能編寫飛花令和詩詞接龍等文字游戲,提高了語文學習的興趣與效率;又如,在學習了數(shù)據(jù)分析和可視化以后,學生可以編寫成績處理軟件,幫助教師對全校甚至全市的成績進行分析和可視化處理,了解各學科之間的聯(lián)系和影響學生成績的深層次原因。

隨著信息技術的快速發(fā)展,人類社會的數(shù)字化程度越來越高,數(shù)字化時代對人們的信息素養(yǎng)要求也會越來越高,今后編程將會像閱讀和寫作一樣成為一種基本技能,我們的學生應該從小就學會使用數(shù)字化工具來解決實際問題。而Python語言正提供了這樣一種可能,它通過引入第三方庫,只需要簡單的幾行代碼就能實現(xiàn)復雜的程序功能,可以方便地幫助孩子實現(xiàn)爬蟲、數(shù)據(jù)分析和可視化、人工智能或游戲編程等多個領域的項目實踐,讓編程融入孩子們的生活。

當然,Python語言也還存在各種各樣的不足,但相信隨著技術的進步和版本的更迭,這些問題都將被克服。更重要是,語言只是工具,學習編程并不是學習語言本身,而是掌握使用計算機編程解決實際問題的方法。隨著編程技術的提高,我們自然會發(fā)現(xiàn)更好的語言工具。綜合使用多種工具來解決復雜問題,這才是新課程倡導的學習目標。

猜你喜歡
語言學生
快把我哥帶走
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
《李學生》定檔8月28日
電影(2018年9期)2018-11-14 06:57:21
趕不走的學生
讓語言描寫搖曳多姿
多向度交往對語言磨蝕的補正之道
學生寫話
累積動態(tài)分析下的同聲傳譯語言壓縮
學生寫的話
我有我語言
主站蜘蛛池模板: 国产精品永久久久久| 国产精品白浆在线播放| 亚洲精品无码AⅤ片青青在线观看| 日韩AV手机在线观看蜜芽| 亚洲中文无码av永久伊人| 成人日韩精品| 国内毛片视频| 欧美亚洲中文精品三区| 亚洲天堂网在线观看视频| 五月综合色婷婷| 日韩精品毛片| 国产午夜看片| 国产欧美精品一区二区| 免费一级毛片在线观看| 国模极品一区二区三区| 国产精品污视频| 天天综合网亚洲网站| 午夜精品福利影院| 中文字幕亚洲精品2页| 成人在线欧美| 日韩福利在线观看| 免费av一区二区三区在线| 狠狠色综合网| 毛片在线看网站| 成人福利在线视频| 日韩免费成人| 亚洲开心婷婷中文字幕| 国产视频a| 毛片在线看网站| 国产成人喷潮在线观看| 色AV色 综合网站| 亚洲福利网址| 国产精品久线在线观看| 综合五月天网| 91精品国产自产在线老师啪l| 在线a网站| 成人毛片在线播放| 日韩精品成人在线| 三区在线视频| 手机成人午夜在线视频| 国产1区2区在线观看| 在线观看免费人成视频色快速| 91人妻在线视频| 国产主播在线观看| 国产爽爽视频| 国产97色在线| 亚洲欧洲美色一区二区三区| 一级片一区| 午夜a视频| 国产男女免费完整版视频| 亚洲视频四区| 久久精品91麻豆| 久久中文字幕2021精品| 91欧美在线| 亚洲一级毛片免费看| 57pao国产成视频免费播放| 国产精品免费露脸视频| 91久久夜色精品国产网站| 久久福利片| 成人无码区免费视频网站蜜臀| 性色在线视频精品| 最新精品久久精品| 亚洲成人福利网站| 538精品在线观看| 日本福利视频网站| 欧亚日韩Av| 在线观看国产精美视频| 天天色天天操综合网| 亚洲毛片网站| 日韩a在线观看免费观看| 国产91蝌蚪窝| 日韩小视频在线观看| 亚洲AV无码一二区三区在线播放| 亚洲婷婷丁香| 爆乳熟妇一区二区三区| 精品国产免费观看| 欧美日韩中文国产| 中文字幕在线日本| 久久综合色88| 国产精品自在拍首页视频8| 欧美、日韩、国产综合一区| 欧美天堂在线|