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