方璐 嚴(yán)明 梁波
摘要:計(jì)算機(jī)科學(xué)導(dǎo)論是計(jì)算機(jī)相關(guān)專業(yè)的一門基礎(chǔ)導(dǎo)論課程,課程目標(biāo)是讓學(xué)生掌握計(jì)算機(jī)科學(xué)的基本理論知識(shí),同時(shí)培養(yǎng)學(xué)生的計(jì)算思維和解決問題的能力。該文從如何在該課程中培養(yǎng)學(xué)生的計(jì)算思維出發(fā),分析了現(xiàn)有教學(xué)中存在的問題與挑戰(zhàn),提出了課堂教學(xué)案例講解與課后編程練習(xí)相結(jié)合的混合式教學(xué)方法,以問題推動(dòng)思考,以實(shí)踐促進(jìn)理論,培養(yǎng)學(xué)生的綜合能力。
關(guān)鍵詞:計(jì)算機(jī)科學(xué)導(dǎo)論;計(jì)算思維;算法
中圖分類號(hào):TP311 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)13-0149-03
1引言
計(jì)算機(jī)科學(xué)導(dǎo)論是計(jì)算機(jī)相關(guān)專業(yè)的一門基礎(chǔ)導(dǎo)論課程,課程內(nèi)容主要涉及計(jì)算機(jī)科學(xué)與技術(shù)的基本知識(shí)和專業(yè)知識(shí)體系。通過授課使學(xué)生掌握計(jì)算機(jī)科學(xué)的基本理論知識(shí)和基本方法,同時(shí)培養(yǎng)學(xué)生的計(jì)算思維能力和解決問題的能力[1]。
計(jì)算思維(Computational Thinking)是利用計(jì)算機(jī)科學(xué)的思維方式來進(jìn)行問題求解、系統(tǒng)設(shè)計(jì)和理解人類行為等一系列的思維活動(dòng)[2]。隨著計(jì)算機(jī)技術(shù)的不斷普及和深入,計(jì)算思維在各個(gè)領(lǐng)域都展現(xiàn)了強(qiáng)大的應(yīng)用。如計(jì)算思維運(yùn)用在數(shù)學(xué)領(lǐng)域,可以幫助解決各種復(fù)雜的計(jì)算和定理的證明[3];在醫(yī)學(xué)領(lǐng)域中,計(jì)算思維可以用于醫(yī)學(xué)影像處理和生物信息大數(shù)據(jù)分析[4];在人工智能領(lǐng)域,計(jì)算思維幫助實(shí)現(xiàn)人臉識(shí)別[5]。越來越多的行業(yè)都提出了對(duì)程序設(shè)計(jì)和計(jì)算思維應(yīng)用的要求,因此計(jì)算思維的培養(yǎng)也是順應(yīng)國家實(shí)施創(chuàng)新驅(qū)動(dòng)發(fā)展戰(zhàn)略和培養(yǎng)創(chuàng)新人才的技能需求[6]。
本文將探討在計(jì)算機(jī)科學(xué)導(dǎo)論課程授課過程中計(jì)算思維培養(yǎng)存在的問題和改革方法,以期幫助學(xué)生更好地理解和掌握計(jì)算思維,并將其應(yīng)用于工程問題的實(shí)踐中。
2當(dāng)前課程教學(xué)中存在的問題與挑戰(zhàn)
2.1學(xué)生基礎(chǔ)千差萬別
學(xué)生的計(jì)算機(jī)基礎(chǔ)存在較大的差異,隨著計(jì)算機(jī)技術(shù)的普及,有的學(xué)生在初高中就接觸過計(jì)算機(jī)知識(shí),也進(jìn)行過編程訓(xùn)練,已經(jīng)掌握了一些的計(jì)算知識(shí)。部分基礎(chǔ)較好的學(xué)生也會(huì)利用課余時(shí)間學(xué)習(xí)編程相關(guān)知識(shí),參加相關(guān)競賽或項(xiàng)目,對(duì)計(jì)算思維能的培養(yǎng)也是很好的鍛煉。然而在很多偏遠(yuǎn)地區(qū),由于教學(xué)條件差、資源匱乏,計(jì)算機(jī)課程無法進(jìn)入到義務(wù)教育環(huán)節(jié)。由于學(xué)生的教育背景和基本素質(zhì)的差異,對(duì)教學(xué)內(nèi)容的接受和理解力也有較大的差異。對(duì)于部分完全沒有計(jì)算機(jī)科學(xué)基礎(chǔ)的同學(xué),計(jì)算思維是全新的概念,同時(shí)由于計(jì)算思維的抽象性和復(fù)雜性,在短時(shí)間內(nèi)難以理解和掌握。在這種情況下,如果采用統(tǒng)一的標(biāo)準(zhǔn)和要求進(jìn)行教學(xué),會(huì)造成學(xué)習(xí)效果的差異化明顯。同時(shí)由于計(jì)算思維的養(yǎng)成和訓(xùn)練是一個(gè)長期、循序漸進(jìn)、潛移默化的過程,不可能一蹴而就,這就與以往的教學(xué)有著不同的要求和目標(biāo),這些要求和目標(biāo)對(duì)現(xiàn)有的教育觀念和方式提出了新的挑戰(zhàn)[7]。
2.2教學(xué)內(nèi)容抽象而復(fù)雜
計(jì)算機(jī)科學(xué)導(dǎo)論課程內(nèi)容多而廣,包括計(jì)算機(jī)存儲(chǔ)結(jié)構(gòu)、程序運(yùn)行工作原理、計(jì)算思維、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、編程語言等的相關(guān)內(nèi)容。傳統(tǒng)的計(jì)算機(jī)科學(xué)導(dǎo)論教學(xué)往往比較注重計(jì)算機(jī)知識(shí)的傳授和編程技能的培養(yǎng),而忽略計(jì)算思維的培養(yǎng)[7]。同時(shí),由于計(jì)算思維相關(guān)內(nèi)容理論知識(shí)偏多,概念抽象,枯燥難以理解,傳統(tǒng)的教學(xué)通常采用概念講解+程序分析的方式,對(duì)其真正體現(xiàn)出來的計(jì)算機(jī)思維缺乏很大程度的創(chuàng)新意識(shí)以及總體的規(guī)劃意識(shí)。教育部高等學(xué)校大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)主任委員李廉教授認(rèn)為[8],在傳統(tǒng)的教學(xué)中,計(jì)算思維是隱藏在能力培養(yǎng)內(nèi)容中的,要靠學(xué)生“悟”出來,現(xiàn)在要把這些明白地講出來,讓學(xué)生自覺地去學(xué)習(xí),提高培養(yǎng)質(zhì)量,縮短培養(yǎng)的時(shí)間,這對(duì)教師的教學(xué)內(nèi)容設(shè)計(jì)和教學(xué)方法都提出了新的挑戰(zhàn)。同時(shí),如何將計(jì)算思維融入實(shí)際工程問題中,在解決問題的過程中培養(yǎng)學(xué)生的思維能力,也是教師在教學(xué)過程中需要注意和改進(jìn)。
2.3教學(xué)方法單一
計(jì)算機(jī)導(dǎo)論的特點(diǎn)及在計(jì)算機(jī)專業(yè)中承擔(dān)的角色,決定了在教學(xué)中需要采取多種靈活的教學(xué)方法。然而在傳統(tǒng)的計(jì)算機(jī)教學(xué)中,主要采用課堂講授的教學(xué)方式,但是由于計(jì)算思維的內(nèi)容抽象而枯燥,采用講解的方式進(jìn)行授課,學(xué)生的注意力很難長時(shí)間集中,易產(chǎn)生課堂疲憊,對(duì)教學(xué)內(nèi)容的理解和掌握就會(huì)大打折扣。對(duì)于計(jì)算思維的教學(xué),我們應(yīng)采用理論結(jié)合實(shí)踐的教學(xué)方法,引導(dǎo)學(xué)生將思維方式運(yùn)用于實(shí)際問題的解決中,以問題推動(dòng)思考,以實(shí)踐促進(jìn)理論。因此課堂教學(xué)方式可以豐富多樣,如用視頻教學(xué)吸引學(xué)生興趣,引出問題;增加課堂討論,通過思維的碰撞啟發(fā)靈感,得到問題的多種解決方案;課堂編程實(shí)踐,對(duì)于簡單的編程練習(xí),可以在課堂上帶領(lǐng)學(xué)生進(jìn)行編程實(shí)踐,在發(fā)現(xiàn)問題和討論解決的過程培養(yǎng)學(xué)生的綜合能力。
3基于混合式教學(xué)的計(jì)算思維培養(yǎng)探索
計(jì)算思維的培養(yǎng)是計(jì)算機(jī)科學(xué)導(dǎo)論課程的核心目標(biāo),把計(jì)算思維融合到計(jì)算機(jī)知識(shí)中,讓學(xué)生掌握基于計(jì)算機(jī)科學(xué)的問題求解思路與方法,培養(yǎng)學(xué)生應(yīng)用計(jì)算思維處理實(shí)際問題的能力和創(chuàng)新能力。但是計(jì)算思維的內(nèi)容抽象而復(fù)雜,為了能在有限的時(shí)間內(nèi)將其教授給學(xué)生,我們采用了課堂教學(xué)理論講解與課后編程練習(xí)相結(jié)合的混合式教學(xué)方法(圖1)。筆者將課堂教學(xué)分為計(jì)算思維概念及思維過程講解,經(jīng)典案例分析,思維訓(xùn)練三個(gè)部分,結(jié)合課后的編程練習(xí)以及作業(yè)反饋,形成閉環(huán),使學(xué)生在課堂講解中了解計(jì)算思維的基本概念和思維方式,在案例分析中體會(huì)計(jì)算思維在實(shí)際應(yīng)用中的解題思路,并且在編程實(shí)踐中實(shí)現(xiàn)算法的具體步驟,在發(fā)現(xiàn)和解決問題的過程中加深對(duì)計(jì)算思維的理解。
3.1課堂概念及思維方式講解
計(jì)算思維的課堂概念講解主要是介紹計(jì)算思維的概念和基本思想步驟。計(jì)算思維并不是某一種具體的計(jì)算機(jī)算法,而是一種解決問題的思維方式,這種思維方式通過將需要解決的大問題分解為小問題,然后找到問題之間的共同規(guī)律,再通過具體的算法來解決問題。計(jì)算思維需要在不斷解決問題的過程中循序漸進(jìn)地形成。應(yīng)用計(jì)算思維來解決問題,主要包括以下幾個(gè)步驟[9-10]:(1)分解:把數(shù)據(jù)、過程或問題分解成更小的、易于管理的部分;(2)模式識(shí)別:觀察數(shù)據(jù)的模式、趨勢和規(guī)律;(3)抽象:識(shí)別模式形成背后的一般原理;(4)算法設(shè)計(jì):為解決某一類問題撰寫一系列詳細(xì)步驟。
抽象和自動(dòng)化是計(jì)算思維的兩大核心特征[8]。抽象指的是把實(shí)際的問題抽象為數(shù)學(xué)問題,并建立數(shù)學(xué)模型;自動(dòng)化是指通過計(jì)算機(jī)語言將結(jié)題思路的邏輯過程寫成算法,并對(duì)問題進(jìn)行求解。通過對(duì)計(jì)算思維概念和解題步驟的簡介,讓學(xué)生對(duì)計(jì)算思維有初步的了解。
3.2課堂案例分析
筆者選取了幾個(gè)經(jīng)典的課堂案例來對(duì)計(jì)算思維的解題步驟進(jìn)行分析,幫助學(xué)生掌握計(jì)算思維在實(shí)際工程問題中的應(yīng)用。比如漢諾塔問題、排序問題、找零錢問題、最短路徑問題和背包問題等。在案例分析的過程中,我們首先引導(dǎo)學(xué)生運(yùn)用計(jì)算思維進(jìn)行獨(dú)立思考,從實(shí)際工程問題中抽象出數(shù)學(xué)問題,然后再將大問題分解為小問題并尋找出大問題與小問題,小問題與更小問題之間的規(guī)律,構(gòu)建出問題的數(shù)學(xué)模型,推導(dǎo)出數(shù)學(xué)表達(dá)式,這樣就完成了計(jì)算思維應(yīng)用的關(guān)鍵步驟——抽象,這也是計(jì)算思維應(yīng)用中最重要的步驟,當(dāng)?shù)玫絾栴}的求解的數(shù)學(xué)表達(dá)式之后,就可以借計(jì)算機(jī)語言,將其轉(zhuǎn)換為具體的程序,從而對(duì)問題進(jìn)行求解和驗(yàn)證,實(shí)現(xiàn)工程問題的自動(dòng)化求解。
為了幫助學(xué)生將實(shí)際工程問題的抽象過程,筆者借助視頻動(dòng)畫和流程圖幫助學(xué)生理解問題的求解過程,從而將大問題分解為小問題,尋找到問題之間的規(guī)律,將其進(jìn)行算法分類,再推導(dǎo)出問題求解的數(shù)學(xué)表達(dá)式。通過對(duì)經(jīng)典案例引導(dǎo)式的講解分析,大部分學(xué)生都能領(lǐng)悟到計(jì)算思維的要點(diǎn)。我們?cè)谡n堂上還將算法的具體實(shí)現(xiàn)程序進(jìn)行解讀,將其中的重要函數(shù)和實(shí)現(xiàn)過程與思維過程的流程圖相對(duì)應(yīng)進(jìn)行講解,幫助學(xué)生理解算法的實(shí)現(xiàn)方法與步驟。
3.3計(jì)算思維的課堂訓(xùn)練
為了幫助學(xué)生進(jìn)一步理解和掌握計(jì)算思維,筆者在課堂案例分析后設(shè)置了課堂思維訓(xùn)練環(huán)節(jié)。選取了與案例中解題思路類似的工程問題,引導(dǎo)學(xué)生用計(jì)算思維進(jìn)行思考和討論,最終得到問題的數(shù)學(xué)表達(dá)式。思維訓(xùn)練過程中,問題的分類是關(guān)鍵,對(duì)問題進(jìn)行正確分類后,就能用相應(yīng)的數(shù)學(xué)模型進(jìn)行建模和表達(dá)式推導(dǎo)[11]。而問題的分解和規(guī)律的尋找可以幫助找到問題的類別。比如通過問題分解,知道漢諾塔問題屬于遞歸問題,與之類似的兔子繁殖問題,爬樓梯問題和排序問題也都可以用遞歸思維來解決;背包問題屬于動(dòng)態(tài)規(guī)劃問題,最短路徑和找零錢問題也可以用動(dòng)態(tài)規(guī)劃的思路進(jìn)行求解。通過反復(fù)的課堂思維訓(xùn)練,有利于提升學(xué)生的邏輯思維和抽象能力,使學(xué)生在面對(duì)實(shí)際工程問題時(shí),用計(jì)算思維的方法對(duì)問題進(jìn)行分解和抽象,尋找到合適的算法對(duì)問題進(jìn)行求解。
3.4以Python為平臺(tái)的編程練習(xí)
使用計(jì)算思維來解決工程問題最終需要通過算法和程序來實(shí)現(xiàn)。Python語言語法簡單,入門容易,可擴(kuò)展性高且有著豐富的標(biāo)準(zhǔn)庫,已成為近年來最受歡迎的程序設(shè)計(jì)語言之一,廣泛應(yīng)用于科研和工程技術(shù)領(lǐng)域各種大型項(xiàng)目的開發(fā)中。本課程選用Python作為計(jì)算思維實(shí)現(xiàn)的平臺(tái)。在完成了課堂的思維訓(xùn)練,得到了問題求解的數(shù)學(xué)表達(dá)式后,我們要求學(xué)生在課后挑選其中一個(gè)思維訓(xùn)練題,畫出流程圖,并通過程序?qū)崿F(xiàn)算法,解決問題。在算法實(shí)現(xiàn)的過程中,我們要求學(xué)生打印出過程變量,如使用二分法進(jìn)行排序,我們可以打印出數(shù)組在二分和排序過程中的動(dòng)態(tài)變化過程,使用遞歸算法解決爬樓梯問題時(shí),可以打印出各層遞歸結(jié)構(gòu)中的輸入和輸出變量,通過觀察過程量的變化,有助于學(xué)生理解算法思路。
在學(xué)生完成了程序練習(xí)后,我們會(huì)對(duì)學(xué)生的程序進(jìn)行檢查和反饋,選取具有代表性的程序,從算法流程,正確性和復(fù)雜度幾個(gè)角度進(jìn)行解讀和分析,幫助學(xué)生進(jìn)一步加深對(duì)計(jì)算思維的理解。
4 總結(jié)
隨著科技的發(fā)展,計(jì)算機(jī)技術(shù)迅速融入于各行業(yè)領(lǐng)域。計(jì)算思維的培養(yǎng)對(duì)于培養(yǎng)高素質(zhì)的計(jì)算機(jī)領(lǐng)域人才非常重要,我們將計(jì)算思維的培養(yǎng)貫穿于計(jì)算機(jī)科學(xué)導(dǎo)論的整個(gè)教學(xué)過程中,通過潛移默化的課堂思維訓(xùn)練,結(jié)合課后的實(shí)踐練習(xí),以問題推動(dòng)思考,以實(shí)踐促進(jìn)理論,提高了學(xué)生的學(xué)習(xí)興趣,充分調(diào)動(dòng)學(xué)生的積極性和主動(dòng)性,為后續(xù)相關(guān)課程的學(xué)習(xí)奠定基礎(chǔ)。
參考文獻(xiàn):
[1] 石云,陳聲波.培養(yǎng)計(jì)算思維的“計(jì)算機(jī)導(dǎo)論”混合式教學(xué)評(píng)價(jià)指標(biāo)體系的構(gòu)建與實(shí)施[J].教育教學(xué)論壇,2016(5):209-210.
[2] Wing J M.Computational thinking[J].Communications of the ACM,2006,49(3):33-35.
[3] 白珍,王煜.以數(shù)學(xué)建模為核心算法設(shè)計(jì)教學(xué)中的計(jì)算思維實(shí)踐[J].中國信息技術(shù)教育,2017(S3):45-47.
[4] 張志欣,岳根霞,邢寧浩,等.如何提高醫(yī)學(xué)生的計(jì)算思維[J].新課程研究(中旬刊),2017(7):67-68.
[5] 阮靜.基于計(jì)算思維培養(yǎng)的人工智能課程設(shè)計(jì)實(shí)踐探究——以《人臉識(shí)別》一課為例[J].中國現(xiàn)代教育裝備,2021(22):18-20,23.
[6] 陳曉彬.計(jì)算思維能力培養(yǎng)視角下中職Python程序教學(xué)實(shí)踐探究[J].現(xiàn)代職業(yè)教育,2021(51):224-225.
[7] 陳利平,高金華.以計(jì)算思維為導(dǎo)向的計(jì)算機(jī)導(dǎo)論課程研究[J].福建電腦,2015,31(6):145-146.
[8] 陳國良,董榮勝.計(jì)算思維的表述體系[J].中國大學(xué)教學(xué),2013(12):22-26.
[10] 郭永光.靈活計(jì)算,思維創(chuàng)新——淺析大學(xué)計(jì)算機(jī)基礎(chǔ)課程計(jì)算思維能力的教學(xué)策略[J].山西青年,2021(22):51-52.
[11] 酈麗.計(jì)算思維在計(jì)算機(jī)科學(xué)導(dǎo)論課程改革中的作用[J].電子商務(wù),2018(6):91-92.
【通聯(lián)編輯:聞翔軍】