紀緒
摘要:該文針對目前高職院校“C語言程序設(shè)計”課程教學(xué)中存在的問題,對在課程設(shè)計理念、教學(xué)內(nèi)容與教學(xué)方法,考核方式等幾個方面融入計算思維能力的培養(yǎng)進行研究,從而提高教學(xué)質(zhì)量。
關(guān)鍵詞:計算思維;C語言程序設(shè)計;教學(xué)改革
中圖分類號:G64 文獻標識碼:A 文章編號:1009-3044(2018)29-0177-02
1 什么是計算思維
2006年3月,美國卡內(nèi)基梅隆大學(xué)計算機科學(xué)系主任周以真教授在在美國計算機權(quán)威期刊《Communications of the ACM》雜志上提出了計算思維的概念,引起了計算機界與計算機教育界的廣泛關(guān)注,近年來計算思維在國內(nèi)外的研究熱度也隨之逐年增加。
周以真教授對計算思維進行如下定義:計算思維是運用計算機科學(xué)的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計以及人類行為理解等涵蓋計算機科學(xué)領(lǐng)域的一系列思維活動。即指通過化簡、嵌入、轉(zhuǎn)化和仿真等方法,把一個困難的問題闡釋成如何求解它的思維方法??偟膩碚f,周教授認為計算機科學(xué)不僅僅是進行編程,一個優(yōu)秀的計算機人才除了具備編程能力之外,還要具備抽象的邏輯思維能力。計算思維強調(diào)的并不是簡單的機械重復(fù)能力,而是人的思維能力的體現(xiàn)。
在此之前,很多人將計算機科學(xué)等同于計算機編程,認為主修計算機專業(yè)的學(xué)生面臨的是一個很狹窄的就業(yè)范圍。而實際上,計算思維應(yīng)當是每個人的基本技能,而不僅僅屬于計算機科學(xué)家。我們應(yīng)當使每個學(xué)生在培養(yǎng)解析能力時不僅掌握閱讀、寫作和算術(shù)(Reading, wRiting, and aRithmetic——3R),還要學(xué)會計算思維。這就對國內(nèi)計算機教育界提出了新的要求,在高校中如何推進計算思維能力的培養(yǎng)成為計算機教育界的熱點話題。
2 高職院校C語言程序設(shè)計教學(xué)中存在的問題
C語言程序設(shè)計是計算機專業(yè)一門重要的專業(yè)基礎(chǔ)課,作為一門長盛不衰的程序設(shè)計語言,C語言簡潔緊湊,靈活方便,運算符和數(shù)據(jù)類型豐富,表達方式靈活實用,程序執(zhí)行效率高,可移植性好,既可以用來開發(fā)系統(tǒng)軟件,又可以用來編寫應(yīng)用軟件,而且比較易于理解,因此成為很多高校計算機及相關(guān)專業(yè)首選的程序設(shè)計語言。目前,各高校中c語言程序設(shè)計的教學(xué)普遍采用按教材順序依次講解c語言中的主要知識點,之后布置學(xué)生做練習(xí)來鞏固所學(xué)內(nèi)容的傳統(tǒng)教學(xué)方式。然而,這種教學(xué)方式往往會使得學(xué)生過于關(guān)注語法規(guī)則的細枝末節(jié)而忽略了編程的本質(zhì),不利于學(xué)生計算思維能力的培養(yǎng)。特別是對高職院校的學(xué)生來說,在傳統(tǒng)C語言教學(xué)中所采用的純數(shù)學(xué)的抽象案例,如求最大值、求和、對數(shù)值排序等等,會感覺抽象、枯燥,難以理解和接受,進而影響到學(xué)生的學(xué)習(xí)積極性,不能達到預(yù)期的教學(xué)效果。具體來看問題主要體現(xiàn)在以下幾個方面:
(1)學(xué)生學(xué)習(xí)積極性不高
傳統(tǒng)教學(xué)模式雖然可以讓學(xué)生對所學(xué)知識點具有比較全面的理解,但是這種教學(xué)方式?jīng)]有體現(xiàn)出程序設(shè)計的思想,沒有體現(xiàn)出任務(wù)的分解與模塊化,沒有體現(xiàn)出團隊的協(xié)作,也不利于學(xué)生計算思維能力的培養(yǎng)和獨立自主思考問題的習(xí)慣養(yǎng)成。久而久之容易使得學(xué)生只關(guān)注c語言的語法細節(jié),而忽視了程序設(shè)計的本質(zhì),不能充分調(diào)動學(xué)生的學(xué)習(xí)積極性,就會導(dǎo)致學(xué)生聽課沒有興趣,缺乏主動性,教學(xué)效果不理想。
(2)理論與實踐脫節(jié)
在傳統(tǒng)的C語言教學(xué)中采用的主要是一些數(shù)學(xué)的抽象案例。比如求最大值,求平均值,排序,求累加和,斐波那契數(shù)列等。這些案例對于高職學(xué)生缺乏吸引力,與實際應(yīng)用的需求往往并不一致。隨著課程的深入,學(xué)習(xí)難度也在不斷增加。此時在教學(xué)內(nèi)容設(shè)置上缺乏實用性與趣味性的問題就會很突出,影響教學(xué)實際效果。
(3)考核模式單一
目前,很多高職院校在考核方式上與一般的本科院校相同。主要通過試卷考核學(xué)生對知識點的掌握情況。而這些知識點的考核很大程度上是對語法規(guī)則進行考核,這種考核方法無法體現(xiàn)出學(xué)生的思考問題與解決問題的能力,也容易誤導(dǎo)學(xué)生對編程本質(zhì)的理解。
綜上所述,在高職院校中進行c語言程序設(shè)計教學(xué)不能照搬傳統(tǒng)的本科教學(xué)方式,在教學(xué)中強調(diào)計算思維能力的培養(yǎng)、引導(dǎo)學(xué)生在各個層面進行計算思維的習(xí)慣、培養(yǎng)學(xué)生分析問題與解決問題的能力是非常重要的。
3 將計算思維能力的培養(yǎng)融入到c語言程序設(shè)計教學(xué)中
針對以上存在的問題,本人對C語言教學(xué)改革有以下幾點認識:
(1)在課程設(shè)計理念中融入計算思維能力的培養(yǎng)
打破以知識傳授為主要特征的傳統(tǒng)課程教學(xué)模式,轉(zhuǎn)變?yōu)榛诠ぷ鬟^程的項目課程開發(fā)與設(shè)計,以工作任務(wù)為中心、項目課程為主體,讓學(xué)生在完成具體項目的過程中來構(gòu)建相關(guān)理論知識,并發(fā)展職業(yè)能力。
① 以能力為基礎(chǔ)教育、工學(xué)交替、工學(xué)結(jié)合為模式:著重培養(yǎng)學(xué)生能力;工作任務(wù)與學(xué)習(xí)任務(wù)交替進行,學(xué)生在工作中學(xué)習(xí)理論知識,在學(xué)習(xí)中完成工作任務(wù),體現(xiàn)“教、學(xué)、做”一體化。
② 以崗位需求為依據(jù):依據(jù)程序設(shè)計員國家職業(yè)標準、工礦企業(yè)和軟件行業(yè)對計算機信息管理應(yīng)用軟件開發(fā)人員的實踐能力要求,設(shè)置課程內(nèi)容,實現(xiàn)課程內(nèi)容和職業(yè)崗位需求緊密結(jié)合。
③ 以工作過程為基礎(chǔ):學(xué)習(xí)以工作過程性知識為主、陳述性知識為輔;按照工作過程中活動與知識的關(guān)系來設(shè)計課程,突出工作過程在課程框架中的主線地位,按照工作過程的需要來選擇知識,以工作任務(wù)為中心整合理論與實踐,培養(yǎng)學(xué)生關(guān)注工作任務(wù)完成,而不是關(guān)注知識記憶的習(xí)慣,并為學(xué)生提供體驗完整工作過程的學(xué)習(xí)機會。
④ 以工作結(jié)構(gòu)為框架:不僅要給學(xué)生具體知識,更要給學(xué)生知識結(jié)構(gòu)。結(jié)構(gòu)是影響職業(yè)能力形成的重要變量,只有當學(xué)生的知識結(jié)構(gòu)與工作中的知識結(jié)構(gòu)相吻合時,才能最大限度地培養(yǎng)學(xué)生的職業(yè)能力。
⑤ 以職業(yè)能力為主線:真正以“能力”為主線來設(shè)計課程。要按照工作的相關(guān)性,而不是知識的相關(guān)性來確定課程設(shè)置。同時要避免把“職業(yè)能力”簡單地理解為重復(fù)的、剛性的操作技能,注重職業(yè)情境中實踐智慧的培養(yǎng),開發(fā)學(xué)生在復(fù)雜的工作關(guān)系中做出判斷并采取行動的能力。
⑥ 以工作情境為支撐:在真實的工作環(huán)境中,結(jié)合企業(yè)的真實項目,學(xué)生分別擔(dān)任不同的職業(yè)角色,在工作情境中學(xué)習(xí)知識、培養(yǎng)能力、鍛煉素質(zhì)。
(2)在教學(xué)內(nèi)容與教學(xué)方法中融入計算思維能力的培養(yǎng)
在教學(xué)內(nèi)容的組織上需要強化學(xué)生的自主學(xué)習(xí)能力和協(xié)助學(xué)習(xí)能力,在選擇項目時考慮到實用性與趣味性。因此,教學(xué)過程中應(yīng)采用多個與真實生活場景密切相關(guān)的項目,如猜數(shù)游戲、成績管理系統(tǒng)、投票系統(tǒng)等多個項目,幫助學(xué)生理解問題的思維過程,并用學(xué)到的編程技能解決問題。而整個課程又以學(xué)生成績管理系統(tǒng)的設(shè)計為主線,通過從項目需求分析到代碼的編寫與調(diào)試,到文檔的編寫,在完成項目的整個過程中構(gòu)建學(xué)生的理論知識體系。
在教學(xué)方法上,注重引導(dǎo)學(xué)生主動思考解決問題,在完成任務(wù)的過程中培養(yǎng)學(xué)生的計算思維能力。比如在“循環(huán)程序設(shè)計”學(xué)習(xí)情境中,要求某個學(xué)生找出坐在第一排的所有同學(xué)中最高的一位同學(xué)。通過完成這樣一個任務(wù),學(xué)生會更有興趣進行思考,對循環(huán)程序的理解也會更加深刻了。再比如講解“數(shù)組”學(xué)習(xí)情境時,可以以實現(xiàn)一個投票系統(tǒng)為任務(wù)要求學(xué)生對幾位候選人進行投票。通過完成這樣的任務(wù)過程,有利于學(xué)生理解數(shù)組所處理的是連續(xù)型數(shù)據(jù),而不是離散型數(shù)據(jù),對數(shù)組會有更深刻的理解??傊诮虒W(xué)方法上以任務(wù)驅(qū)動法為主線,針對不同的學(xué)習(xí)情境,結(jié)合案例教學(xué)法,分組教學(xué)法,演示法等多種教學(xué)方法,培養(yǎng)學(xué)生的計算思維能力,提升教學(xué)效果。
(3)考核方式上強調(diào)計算思維能力的考核
教學(xué)評價是教學(xué)過程中非常重要的一個方面,學(xué)生可以通過教學(xué)評價對自己的學(xué)習(xí)情況有清楚的認知并在今后的學(xué)習(xí)中改進提高;教師則可以全面了解學(xué)生的學(xué)習(xí)效果。因此在課程考核方式上采用過程考核與結(jié)果考核并重的方式。同時更加注重實訓(xùn)與項目完成情況,強調(diào)學(xué)生在分析問題與解決問題中思維能力的考核,避免了傳統(tǒng)教學(xué)中單一的考核評價方式。學(xué)生在整個課程過程中都要有積極主動的態(tài)度才能獲得好成績,真正實現(xiàn)從被動學(xué)習(xí)到主動學(xué)習(xí)的質(zhì)變。
4 結(jié)束語
計算思維能力的培養(yǎng)是計算機教育界面臨的新課題,在高職院校的程序設(shè)計類課程教學(xué)中不能再照搬傳統(tǒng)的教學(xué)方式。融入計算思維能力的培養(yǎng)可以達到更好的教學(xué)效果,培養(yǎng)出更加優(yōu)秀的計算機程序設(shè)計人才。
參考文獻:
[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.
[5] 張敏.以計算思維為導(dǎo)向的C語言程序設(shè)計課程案例教學(xué)法研究[J].微型電腦應(yīng)用,2015.
【通聯(lián)編輯:王力】