紀(jì)緒
摘要:該文針對目前高職院?!癈語言程序設(shè)計”課程教學(xué)中存在的問題,基于計算思維教育理念,從教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段等幾個方面進行教學(xué)改革研究,從而提高教學(xué)質(zhì)量。
關(guān)鍵詞:計算思維;教學(xué)改革;C語言程序設(shè)計
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)26-0120-02
Abstract: This paper aims to solve the problems in the process of teaching the C Language course from the perspective of Computational Thinking Theory, and tries to propose some feasible suggestions to improve teaching, such as teaching content, methods, and tools.
Key words: Computational Thinking;Teaching Reform; C Language Programming
1 計算思維概念的出現(xiàn)
2006年,美國卡內(nèi)基梅隆大學(xué)的周以真教授提出了計算思維的概念,引起了計算機界與計算機教育界的廣泛關(guān)注,近年來計算思維在國內(nèi)外的研究熱度逐年增加。
周以真教授對計算思維進行如下定義:計算思維是運用計算機科學(xué)的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計以及人類行為理解等涵蓋計算機科學(xué)領(lǐng)域的一系列思維活動。即指通過化簡、嵌入、轉(zhuǎn)化和仿真等方法,把一個困難的問題闡釋成如何求解它的思維方法。總的來說,周教授認(rèn)為計算機科學(xué)不僅僅是進行編程,一個優(yōu)秀的計算機人才除了具備編程能力之外,還要具備抽象的邏輯思維能力。計算思維強調(diào)的并不是簡單的機械重復(fù)能力,而是人的思維能力的體現(xiàn)。因此,在計算機科學(xué)教育中應(yīng)當(dāng)以培養(yǎng)計算思維為核心。隨著計算思維概念的提出,對國內(nèi)計算機教育提出了新的要求,也得到了計算機教育界的關(guān)注,在高校中如何推進計算思維的培養(yǎng)成為計算機教育界的熱點話題。
2 高職院校C語言程序設(shè)計課程的教學(xué)現(xiàn)狀
C語言是計算機專業(yè)一門重要的專業(yè)基礎(chǔ)課,作為一門長盛不衰的程序設(shè)計語言,C語言功能豐富,表達(dá)能力強,使用靈活,應(yīng)用面廣,程序效率高,可移植性好,既具有高級語言的優(yōu)點,又具備低級語言的很多優(yōu)點,因此成為很多高校計算機及相關(guān)專業(yè)首選的程序設(shè)計語言。然而,由于本課程開設(shè)主要是面向大一剛?cè)胄5膶W(xué)生,多數(shù)學(xué)生對程序設(shè)計沒有基礎(chǔ),缺乏計算機軟硬件基本知識,存在知識銜接問題;在目前高職院校的C語言程序設(shè)計教學(xué)中,基本是以教師講授作為主導(dǎo),教學(xué)過程一般都是采用純數(shù)學(xué)的抽象案例,如求最大值、求和、對數(shù)值排序等等,這種教學(xué)方式對職業(yè)院校學(xué)生來說會感覺抽象、枯燥,因而難以理解和接受,進而影響到學(xué)生的學(xué)習(xí)積極性,不能達(dá)到預(yù)期的教學(xué)效果。因此這種教學(xué)方式并不適用于高職院校的C語言教學(xué),針對高職院校的C語言教學(xué)改革顯得尤其重要。具體來看問題主要體現(xiàn)在以下幾個方面:
1) 學(xué)習(xí)目的不明確
在開始上課時,很多學(xué)生并不知道C語言能用來做什么,為什么要學(xué)習(xí)C語言。我們做任何事情,只有知道其意義,我們才會去做,也才會做好。C語言應(yīng)用廣泛,程序員考試、計算機等級考試等需要用到C語言只是學(xué)習(xí)C語言的表面原因,通過C語言的學(xué)習(xí)培養(yǎng)學(xué)生邏輯思維能力來解決實際問題才是核心目的。如果學(xué)生沒有明確學(xué)習(xí)目的,不能充分調(diào)動學(xué)生的學(xué)習(xí)積極性,就會導(dǎo)致學(xué)生聽課沒有興趣,缺乏主動性,教學(xué)效果不理想。
2) 教學(xué)內(nèi)容缺乏實用性與趣味性
由于C語言涉及的概念比較復(fù)雜,規(guī)則繁多。隨著課程的深入,相對難以理解、使用中容易出錯的內(nèi)容會比較多,因此會增加學(xué)生的學(xué)習(xí)難度。此時如果在教學(xué)內(nèi)容設(shè)置上缺乏實用性與趣味性,就很難激發(fā)學(xué)生的學(xué)習(xí)熱情,達(dá)到預(yù)期教學(xué)效果。
3) 教學(xué)組織與教學(xué)方法不適用
目前,很多高職院校在教學(xué)組織與教學(xué)方法上與一般的本科教學(xué)方式相同。主要由教師講授為主,通過每個單元內(nèi)容的講解讓學(xué)生掌握相關(guān)知識點,再通過布置練習(xí)讓學(xué)生實踐中體會和理解有關(guān)概念。這種方式并不能體現(xiàn)出高職教育“教、學(xué)、做”一體化的主導(dǎo)思想。也會使學(xué)生無法將所學(xué)知識點應(yīng)用于具體實際項目來解決實際問題,同時也會導(dǎo)致學(xué)生在學(xué)習(xí)過程中過分注重語法規(guī)則而忽略了編程的本質(zhì)。
因此,在C語言程序設(shè)計的教學(xué)改革中以培養(yǎng)學(xué)生的計算思維能力為導(dǎo)向,強調(diào)思維方式的養(yǎng)成,以應(yīng)用為背景,加深學(xué)生對C語言的理解與運用能力,培養(yǎng)學(xué)生分析問題與解決問題的能力是非常重要的。
3 基于計算思維能力的培養(yǎng)對C語言程序設(shè)計課程進行改革
針對以上存在的問題,本人對C語言教學(xué)改革有以下幾點認(rèn)識:
1) 基于計算思維理念,針對學(xué)生培養(yǎng)目標(biāo),修訂課程標(biāo)準(zhǔn)
教師首先應(yīng)使學(xué)生明確學(xué)習(xí)目的。高職院校人才培養(yǎng)目標(biāo)定位于培養(yǎng)具有基本程序設(shè)計能力,能夠應(yīng)用計算機解決問題,擁有良好綜合素質(zhì)和邏輯思維能力,滿足企業(yè)需要的技能型應(yīng)用型人才。因此,學(xué)習(xí)程序設(shè)計的核心目的在于掌握解決實際問題的技能。因此,應(yīng)以所學(xué)知識能夠提高學(xué)生邏輯思維能力為原則,對課程標(biāo)準(zhǔn)進行科學(xué)的調(diào)整,突出C語言學(xué)習(xí)中計算思維理念的養(yǎng)成。
2) 基于計算思維,對C語言教學(xué)內(nèi)容組織進行改革
針對目前教學(xué)內(nèi)容組織上只注重知識點講授而未體現(xiàn)出程序設(shè)計理念的現(xiàn)狀,在教學(xué)內(nèi)容組織上要更強調(diào)計算思維的培養(yǎng),強化學(xué)生的自主學(xué)習(xí)能力和協(xié)助學(xué)習(xí)能力。因此,在C語言教學(xué)過程中, 應(yīng)采用數(shù)個與真實生活場景密切相關(guān)的項目,如打字游戲、猜牌游戲、學(xué)員成績管理系統(tǒng)、投票系統(tǒng)、競賽選手打分排序等多個項目,教師通過模擬的真實生活場景講解引出技術(shù)內(nèi)容。項目選擇考慮到實用性,趣味性,從而幫助學(xué)生理解問題的思維過程,并用學(xué)到的編程技能解決問題。
3) 基于計算思維,對C語言教學(xué)方法進行改革
在教學(xué)方法上,強調(diào)任務(wù)驅(qū)動,即設(shè)置多個學(xué)習(xí)情境,每個學(xué)習(xí)情境作為一個單獨的任務(wù),而每個學(xué)習(xí)情境映射為c語言中最重要的知識點,所有學(xué)習(xí)情境聯(lián)系起來成為一個完整的項目。在整個教學(xué)過程中,體現(xiàn)出項目導(dǎo)向,任務(wù)驅(qū)動,教學(xué)做一體化,逐層分解相關(guān)知識點,引導(dǎo)學(xué)生突破傳統(tǒng)的思維方式,培養(yǎng)學(xué)生計算思維的能力。在此過程中可以結(jié)合多種教學(xué)方法:
(1) 基于計算思維的拋錨式教學(xué)法。比如在“順序程序設(shè)計”中,首先拋出“10+20=?”的算式。學(xué)生會疑惑為什么會拋出這么簡單的問題呢?進而產(chǎn)生興趣。那么C語言中怎么實現(xiàn)這樣的算式哪?我們可以拿三個粉筆盒演示。第一個盒子放入10支粉筆,第二個盒子放入20支粉筆,然后把他們都倒入第三個盒子中。在此過程中,學(xué)生的思維通過從抽象到形象的轉(zhuǎn)變,深刻理解了C語言中內(nèi)存結(jié)構(gòu),賦值等知識點。接下來學(xué)習(xí)賦值語句的語法就會很容易接受了。
(2) 基于計算思維的任務(wù)驅(qū)動式教學(xué)。教師通過任務(wù)激發(fā)學(xué)生的學(xué)習(xí)動機,學(xué)生通過完成任務(wù),采用計算思維解決問題,培養(yǎng)分析和解決問題的能力。比如在學(xué)習(xí)“冒泡排序”時,將學(xué)生分組。讓每個組的學(xué)生隨機站成一排,然后按身高排序。學(xué)生在完成這個任務(wù)的過程中就會思考如何進行排序的問題。既培養(yǎng)學(xué)生計算思維的能力,又增強了他們的學(xué)習(xí)自主性。
又比如在講解“移位”運算時,可以讓某一排同學(xué)起立依次向前移動一個座位,這樣學(xué)生對移位運算過程中的溢出與補位就會有更清晰的理解了。
(3) 引入翻轉(zhuǎn)課堂教學(xué)模式。在部分內(nèi)容設(shè)置上引入翻轉(zhuǎn)課堂的教學(xué)方式,提高學(xué)生的自主學(xué)習(xí)能力和舉一反三的能力。比如在完成一維數(shù)組的學(xué)習(xí)后,可以將二維數(shù)組的內(nèi)容作為課下學(xué)習(xí)內(nèi)容,上課時通過答疑,討論等形式鞏固學(xué)生對相關(guān)知識的掌握,這樣既發(fā)揮了學(xué)生的主觀能動性,又提高了學(xué)習(xí)的興趣與信心。
4 結(jié)束語
綜上,計算思維教育著眼于思維方式的養(yǎng)成,與傳統(tǒng)教育強調(diào)知識的系統(tǒng)性、整體性不同,計算思維要求明確將思維方式講出來,培養(yǎng)學(xué)生有意識的采用計算思維解決復(fù)雜問題。C語言作為大一新生入學(xué)接觸到第一門程序設(shè)計課程,采用計算思維方法進行教學(xué)設(shè)計,強調(diào)思維方式的養(yǎng)成,對學(xué)生今后的專業(yè)知識學(xué)習(xí)是很有意義的。
參考文獻(xiàn):
[1] 周以真.計算思維[J].中國計算機學(xué)會通訊,2007,3 (11).
[2] 康葦葦.基于計算思維的C語言教學(xué)模式分析與案例設(shè)計[D].重慶師范大學(xué),2015.
[3] 徐新海,林宇斐.注重計算思維的啟發(fā)式C語言語法教學(xué)[J].計算機教育,2014.
[4] 陳國良,董榮勝.計算思維與大學(xué)計算機基礎(chǔ)教育[J].中國大學(xué)教學(xué),2011.
[通聯(lián)編輯:王力]