鄧波 劉紅軍
摘 要: 《C語言程序設(shè)計》課程是本科院校理工類學(xué)生必修的一門基礎(chǔ)課程,該課程在培養(yǎng)學(xué)生思維能力方面發(fā)揮重要作用。本文提出在C程序設(shè)計語言教學(xué)過程中以計算思維為導(dǎo)向,采用任務(wù)驅(qū)動教學(xué)方法,并圍繞培養(yǎng)計算思維這一核心任務(wù)進(jìn)行課程教學(xué)目標(biāo)、內(nèi)容及考核評價體系設(shè)計,取得很好的教學(xué)效果。
關(guān)鍵詞: 計算思維 任務(wù)驅(qū)動 程序設(shè)計
C語言作為一種結(jié)構(gòu)化程序設(shè)計語言,既具有高級語言的優(yōu)點(diǎn),又具有低級語言能夠直接操作底層硬件的特點(diǎn),既適于編寫系統(tǒng)軟件,又方便地用來編寫應(yīng)用軟件。因此,C語言一直在等級考試和實(shí)際應(yīng)用中占有不可或缺的地位。目前,在國內(nèi)高校中程序設(shè)計一類課程教學(xué)模式基本上是以高級語言自身的體系為脈絡(luò)展開的,沒有把邏輯與編程解題思路放在主體地位上,在教學(xué)中過于注重語句、語法和一些細(xì)節(jié)。在教學(xué)中,教師在限定的課堂時間內(nèi)將理論知識灌輸給學(xué)生,讓學(xué)生處于被動接受狀態(tài)。學(xué)生對教師所講內(nèi)容沒有感性認(rèn)識,難以引起學(xué)習(xí)興趣,從而沒有學(xué)習(xí)積極性。因?yàn)閷W(xué)生的學(xué)習(xí)熱情不高,所以即便掌握了這些基本內(nèi)容,也很難靈活創(chuàng)新地運(yùn)用所學(xué)的知識以分析和解決問題。這導(dǎo)致學(xué)生綜合分析能力、創(chuàng)新能力和實(shí)踐能力都有所欠缺,無法滿足社會需要。程序設(shè)計課程,是訓(xùn)練學(xué)生思維能力的一個最直接最重要的平臺,如何在程序設(shè)訓(xùn)一語言教學(xué)的同時教會學(xué)生運(yùn)用計算思維思考問題和解決問題成為今后教學(xué)的重要課題。
1.計算思維概念及特征
計算思維是運(yùn)用計算機(jī)科學(xué)的基礎(chǔ)概念求解問題、設(shè)計系統(tǒng)和理解人類行為等涵蓋計算機(jī)科學(xué)之廣度的一系列思維活動[1]。該概念的提出者是美國卡內(nèi)基·梅隆大學(xué)的周以真教授。周教授認(rèn)為計算思維的本質(zhì)是抽象(abstraction)和自動化(automation)。抽象,即把一個看起來困難的復(fù)雜問題通過簡約、嵌入、轉(zhuǎn)化和仿真等方法重新闡釋成一個個簡單易懂的小問題來求解的過程;自動化,即充分利用計算機(jī)的能力增強(qiáng)海量數(shù)據(jù)的處理能力,從而彌補(bǔ)人的計算缺陷。
計算思維的主要特征:①可行性。計算思維方法是計算思維的核心。計算思維的方法很多,在C程序設(shè)計課程中,各種常用算法及各類問題的求解方法,如迭代法、遞歸法等,都是計算思維方法。而一個完整的算法必須符合相應(yīng)的語法規(guī)則和要求,必須保證每一步的操作都是可執(zhí)行的、沒有歧義的。②明確性。計算思維的目標(biāo)明確,就是為了解決各種實(shí)際問題,它是將實(shí)際生活中的問題以抽象化和程序化的形式表示出來。③重構(gòu)性。計算思維強(qiáng)調(diào)用啟發(fā)式思維尋求解答,利用海量數(shù)據(jù)加快計算,在時間和空間之間,在處理能力和存儲容量之間進(jìn)行權(quán)衡。通過算法過程的構(gòu)造與實(shí)施解決給定問題的一種思維方式。
2.任務(wù)驅(qū)動教學(xué)的概念及優(yōu)越性
任務(wù)驅(qū)動教學(xué)法是基于建構(gòu)主義學(xué)習(xí)理論的一種教學(xué)方法,主要包括“任務(wù)描述”、“任務(wù)咨詢”、“任務(wù)實(shí)施”、“任務(wù)拓展”四個過程?!叭蝿?wù)描述”是提出任務(wù),分析任務(wù)?!叭蝿?wù)咨詢”是給出基本理論,從易到難分解任務(wù)?!叭蝿?wù)實(shí)施”是解決任務(wù)?!叭蝿?wù)拓展”是任務(wù)升級和拓展。這樣學(xué)生不僅能學(xué)到知識、提高技能,而且能培養(yǎng)實(shí)踐動手能力,培養(yǎng)學(xué)生的探索創(chuàng)新精神。學(xué)生在完成任務(wù)的過程中始終處于主體地位。教師的角色是學(xué)習(xí)情景和學(xué)習(xí)任務(wù)的設(shè)計者、學(xué)習(xí)資源的提供者、學(xué)習(xí)活動的組織者和學(xué)習(xí)方法的指導(dǎo)者。
3.任務(wù)驅(qū)動的理論與實(shí)踐教學(xué)模式設(shè)計
根據(jù)專業(yè)課程設(shè)置,《C語言程序設(shè)計》屬于專業(yè)基礎(chǔ)課,學(xué)生學(xué)習(xí)這門課時仍然處在了解計算機(jī)語言及編程的初級階段,有許多最基礎(chǔ)的內(nèi)容要掌握,所以整個課程設(shè)計任務(wù)可以分為如下三個階段。
3.1基礎(chǔ)知識準(zhǔn)備及任務(wù)確定
準(zhǔn)備階段的主要內(nèi)容是學(xué)習(xí)數(shù)據(jù)類型、運(yùn)算符與表達(dá)式等基礎(chǔ)語法及程序的基本控制結(jié)構(gòu),主要是通過課堂講述和作業(yè)的多重訓(xùn)練及一個問題的多種解法加強(qiáng)語法知識點(diǎn)的掌握和訓(xùn)練,同時引入一些常見的解題算法開闊學(xué)生編程的思路。在此階段,教師的功能是對程序結(jié)構(gòu)設(shè)計提供多種思路,對語法點(diǎn)進(jìn)行歸納總結(jié),對上機(jī)情況進(jìn)行指導(dǎo),對作業(yè)進(jìn)行評改總結(jié)。任務(wù)驅(qū)動教學(xué)法還需要解決的是確定任務(wù),選擇與當(dāng)前學(xué)習(xí)主題密切相關(guān)的真實(shí)性事件或問題(任務(wù))作為學(xué)習(xí)的中心內(nèi)容,讓學(xué)生面臨一個需要立即解決的現(xiàn)實(shí)問題,在授課開始提出問題指出該問題的難點(diǎn),圍繞授課內(nèi)容引導(dǎo)學(xué)生進(jìn)行思考,任務(wù)設(shè)計直接影響教學(xué)效果,一個較好的任務(wù)不僅要用到已學(xué)的知識點(diǎn),而且要引出新的內(nèi)容。
3.2任務(wù)牽引
任務(wù)牽引階段的主要內(nèi)容包括C語言結(jié)構(gòu)、變量、常量、數(shù)組、函數(shù)、指針、結(jié)構(gòu)在這一階段將通過大量任務(wù)的完成熟悉主要內(nèi)容,同時鞏固第一階段的成果,該階段任務(wù)的設(shè)計至關(guān)重要,原則是既要使學(xué)生由切入點(diǎn)動手,又要讓各章的任務(wù)之間有聯(lián)系點(diǎn),使學(xué)生形成系統(tǒng)的整體概念,同時應(yīng)當(dāng)在其中包含一些基本的算法,比如利用數(shù)組排序等在此階段,教師以導(dǎo)師的身份出現(xiàn),引導(dǎo)學(xué)生參與到各任務(wù)中,為學(xué)生提供計算思維思想支持,并側(cè)重檢查任務(wù)完成情況,適時為學(xué)生歸納,總結(jié)編程技巧和語法知識。
3.3課程設(shè)計
課程設(shè)計的目標(biāo)是通過綜合應(yīng)用,對C語言程序設(shè)計課程進(jìn)行總結(jié)和提高前階段的學(xué)習(xí),通過一個課程設(shè)計的完成達(dá)到對整個學(xué)習(xí)進(jìn)行鞏固、測試和驗(yàn)收,本階段以學(xué)生的自主開發(fā)為主,學(xué)生可引用前面訓(xùn)練過的任務(wù),也可通過其他途徑查找資料,借鑒各種現(xiàn)成的資料,促使各位學(xué)生自覺利用網(wǎng)絡(luò)和圖書館輔助課程的學(xué)習(xí)。
4.完善教學(xué)評價策略
基于目前教學(xué)改革現(xiàn)狀,在《C語言程序設(shè)計》課程教學(xué)評價過程中,采用無紙化的考試方式是比較客觀、公正的手段,通過考試以檢測學(xué)生對理論知識及實(shí)踐知識的掌握程度,得到一個期末測試成績,僅筆試是達(dá)不到目的的,但這個成績只占總成績的70%。另外是作業(yè)和平時成績,通過對每位同學(xué)平時考勤、作業(yè)、任務(wù)完成情況的評價給出一個平時成績,占總成績30%。因?yàn)閷?shí)踐是大學(xué)生創(chuàng)新實(shí)踐能力培養(yǎng)的關(guān)鍵,完善的實(shí)踐評價機(jī)制體現(xiàn)公平、公正性,有助于督促和激勵學(xué)生,挖掘?qū)W生主動實(shí)踐的潛能。
通過多年實(shí)踐證明,與傳統(tǒng)教學(xué)模式相比,任務(wù)驅(qū)動教學(xué)模式優(yōu)勢明顯。以任務(wù)為驅(qū)動的教學(xué)模式不但充分促進(jìn)了師生互動,而且培養(yǎng)了學(xué)生的自主學(xué)習(xí)習(xí)慣,提高了學(xué)生分析問題和解決問題的能力,讓計算思維的思想得以充分應(yīng)用,提高了學(xué)生的學(xué)習(xí)興趣,為將來把計算機(jī)與自己的專業(yè)有機(jī)銜接建立一個良好鋪墊。隨著教學(xué)改革的不斷深入,這種基于計算思維的任務(wù)驅(qū)動在C程序設(shè)計教學(xué)模式中將得到更廣泛的應(yīng)用。
參考文獻(xiàn):
[1]李廉.計算思維概念與挑戰(zhàn)[J].中國大學(xué)教學(xué),2012(1):9-14.