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