鄧紅
關鍵詞:計算思維;Python語言;高職;抽象
現(xiàn)代社會新技術不斷涌現(xiàn),如物聯(lián)網(wǎng)、人工智能、區(qū)塊鏈、云計算等,新技術推動著社會進步,社會的方方面面發(fā)生著深刻的變革,新技術提高了社會的整體效率、推動了各行業(yè)的發(fā)展進程。新技術在改變社會的同時,也影響著社會中的每一個人,新技術讓人們的生活更加便利、學習更加從容。人們在享受新技術帶來各種便捷的同時,也必須掌握相應的本領才能駕馭各種新技術,迎接新技術帶來的挑戰(zhàn)。計算思維(Computational Thinking,CT) 是一種思維方式,是利用計算科學的基本理念和方法,結合工程思維、數(shù)學思維等多種思維方式,進行問題求解、系統(tǒng)建構和人類行為理解的思維過程[1]。現(xiàn)在的大學生,尤其是理工科學生,基本都會學習一到數(shù)門編程語言,學習編程語言的目的是解決實際問題,如果學生擁有較好的計算思維,將會大大提高解決問題的效率。
1 相關研究現(xiàn)狀
1.1 計算思維相關研究現(xiàn)狀
2006年,美國卡內基·梅隆大學周以真教授[2]首次提出“計算思維”,即利用計算機科學的基礎概念來解決問題、設計系統(tǒng)、理解人類行為等的思維和能力。計算思維不僅對計算機科學具有很高的價值,也是學生必須具備的基本素養(yǎng)和能力[3]。2013年,英國南安普敦大學的Cynthia Selby和John Woollard兩位博士指出計算思維由算法思維(Algorithmic Thinking)、評估(Evaluation)、分解(Decomposition)、抽象(Abstraction)、概括(Generalization)等要素組成[3]。2010 年在西安交通大學舉辦的首屆“九校聯(lián)盟計算機基礎課程研討會(C9) ”的會后聲明中提出:高校計算機基礎教育階段的首要任務是培養(yǎng)大學生的計算思維能力;國內學者對計算思維進行了許多卓有成效的研究[4-6]。
計算思維的特點是抽象化和自動化,并不等同于計算機編程,而是人類求解問題的一條途徑,因此每個人都應該具備計算思維。
1.2 國內高校培養(yǎng)學生計算思維模式
目前,國內高校針對計算思維的研究,主要集中在以C語言、Java語言、Python語言、計算機基礎的教學中進行[7-9],一般情況下,老師首先講解程序設計語言中的語法和基礎知識,再學習各類語句和結構。但是由于大部分學生是首次接觸程序設計語言,不太容易理解程序設計語言中的語法和基礎知識,導致后續(xù)學習變得困難。國內部分學者將C語言、Java語言中復雜知識點抽象為現(xiàn)實世界中的元素,再將元素融入計算機的運行環(huán)境,如Visual C++6.0中,借助寄存器,將各元素連接起來,形成一個整體的、可以自動運行的系統(tǒng),在考核方式上,以考查語言的語法知識為主轉變?yōu)橐钥疾閷W生的系統(tǒng)整體設計為主。培養(yǎng)了學生的抽象思維和整合能力,訓練其解決問題的思路和方法,提升其計算思維,學生很容易將這些方法和思路擴展到其他編程語言中。
但是國內學者研究的對象一般為本科院校中的在校生,他們基礎扎實、學習主動性好,研究的成果也較為理想。但我國還有數(shù)量巨大的??圃盒#渲形迥曛聘呗氃盒?,招收的是初中畢業(yè)生,這些學生有自己的特點,本文研究對象是五年制高職學生。
2 五年制高職學生計算思維培養(yǎng)研究
2.1 五年制高職的特點
所謂五年制高職通常是指直接招收初中畢業(yè)生,前三年按照普通中等職業(yè)教育的管理辦法進行管理,學習語文、數(shù)學、英語、政治、歷史、地理等文化課與相關專業(yè)課;后兩年納入普通高等教育管理,開設??茖哟蔚墓舱n和專業(yè)課,學生修業(yè)期滿成績合格者,由學院頒發(fā)普通高等學校全日制??飘厴I(yè)證書[10]。其特點如下:
1) 招收的學生年齡小、可塑性強、有效學習時間較長;
2) 專業(yè)設置靈活、貼近社會需求,統(tǒng)籌兼顧公共基礎與專業(yè)課程;
3) 學生動手能力優(yōu)于一般本科院校學生,知識結構較為齊全;
4) 自主性較強,學??梢愿鶕?jù)學生特點進行個性化定制教學;
5) 學生基礎弱于高中生和本科院校學生;
6) 教學方向以應用技術為主,理論知識在應用中融入。
2.2 基于Python 語言下培養(yǎng)學生計算思維的研究
Python語言是一種計算機程序設計語言。簡單易學、上手快、移植性強,既支持面向過程的編程也支持面向對象的編程。我們針對Python語言的特點,并考慮到高職學生在初中階段已經(jīng)系統(tǒng)學習過英語,學生已知曉學習自然語言的方法,將Python語言學習類比成英語學習,一方面可以提高學生對Python語言的掌握程度,另一方面可以訓練學生的計算思維,對應關系如表1。
編寫程序的過程是程序設計者和計算機溝通的過程,溝通的媒介就是Python語言,計算機可以讀懂編寫好的程序。這和人類的自然語言類似,這樣不僅可以讓學生減少畏難情緒,還可以讓學生建立學好Python語言的信心。
1) 將變量和常量當成是Python語言的基本元素,將它們比作英語中的字母;
2) 元組、數(shù)組、字典是由變量等按照一定規(guī)則組合而成的新的數(shù)據(jù)結構,而詞語是由字母組成;
3) 表達式是由運算符將各種變量、常量連接起來,可以表達一定的含義;
4) 函數(shù)可以實現(xiàn)某項功能,對應一篇英語文章;
5) 程序可以是多個函數(shù)組成,也可以解釋為由變量、常量、表達式、各種基本結構語句組成,故將其抽象為一本英語課本。
Python語言中的三種基本機構的執(zhí)行方式較難掌握,本文中將其抽象成了英語課本中的段落,每個段落都有其段落思想,每個段落和文章的其他部分有一個簡單的分割,利用段落提高學生對Python語言中基本結構和程序執(zhí)行方式的理解,提高其對計算思維中的自動化含義的理解。
順序結構比較好理解,程序按代碼的先后自動執(zhí)行,這和正常閱讀英文文章形式類似。選擇結構語句中,根據(jù)要求,執(zhí)行部分語句,忽略部分語句,閱讀英文文章時,根據(jù)要求只需閱讀其中部分段落。Python 語言的循環(huán)結構與重復閱讀某個段落類似,Python語言循環(huán)次數(shù)是由循環(huán)變量決定的,閱讀某個段落的次數(shù)是由老師決定的。
2.3 Python 教學中注意提升學生的計算思維
高職新生大多是首次接觸編程語言,將Python語言中元素抽象為英語學習,可以幫助學生對Python語言整體把握,讓學生腦海中形成Python語言整體的框架。日常教學中,需要對其中的概念進行擴展,由淺入深進行教學,在框架上用相關知識進行填充,幫助學生掌握學習Python語言編程的方法,不僅可以提高教學質量,還可以提高學生計算思維能力。
在教授Python時候,具體做法如下:
1) 注重基礎知識的理解,培養(yǎng)學生具備解決問題的理論基礎,Python是基于C語言發(fā)展而來,但是比C 語言簡單、更容易上手,學生第一步需要掌握Python 的語言特點,如熟悉Python中關鍵字含義、強制縮進等概念。在進行講解的過程中,可以結合英語學習中單詞、短語的學習進行比較,讓學生明白語法和關鍵字等,就像是構成Python程序中的基本材料,只有熟悉基本材料的特性,才能編寫出功能強大的程序。
2) 閱讀和實現(xiàn)具有某項功能的代碼段,培養(yǎng)學生的模仿和再現(xiàn)的能力,學生在掌握基礎知識后,可以嘗試閱讀并再現(xiàn)具有某些功能的代碼段,一方面可以強化對基礎知識的掌握,另一方面將知識點串聯(lián)起來,使學生可以再現(xiàn)具有簡單功能的Python程序,提高學生學習好Python編程語言的信心。
3) 獨自編寫具有某項功能的代碼段,培養(yǎng)學生邏輯判斷能力,Python程序具有較強的邏輯性,通過獨立編寫代碼段,提高學生代碼編寫能力和邏輯思維能力,讓學生對Python語言有一個整體概念。
4) 通過引入模塊,讓Python程序的層次和結構更加清晰,學生掌握單個模塊的功能,組合成一個具備完整功能的程序,培養(yǎng)學生整合各項資源的整合能力。
2.4 實驗
2.4.1 參與者
選取同一專業(yè)(軟件工程)的兩個班級,學生的入學成績基本相同,隨機分配為兩個班級,人數(shù)大體相同。一班34人,其中男生29人,女生6人;二班35人,其中男生30人,女生5人。學生年齡在15~16周歲,學生都來自江蘇省,教育背景相似。
2.4.2 實驗方法
學習課程前,對兩個班級采用西班牙學者Roman-Gonzalez所開發(fā)的學習者計算思維發(fā)展水平評價工具ComputationalThinkingtest(CTt) 進行評價。該評價工具中共有28個測試題,每題以“迷宮”或“畫布”的形式顯示,測試內容包含if條件、if-else 條件、while條件、循環(huán)-固定循環(huán)、簡單函數(shù)、帶參數(shù)的函數(shù)等。測試時長45分鐘,每題1分,共28分,通過CTt測試方法可以測量學習者對基本的計算概念的掌握情況,以及使用編程來解決相關問題的能力。
兩個班級同時學習Python編程語言,由同一老師進行授課,一班采用常規(guī)教學法,任課老師直接介紹Python里的語法知識、函數(shù)等知識,再由學生練習Py?thon程序的編寫。在二班進行教學時,有意識地加入訓練計算思維的方法,將Python學習方法抽象成為學習英語,以計算思維的方式鍛煉學生解決問題的能力,在學生已有的知識框架上更新成新的知識學習,降低學生學習新知識的心理障礙,將已有的框架上拓展變換成新的知識框架,便于學生理解新知識,同時鍛煉學生解決新問題的思維模式,在二班授課中,培養(yǎng)學生用計算機的處理流程來培養(yǎng)學生解決問題的思維,將問題進行抽象,結合英語學習,以計算機的思維指引學生學習Python編程語言。
2.4.3 實驗結果
學習Python學期前和學期后,兩次對兩個班級進行CTt測試,學習前后兩個班級得分如下:
經(jīng)過一個學期的學習后,兩個班級學生的CTt測試分數(shù)較學期開始前均有所提高,其中一班提升幅度為4%,二班提升幅度為15%,二班的提升幅度較一班高11%,兩個班級分數(shù)提升既與學生年齡增加、智力提升有關系,也與學生了學習新的知識、知識結構更新有關,但二班進步比一班快,說明在教學過程中,如果有意識的加入計算思維模塊,讓學生在學習過程中,潛移默化的接受計算思維的思想,學生可以更早更好地以計算思維來處理和解決問題。
3 總結
計算機已經(jīng)從誕生之初的科學計算輔助工具,變成了人們生產(chǎn)生活必不可少的好“伙伴”,這個“伙伴”不僅影響了我們的生產(chǎn)生活方式,而且還影響了我們的思維,本文主要研究培養(yǎng)五年制高職學生的計算思維能力。
主要工作:1) 研究國內外計算思維研究現(xiàn)狀和計算思維的重要性,總結目前國內培養(yǎng)學生計算思維的各種模式;2) 研究高職學校學生的特點;3) 以高職新生學習Python語言為例,研究如何在Python語言學習中提高學生的計算思維能力,具體方法為將Python語言學習抽象為英語學習,再將Python語言中的三種基本結構自動化為英語中段落閱讀方式。本文對Py?thon語言的教學內容進行分類和總結、結合高職新生的特點和高職生的知識結構,提出提高高職學生計算思維的新方法,學生反映學習Python語言的興趣增加,同時對Python語言學習的整體把握增強,實驗表明學生的計算思維有一定提高。