◆毛睿 劉聞慧
高職院校開設(shè)基于計算思維的程序設(shè)計課程初探*
◆毛睿 劉聞慧
針對目前傳統(tǒng)計算機程序課中存在的問題,提出基于計算思維的課程教學模式,并在高職院校開設(shè)基于計算思維的程序設(shè)計課程,以Python語言為載體,實踐并總結(jié)培養(yǎng)學生計算思維課程的改革要點,并希望以此為契機,為高職計算機學科中的其他課程教學提供一種可以借鑒的改革模式。
計算思維;程序設(shè)計;Python語言;翻轉(zhuǎn)課堂
10.3969/j.issn.1671-489X.2015.24.101
隨著學生的計算機基礎(chǔ)越來越好,現(xiàn)在的計算機入門課程知識已經(jīng)顯得過于基礎(chǔ),不足以引發(fā)學生對計算機課學習的興趣。本文主要以Python語言作為載體,探討如何對計算機入門課程進行改革,在課程中引入對計算思維的培養(yǎng)。
在傳統(tǒng)教學中存在一系列問題。
學生的計算機基礎(chǔ)參差不齊 有的學生之前接觸過大量的計算機知識,對教師講的入門知識不以為然,認為學習這門課沒有意思;而有的來自偏遠落后地區(qū)的學生之前沒有計算機的學習條件,總也學不會,加上其他學生學得很快,自己就會產(chǎn)生自卑心理,而放棄學習。
沒能將學生的學習興趣正確加以利用 學生在初接觸計算機時其實是抱著很濃厚的學習興趣,可是一旦接觸到復雜的算法和需要很強邏輯能力的程序時,課程開始變得枯燥,這時候?qū)W生學習興趣大減,甚至開始厭煩。大多數(shù)的學生就因為程序代碼拼寫錯誤總是不能運行出結(jié)果而放棄對程序設(shè)計課程的學習。若教師能在學生學習興趣濃厚時抓住學生的心理對教學內(nèi)容進行適當調(diào)整,就能很好地引導學生度過這段厭煩時期。
忽略了對思維的培養(yǎng) 在以往的教學中,總是更傾向于教師講學生聽,以教師為中心,在這種教學模式下學生太被動,心理上容易疲乏,從而學不到想學的知識或者很容易忽略重要的知識。教師太過注重教會學生,而往往忽略了思考問題的這個過程。講程序設(shè)計課時,學生往往只把教師的例題敲出來運行成功就停了,沒有做進一步的延伸思考。學生這樣的學習更像是打字和記憶力的訓練,根本沒起到鍛煉思維能力的作用。
為了順利通過考試,學生很容易將自己的學習重心放在學習的結(jié)果即成績上,而忽略了對自身思維的培養(yǎng),教師和學生為了提高通過率而將課堂變成備戰(zhàn)考試的地方。學生因為更關(guān)注問題的答案而非解決問題的過程,所以未能形成一種有效的思維模式,大多數(shù)學生題目做對了就再也不去做進一步思考。事實上,這樣并未能完成學生來到大學培養(yǎng)思維能力、學習能力和動手能力的最初目標,甚至適得其反,將大量的時間花在死記硬背上,學生還未畢業(yè)就已經(jīng)將知識忘記,達不到培養(yǎng)計算思維的教學目的。
云南交通職業(yè)技術(shù)學院開展以培養(yǎng)高職學生“計算思維能力”為核心的、計算機類課程的教學改革,并希望以此為契機,為高職計算機學科中的其他課程教學提供一種可以借鑒的改革模式。為將“計算思維能力”的具體培養(yǎng)目標付諸于教學實踐,在原有教學實踐的基礎(chǔ)上,通過開設(shè)Python程序設(shè)計課程,以其為載體,達到培養(yǎng)目標。
Python代碼的書寫規(guī)則近似于英語語言,更與計算機算法中的“偽代碼”極其相似,學生更易于拼寫,減少了書寫錯誤的概率。對于計算機基礎(chǔ)課程來說,Python更適合計算機知識不太扎實的入門者來學習。而Python自身的IDLE在Windows和UNIX上都有著很好的支持,學習者只需要進行簡單的入門學習,就可以在短時間內(nèi)寫出效率高的代碼。由于拋開了對專業(yè)背景的依賴,使得沒有經(jīng)過系統(tǒng)的計算機學習的學生也能快速掌握并進行編程,大大提高了學生的學習興趣。
Python強大、開源免費的類庫使得開發(fā)和測試更加方便,可以自行擴展庫,實現(xiàn)自己的特色,這也增加了程序設(shè)計課程的趣味性,給有編程愛好的學生提供了廣闊的擴展空間。故選擇Python語言作為計算機程序設(shè)計課的入門語言,在課堂中主要從以下幾方面做改革。
1)針對計算機基礎(chǔ)參差不齊的學生,筆者分別針對非計算機專業(yè)學生開設(shè)Python程序設(shè)計Ⅰ課程(40學時),針對計算機專業(yè)學生和已經(jīng)掌握Python程序設(shè)計Ⅰ課程的學生開設(shè)Python程序設(shè)計Ⅱ課程(40學時)。
非計算機專業(yè)學生大多數(shù)沒有系統(tǒng)地學習過理論知識,只是對計算機知識有濃厚的興趣。所以在課程講授時,多選用簡單易懂的案例,循序漸進,根據(jù)學生的接受程度來適當增減教學內(nèi)容,力求讓每一個學生都能夠自主完成一段程序再進入下一個知識單元。
計算機專業(yè)學生具有理論知識功底,且大多數(shù)已經(jīng)學習過其他的編程語言,故采用分組教學法,盡量選擇實際生活中應用著的案例,分組討論分析,作業(yè)也分組完成,讓學生在小組討論的過程中鞏固并系統(tǒng)地掌握知識點。
40學時的課時設(shè)計,每周剛好安排一次兩個學時的課程,目的是為了留給學生充足的課外時間去引發(fā)思考和學習。對于已經(jīng)有計算機基礎(chǔ)的學生來說,他們更愿意在基礎(chǔ)知識之上去開發(fā)自己感興趣的內(nèi)容來學習,而在學習過程中才會引發(fā)更多的思考和問題,達到自主學習的目的;對于毫無計算機功底的學生來說,課程如果安排得太過緊密,反而會把他們已經(jīng)引發(fā)興趣卻還沒有消化的知識丟棄,久而久之,學生越來越跟不上進度,也就喪失了學習的動力,所以筆者選擇了每周兩個學時的課時設(shè)計。
2)讓興趣成為學生自主思維的動力。根據(jù)觀察,非計算機專業(yè)的學生容易對長時間的理論知識學習產(chǎn)生厭倦情緒,而更容易對程序運行出的結(jié)果產(chǎn)生興趣。故在講授時,先由生活中隨處可見的簡單算法引入,如歡迎消息框、登錄驗證等,當學生發(fā)現(xiàn)他們也能夠生成這樣的小代碼時,便會激起自主思考的欲望,他們會越學習越發(fā)現(xiàn)問題,越有問題就越想學習。
計算機專業(yè)的學生又不相同,他們的注意點不再被簡單的算法吸引,但是復雜的程序又容易讓他們失去信心,所以選擇了一些實用的程序讓其小組分段分析,如手機APP應用中的一段、游戲插件中的一段,學生知道所學程序與生活應用息息相關(guān),就算面對略微復雜的程序也不會失去動力,反而會主動查閱資料去研究學習。
3)啟發(fā)自主思考,培養(yǎng)計算思維。在傳統(tǒng)的程序設(shè)計課程中,學生僅僅是將教師的案例敲擊出來運行沒有錯誤,就停止學習和思考了,這樣絲毫起不到鍛煉學生思維能力的作用。因此,在教授時,筆者采用適當?shù)姆D(zhuǎn)課堂模式,先把課堂需要的知識點提前發(fā)給學生課前學習,在課堂上再用10~15分鐘時間理順知識點,就開始針對不同基礎(chǔ)的學生分發(fā)難易程度不同的案例:先讓學生利用所預習知識編寫偽代碼,實在不行的學生也要能用框圖或文字表達出思路;然后教師講解,再對例題提出更多問題,如此往復,以訓練學生獨立的思維能力。
在講授時,教師不再單純給出答案,而是由問題引入,一步步闡述自己的解題思維過程,分步引發(fā)學生再次思考。由于學生在課堂之前以及課堂中就已經(jīng)自主思考過,在教師講解時就容易抓得住重點,針對自己思考過程中的問題再次反思。經(jīng)過這一系列過程,學生不但牢固掌握了知識,也不再單純依賴教師“解惑”,而是掌握了自己發(fā)現(xiàn)問題、思考問題的學習技能。
4)考試模式的改變。大多數(shù)學生對大學學習的心態(tài)已經(jīng)變成“拿夠?qū)W分就好”,根本不會自主有目的地培養(yǎng)自己,所以筆者降低了期末考試在成績認定中的比重,增加了平時案例完成情況的分量。平時每完成一個案例,就直接給學生評分,并計入期末成績,這樣學生平時也不會太松懈,到學期末又不至于太緊張。
基于計算思維的課程教學模式,應以培養(yǎng)學生主動思維為主,充分發(fā)揮學生的主觀能動性,要通過教師的引導讓學生愛上學習、自己發(fā)現(xiàn)問題、主動求解問題,而教師教授的重點要由原來的解答問題變成培養(yǎng)學生自主解答問題。然而,學時太少往往會讓學生無法獲取到足夠的基礎(chǔ)知識,到學期末的時候,仍然只是掌握了皮毛。對于學習積極性較弱的學生,這種過分依賴于其課后自學的模式反而會讓其一無所獲。因此,如何權(quán)衡課堂學習時間與學生自主學習的時間,仍然是值得再探索實驗和深究的問題。■
G712
B
1671-489X(2015)24-0101-02
云南省教育廳2012年“云南省高等學校教學改革研究項目”;云南交通職業(yè)技術(shù)學院2012年“質(zhì)量工程科研項目”“在程序設(shè)計課程中引入培養(yǎng)‘計算思維’的教學實踐”。
作者:毛睿,云南交通職業(yè)技術(shù)學院交通信息工程學院,講師,研究方向為計算機應用;劉聞慧,云南交通職業(yè)技術(shù)學院交通信息工程學院副教授,研究方向為計算機應用(650500)。