李澤龍 于瀚翔 張鑫鵬 王濤
摘要:隨著計算機科學與技術的發(fā)展,計算機逐漸成了學習和工作中必不可少的工具,編程逐漸走進了大眾的視野當中,本文針對計算機編程初學者的教育為研究對象,了解討論編程教育的背景和現(xiàn)狀,進一步分析了當前編程教育的主要教學方式以及存在的問題和不足,并提出了一些提升編程教學質量的建議與策略,希望能對編程教育的進一步發(fā)展提供一定的參考。
關鍵字:計算機編程;計算思維;編程教育
一、背景與現(xiàn)狀
(一)編程教育的背景
新一輪科技革命和產(chǎn)業(yè)革命的孕育興起,對專業(yè)人才的需求發(fā)生了一系列的變化,對于人才的培養(yǎng)和教育也提出了更加前沿的要求 ,開展人工智能與編程教育已經(jīng)成為當今的流行趨勢。伴隨著云計算、大數(shù)據(jù)、人工智能等IT技術迅速發(fā)展及與傳統(tǒng)行業(yè)實現(xiàn)快速融合,一場由數(shù)字化和智能化轉型帶來的產(chǎn)業(yè)變革正在孕育[1]。近幾年國內奧賽等競賽競賽活動正在持續(xù)發(fā)展且十分向好,之前有高校自主招生的驅動,現(xiàn)在有國家“強基計劃”的引領,加上時代潮流和教育政策的導向,越來越多的人看到了科技類創(chuàng)客類的教育,其中尤其是編程教育項目。學習編寫程序與進行程序的設計,除了學習編程基礎知識之外,還會培養(yǎng)學生的計算思維,鍛煉學生依靠自身獨立思考并解決問題的能力,也就是邏輯思維能力,提高學生對信息的敏感程度,增強學生處理復雜問題的信心。這就為學生在未來的學習和工作中奠定了獨立思考與解決問題的思維習慣,這種思維習慣對學生的成長至關重要,成為學生在學習和工作中的核心競爭力。
(二)編程教育的現(xiàn)狀
在政策層面,2017年7月,國務院在《新一代人工智能發(fā)展規(guī)劃 》中首次明確提出,要“實施全民智能教育項目,在中學階段設置人工智能相關課程,逐步推廣編程教育”[2]。在 2018 年新發(fā)布的課標中,信息技術、通用技術、數(shù)學等都加入了“互聯(lián)網(wǎng)、人工智能、大數(shù)據(jù)處理”與編程教育相關的知識內容;由教育部發(fā)布的《2019年教育信息化和網(wǎng)絡工作要點》也指出,要“推在中學階段設置人工智能相關課程,逐步推廣編程教育”;因此,為了提高基礎教育階段學生的未來的數(shù)字適應力,現(xiàn)階段迫切需要在中小學推廣實施編程教育的相關課程[3]。
當前互聯(lián)網(wǎng)編程教育已經(jīng)進入啟動期,大量的投資的涌入了市場,行業(yè)中的廠商已經(jīng)逐漸拉開差距,并探索出不同的發(fā)展模式。編程貓從創(chuàng)新性編程工具及全產(chǎn)業(yè)鏈覆蓋切入;童程童美、極客晨星、小碼王堅持線下與線上結合策略;傲夢與VIPCODE主打一對一或一對多的小班教學;西瓜編程與核桃編程主推低價課程搶占用戶。通過差異化運營,各廠商正在加強用戶的產(chǎn)品認知,從而形成了現(xiàn)狀百花齊放的狀態(tài)。
二、踐行編程教育的現(xiàn)實意義
編程是模擬在現(xiàn)實生活中根據(jù)目前的需要,按照計劃順序進行任務處理和問題解決的過程,編程是計算機系統(tǒng)運行所必需的。研究表明,編程教學對培養(yǎng)個人的重要技能如反省和思考、批判和分析思維是有效的。編程教學具有重要的功能,如培養(yǎng)計算思維,開發(fā)個人的想象力,幫助他們以過程為導向的方式思考,處理信息,獲得與他人進行團隊合作的習慣。
“計算思維”的培養(yǎng)是編程教育提升學生思維能力主要表現(xiàn),提高學生對問題和信息的綜合處理能力。計算思維作為一種分析問題解決問題、進行系統(tǒng)設計、理解人類行為的綜合思維模式,受到社會各界的廣泛關注,當前基礎教育也十分關注和重視對計算思維的鍛煉。編程學習可以有效促進計算思維的培養(yǎng)。圖形化編程、機器人編程大量的相關文獻和研究表明,編程教育與計算機科學之間存在著一種不可分割的有機聯(lián)系,編程教育是培養(yǎng)計算思維的一項有效工具[4]。Lee[5]和 Saritepeci均在其研究中發(fā)現(xiàn),學生的編程自我效能感、計算思維技能以及計算思維技能發(fā)展之間存在顯著的相關關系[4]。
在當今這個時代計算機逐漸成為大部分人在工作和學習中沒有辦法離開的工具,在各種各樣的事務和情況中,數(shù)字化、數(shù)據(jù)化、電子化、信息化已經(jīng)成為一種趨勢,越來越多的工作和事務需要計算機來處理,信息和數(shù)據(jù)的處理已經(jīng)成為工作和學習的基本手段和方法。在此基礎上,計算思維必然與實證思維和邏輯思維一樣,成為一個現(xiàn)代公民必須掌握的基本思維模式。近年來,計算思維(Computational Thinking)的價值和意義日益突顯,成為當前國際計算機界、教育界廣為關注的一個熱點主題。圍繞著科技創(chuàng)新和人才創(chuàng)新,計算思維的培養(yǎng)也成為國際競爭的重要抓手。而編程教育正是具有培養(yǎng)計算思維能力的重要途徑和方式。
三、編程教學的方法
(一)遠程教學模式
通過遠程的線上直播視頻等形式,通過一對一、一對多等遠程教育模式,輔導入門學習者學習。遠程教學的模式不會受到地域地理因素的影響,不會受到地區(qū)的限制,能夠將教學資料和課程傳送到任何地方,可以對編程教育進行很好的推廣,讓更多無法在傳統(tǒng)教育和線下實體學習的學生一個接觸學習編程的機會。遠程教學模式在時間上更加富有彈性,學生也可以根據(jù)自己的學習時間來進行安排,極大地提高了教學的靈活性,同時也激發(fā)了學生自主學習的積極性和興趣。編程教育在遠程教學模式上有著特殊的優(yōu)勢,編程本來就是需要在計算機的環(huán)境上進行學習,采取線上教學模式,既符合編程需要的操作環(huán)境,也可以降低總體成本,解決空間設備利用,地理制約等層面的問題。
(二)游戲化教學
游戲化教學工具的使用會給學生帶來更高程度的動機。以一個游戲故事為背景作為引導線索,讓學生根據(jù)自己的想法、標準、速度、策略和技能來行動。在故事中提供不同的路徑并以多種選擇或者具有一定開放性的操作在教育層面上,在教育層面上這種方式能夠促進學習,以此來鍛煉學生解決問題的思維能力。游戲化的教學工具可以加強與學生的交互,提高學生的學習動機。給予學生一個具體化的情景,使得學生在身歷其境的情況下進行問題的思考以及困難的解決。
(三)Online Judge+題庫
OJ(Online Judge+)最初應用于ACM / ICPC, O1等編程競賽項目的分數(shù)評定,而后在各編程學習者間廣泛普及?,F(xiàn)階段各高校學生廣泛使用橙汁進行編程聯(lián)系,很多高校都有自己的橙汁平臺。對應其評測功能,各橙汁配有其相應題庫,方便使用者進行學習。對題庫的充實和優(yōu)化將為橙汁系統(tǒng)帶來更大的競爭力。配合適當?shù)慕虒W體系,可尋思推進使用者的編程學習進度。教育平臺可利用其服務器投入等特性,幫助學習者使用。
四、編程教學中存在的問題
(一)教學過程中缺乏計算思維的培養(yǎng)
在教學方面,教師更注重編程語言的語法教學,而不是推廣解決問題的方法和編程能力。在一些高校當中大學計算機課程仍然停留在基礎知識和技能操作的培養(yǎng)上,沒有能夠真正地進行思維能力的培養(yǎng)。對于計算機編程的入門學習者來說,培養(yǎng)良好的計算思維打下思維基礎,才能在日后的學習當中更加有序游刃有余地解決問題。
學生需要學習如何分析問題的編程和數(shù)據(jù)結構的概念。學生應該進行分析和說明步驟,以理解問題。在當前的社會發(fā)展過程中,最關鍵的不是解決具體問題的技巧,這種技巧往往只能解決單一的問題,而將問題轉化為可以使用計算機解決的形式,這樣的思維方式才能造就解決問題的基本方法。
(二)不合適的教學方法削弱了學生編程學習的積極性
計算機編程對于教師和學生來說都是一門很難教的課程。在很多的編程教學過程中,仍然是以編程語言的語法為先導,這讓學生在學習難以記憶和理解的編程語言語法時遇到了困難。在學習編程相關課程的過程中,當學生們認為自己在做一項困難的任務時,學生在很大程度上會產(chǎn)生消極態(tài)度。同時,學生在普通的編譯器中進行編程練習時經(jīng)常會遇到自己難以理解的報錯,錯誤地將編程學習變成了一種修改錯誤和消除漏洞的過程。在程序中消除漏洞的過程既費時又煩瑣,進一步削弱了學生學習編程語言的積極性。
編程教學是一個復雜的過程,需要很多的技能,學生在編程教學中會遇到各種各樣的困難。編程入門學習者在學習計算機編程時面臨許多障礙,包括需要學習新的語法和計算模型編程語言的語法,看似深奧的標點符號和格式規(guī)則,在編寫程序時必須遵循,可能是一個嚴重的障礙。計算機科學的研究表明,學生在編程過程中會在大量的代碼中迷失,淹沒在編程代碼的細節(jié)上。導致學生過于關注代碼的語法細節(jié),而不是程序的設計和思維的拓展上。
(三)缺乏優(yōu)秀的教師
在編程教育行業(yè),缺乏專業(yè)能力過硬和教學方法優(yōu)秀的教師,行業(yè)頂尖人才非常珍貴,每年都會有優(yōu)秀的計算機人才涌現(xiàn),但是進入編程教育行業(yè)的優(yōu)秀計算機人才卻少之又少。隨著我國產(chǎn)業(yè)結構的不斷升級,云計算技術、機器學習等人工智能技術在世界范圍內的推廣,在移動應用、智能手機終端、云管理、云物流等領域出現(xiàn)了巨大的人才缺口。在此情況下,相關行業(yè)頂尖人才愈發(fā)珍貴,流人教育行業(yè)人才較少,課程質量難以突破。專業(yè)計算機編程人才普遍進入傳統(tǒng)計算機行業(yè)如:開發(fā)程序、程序測試、運營維護等。編程教育者在實驗編程過程中必須掌握發(fā)現(xiàn)、分析和解決問題的能力,并能將這種思維能力通過言傳身教的教學方式傳授給學生,但是這一點正是計算機專業(yè)出身人才的薄弱點。而具有過硬教學技能的教師卻對編程教育不夠專業(yè),成了編程教育行業(yè)缺乏優(yōu)秀教師的主要痛點和難點。
五、編程教學教育質量提升策略
(一)建立更加多樣化的編程工具
建立更加多樣化的編程工具并引入游戲化和情境化教學方法,利用具體情景和游戲化的活動在教學過程中培養(yǎng)計算思維思想來輔助學生進行問題的解決和知識的學習,從而完成了培養(yǎng)學生計算思維的目標。
圖形化編程的方式可以有效降低學生認知負荷,提升學生的學習興趣以及提升編程思維。圖形化編程工具可以幫助學生對任務和目標進行分解,將一個龐大的問題分解為多個小問題,通過解決分解出的小問題有條不紊地解決整個問題,鍛煉了學生分析問題、解決問題的能力,增強學生解決問題的邏輯性?;趬K的編程環(huán)境通常包括可視化編程。在這類環(huán)境中,可以通過對屏幕上的可視對象進行拖放的方法來執(zhí)行編碼過程,而不必按照編程語言的語法規(guī)則編寫代碼。
更加多樣化的編程工具開發(fā)減少了認知負擔,從而激勵新學習者學習編程,提供這種開發(fā)的連續(xù)性可能是一種解決方案。因此,建立更加多樣化的編程工具被用來幫助編程初學者理解編程和參與編程。讓學生透過不同的編程工具,創(chuàng)造性的反映他們的想法,在不同的工具中應用程序設計的概念。
(二)編程教育要更加注重以培養(yǎng)計算思維為導向
對于計算機編程入門學習者來說,無論是中小學生還是大學本科生,計算思維的培養(yǎng)要遠比編程能力的培養(yǎng)重要得多。比起學習具體的編程語言和語句語法,讓學生形成利用計算機來處理問題的習慣和思維模式更加重要。可以讓學生一個問題的解決當中領悟和歸納出一種解決問題的思維和方法。學習編程步驟必須培養(yǎng)解決問題的技能,學習編程的過程就包含解決問題步驟的過程。
(三)建立系統(tǒng)的課程體系和授課模式
建立系統(tǒng)的成熟度課程體系和授課模式,通過多種多樣教學課程對學生進行積極引導,例如使用游戲化的編程工具、可視化圖形編程工具等進行授課,培養(yǎng)學生的計算思維、思考能力和創(chuàng)新意識,提高學生的解題能力。編程教學根據(jù)先易后難,循序漸進的學習進程,為學生培養(yǎng)創(chuàng)造性思維提供學習平臺,讓學生學習編程的過程變得有趣有效。操作簡單的雙師系統(tǒng)以及師生雙向引進學習的多元化的教學模式,讓教學更加智能化,信息化,高效化。改進教學方法和增加多種授課模式,如:實踐上機練習、項目學習、課堂授課、研討會和輔導課、基于問題的教學。實踐上機練習很有效的教學方式,讓學生在練習和實踐中更好地理解和體會所學習的基礎知識和概念,提高學生編程能力;項目學習讓學習者在具體的項目中學習,在參與到實際的編程項目的過程當中,增強了學生參與解決問題過程中的感受,增強了學生的積極性;課堂授課是傳統(tǒng)的教學方法時獲得知識的主要場所,仍然是必不可少的,可以幫助學生獲得系統(tǒng)的編程知識;研討會以及基于問題導向的教學可以讓學生在思維和知識的碰撞中交流想法,從而有效幫助學生對知識進行理解,提高學生自主學習的效果。
六、結束語
在當今這個時代計算機逐漸成為大部分人在工作和學習中必不可少工具,數(shù)字化、數(shù)據(jù)化、電子化、信息化已經(jīng)成為一種趨勢,信息和數(shù)據(jù)的處理已經(jīng)成為工作和學習的基本手段和方法。學習編程具有很大的現(xiàn)實意義,可以提升學習者的綜合素質。但是對于編程入門學習者的教學仍然存在教學過程中缺乏計算思維的培養(yǎng),不合適的教學方法削弱了學生編程學習的積極性,編程教育的行業(yè)內缺乏專業(yè)優(yōu)秀教師的問題。因此,在編程的教學方面需要建立更加多樣化的編程工具,在編程教學中要更加注重以培養(yǎng)計算思維為導向,建立系統(tǒng)的課程體系和授課模式讓編程初學者能夠更加有效地掌握編程能力和計算思維。
參? 考? 文? 獻
[1]王子行,楊帆.面向商業(yè)新業(yè)態(tài)? 重構學習新場景[J].中國高等教育,2020(20):9-10.
[2]新一代人工智能發(fā)展規(guī)劃[J].科技導報,2018,36(17):113.
[3]孫發(fā)勤,馮銳.編程教育中的智能導師系統(tǒng):架構、設計與應用[J].遠程教育雜志,2020,38(01):61-68.
[4]傅騫,章夢瑤.實體編程的教育應用與啟示[J].現(xiàn)代教育技術,2018,28(12):108-114.
[5]計算思維教學改革宣言[J].中國大學教學,2013(07):7-10+17.
作者單位:李澤龍? ? 于瀚翔? ? 張鑫鵬? ? 王濤? ? 貴州師范大學國際教育學院