黃 超 張 偉 馬懷志
(棗莊學院信息科學與工程學院,山東 棗莊277160)
隨著我國社會經(jīng)濟與產業(yè)的快速發(fā)展,中國已成為世界制造中心迫切需要高校培養(yǎng)出大量的適應實際工作需要的不同層次的應用型人才。為適應經(jīng)濟社會發(fā)展的需求,適應國家對應用型人才培養(yǎng)的要求,近幾年來很多院校正在自覺地向“應用型本科”轉型發(fā)展。根據(jù)應用型本科以培養(yǎng)應用型本科人才為主的特點,C語言程序設計學科教學如何向應用型教學轉型,進一步提高課程的教學質量是程序設計課程教學改革的核心任務。
C語言程序設計是一門理論性、實踐性、應用性很強的重要基礎課程。課程主要介紹C語言程序設計的概念、方法及某種C語言的語法、語義與語用。通過C語言程序設計課程的學習能夠提高學生分析問題、解決問題的能力,以及計算思維的能力;還可以培養(yǎng)和提高程序設計、開發(fā)能力,進一步了解計算機的工作原理,掌握用計算機解決實際問題的思想和方法,因此,程序設計課程教學是一項十分復雜且重要的工作。為了實現(xiàn)應用型程序設計課程的教學目標必須進行課程教學改革,課程教學改革涉及到教學過程的各個環(huán)節(jié)、教學系統(tǒng)的方方面面,諸多問題要從“應用型本科”這一視角,用系統(tǒng)的思想、方法去分析解決。
(1)目前,傳統(tǒng)的C語言程序設計課程的建設水平、教學模式、教學方法、教學質量等與“應用型本科”的人才培養(yǎng)規(guī)格的要求存在較大差距。
(2)面向“應用型本科”的C語言程序設計課程的教學大綱、課程標準、教材、教學資源、師資隊伍等需要研究、建設、優(yōu)化。
(3)上機實驗、實踐教學環(huán)節(jié)比較粗放,需要根據(jù)“應用型本科”的要求進行探索與改革。
傳統(tǒng)教學中常常重理論教學和知識傳授,輕實驗教學及能力培養(yǎng)。加之對上機實驗課沒有給予足夠重視,實驗內容的設定存在隨意性,對實驗課教學要求松懈。常常造成學生輕視、應付實驗課的現(xiàn)象:操作訓練淺嘗輒止,不能很好地通過上機實驗來理解、消化課堂所學的內容,實驗報告的抄襲現(xiàn)象屢見不鮮。
(4)網(wǎng)絡教學資源不完善,網(wǎng)絡課程平臺的作用尚未充分發(fā)揮。
(5)課程成績考核方式形式單一,需要完善、改進。
C語言程序設計的實驗成績的評定存在諸多不規(guī)范現(xiàn)象,上機實驗教學過程及成績的評定存在較大的隨意性,缺乏對考核的內容、形式及方法的深刻認識與規(guī)范有效的措施。
(1)完善的應用型師資培養(yǎng)計劃,創(chuàng)造外出學習、進修、到對口企業(yè)掛職、參加學術會議的機會和條件。
(2)加強集體備課、聽評課等教研活動。
(3)進行教學案例的設計與開發(fā)。
教學理念轉變到應用型教學上,學習的主要目的在于應用;檢驗課程教學質量高低的標準,是“能不能應用”而不是“知道不知道”。
傳統(tǒng)的C語言程序設計課程教學主要采用的是灌輸式的教學方式,傳統(tǒng)的課程教學三部曲:提出概念 -解釋概念-舉例說明。這種教學模式下學生一般很少會主動思考問題,獨立完成編程設計。教師在教學過程中應該根據(jù)專業(yè)和課程的特點,按照新的“提出問題 -解決問題-歸納分析”課程教學三部曲進行教學。通過采用多元化的綜合性教學方法,提高對學生基礎理論知識以及基本編程技能的訓練。對于有一定難度的主題(函數(shù)、指針、文件)采用增量遞進的方式,按先基本內容,后C內容的次序實施教學;可以通過實際操作或采用案例教學法等多種方式與多媒體結合,提高學生學習積極性。在C語言程序設計教學中,應該精心進行教學設計,充分調動學生的主觀能動性,注重對學生的啟發(fā),對整個教學過程進行全方位的控制;還要注意引導學生進行角色的轉變,選擇一些有趣的實例充實在教學過程中,讓學生充分了解C語言程序設計課程的作用與魅力。
根據(jù)C語言程序設計課程的定位及培養(yǎng)目標要求在充分調研論證的基礎上,科學合理地制定課程的知識、能力、素質要求。圍繞對應用型人才的知識、能力和素質的要求,考慮到與專業(yè)領域的交叉、融合。充分考慮應用型課程的教學特色,理論知識要夠用,注重理論聯(lián)系實際,突出實用性。
教師在課程教育的課程中,應該將教材進行分解、處理,將每個單元的內容凝結為一個知識點進行講解。由于C語言程序設計的概念較多容易混淆,所以,教師在教學過程中,采用案例教學法。案例教學法從簡單的例子入手分析,然后通過引入相關的知識點對其進行解決。例如,在C程序設計課程的教學中,簡單的程序設計,可以通過講解“四則運算器”、“學生成績統(tǒng)計”等例子,向同學們重點講解數(shù)據(jù)輸入和輸出以及數(shù)據(jù)的表示。關于較難的知識點,如,函數(shù)與過程程序設計,可以通過講解“哥德巴赫猜想”或是“進位制轉換”等實例,加深學生對內容的理解。通過“面向應用、案例驅動、精講多練”的方式培養(yǎng)知識的集成和實踐的應用能力。教學過程中應該針對不同的授課對象以及教學內容本身的特點,對教學內容進行精選,采取適當有效的教學方法。
通過團隊制教學、實踐性教學、項目制教學、開放式教學培養(yǎng)學生的自主學習能力。嘗試、綜合使用任務驅動教學、案例教學法、基于問題的教學、分層次教學等適合于程序設計教學的教學方式,實現(xiàn)有效教學。
C語言程序設計是一門操作性、實踐性很強的課程,不僅要掌握其基本理論,還要擁有較強的應用操作能力;教學中,需要著重培養(yǎng)設計、編寫程序和調試程序的能力。實驗前教師應該明確上機實驗任務、內容,將實驗任務按驗證型、設計型、綜合型進行能力層次分類,有的放矢地實現(xiàn)有效的能力梯度訓練。向學生講解在課堂上應該完成的內容和要求。上機時,通過輸入程序并運行,同時對運行結果進行檢查,實驗結束后,完成相應的實驗報告;報告的重點應該是對程序調試的過程以及經(jīng)驗總結。上機調試程序不僅能夠促進應用能力的提高,還可以對程序設計有一個更深入的理解;通過上機中還能夠發(fā)現(xiàn)學習中存在的缺陷并進行改正。教師在對學生進行實驗指導時,要引導學生先自主解決問題,激勵解決遇到的挑戰(zhàn)性問題,對學生不能解決的問題再給予及時的點撥。
實踐教學是培養(yǎng)學生實踐能力、職業(yè)素養(yǎng)及創(chuàng)新能力的重要途徑,C語言程序設計課程教學應該加大實踐性的教學環(huán)節(jié),在課堂上盡量精簡,提高實踐的比重。編程實踐從實踐應用的角度引導學生進行學習,在實際的教學過程中,教師應該先提出需要解決的問題,讓學生明確目標任務、需求。加強編程實踐教學環(huán)節(jié),應該要充分調動學生的自主學習能力。增加學生的實踐環(huán)節(jié)可以從以下幾個方面進行:
(1)增加自主實踐的課時,培養(yǎng)編程興趣及自主學習、解決問題的能力。
(2)加大課程設計與大作業(yè)等訓練環(huán)節(jié),課程設計要抓實,選題能突出綜合應用能力,培養(yǎng)知識的整合能力和綜合分析能力。
(3)探索實施開放性C語言程序設計實驗。給學生提供開放性實驗的條件與問題,使學生學會獨立思考和分析問題,根據(jù)實際的問題要求學生制定自己的學習與實驗計劃;通過這些方式,不僅提高了學生學習的積極性,培養(yǎng)學生的動手能力而且還培養(yǎng)了學生的自主探究能力。
充分考慮應用型程序設計課程的教學特點,理論知識要夠用,注重理論聯(lián)系實際,突出實用性。注重培養(yǎng)自主學習能力,將探究性學習、協(xié)作性學習貫穿于教學過程中。
根據(jù)教學與認知規(guī)律從培養(yǎng)程序設計的興趣、思維、工程意識、動手編程能力以及解決實際問題等方面入手,對教材、教學內容、課后練習與實踐、上機實驗任務、課程設計等教學環(huán)節(jié)進行系統(tǒng)的設計、優(yōu)化,使上述各個方面形成有效的整體。圍繞教學目標與要求及時更新優(yōu)化教學內容,在選用好教材的同時,教師應積極編寫符合應用型教學需要的高質量教材及配套的實驗教材。針對不同學生的學習進度制定不同層次的學習任務實現(xiàn)因材施教。壓縮空洞的理論知識,突出重點并輔以代表性的實例進行講解。
為了更好地體現(xiàn)C語言程序設計課程對于學生的軟件開發(fā)能力培養(yǎng),在程序設計課程群建設中重組了計算機導論、離散數(shù)學、程序設計、數(shù)據(jù)結構和計算機算法設計與分析五門課程的內容,挖掘課程間的拓撲關系,突出問題求解主線,形成新的“計算機問題求解”課程教學模式。
在教學中充分利用多媒體、網(wǎng)絡等現(xiàn)代化的教學技術手段輔助教學;在教學中適當?shù)厥褂糜嬎銠C輔助教學。課堂上可以將一些優(yōu)秀的、典型編程實例通過多媒體課件展示出來,通過該種方式,不僅可以讓學生對所學的課程有一個直觀地了解,而且還能活躍課堂氣氛,提高學生的積極性。另外,還要不斷的探討和研究新的教學方式,在實際的教學過程中采用多種教學方式相結合的方式,才能夠促進教學質量的提高。在教學過程中,除了對學生進行教學指導之外,還需要提高教師運用現(xiàn)代化教育技術的能力以及制作多媒體課件的水平,通過運用黑板、多媒體課件以及實際操作三個方面相結合的教學方式,提高課堂的教學效率。
教學實施過程中,充分利用網(wǎng)絡平臺開展網(wǎng)絡教學、網(wǎng)上答疑、試題庫建設、自主學習,有效地解決學生學習中的問題。在對教學內容改革的過程中,還要注重整合建設與C語言程序設計課程相關的教學資源,構建和完善教學資源數(shù)據(jù)庫。開發(fā)網(wǎng)路環(huán)境下的精品課程網(wǎng)站、網(wǎng)上教學平臺、計算機等級考試系統(tǒng)以及多媒體學習課件。并且經(jīng)常完善和更新計算機等級考試的題庫,為教學活動提供豐富的教學資源。
據(jù)統(tǒng)計分析:人在職場中用到的知識約10%-20%是在學校學得的,80%-90%是在職業(yè)實踐中習得的,程序設計能力也必須從編程實踐中獲得。大量有組織的程序設計實踐活動特別是創(chuàng)新實踐,不僅是學生接受學習、增長才干的過程,而且是對應用型人才程序設計能力培養(yǎng)更為重要的實戰(zhàn)過程。
課程考試主要的目的就是對學習分析問題的能力以及解決問題的能力進行有效的測試,傳統(tǒng)的考試方法主要采用筆試,該方式已經(jīng)不能滿足C語言程序設計編程能力考核的要求,考核內容應該全面包括:理論知識、動手編程能力、程序調試技能及學習過程表現(xiàn)等多個方面。幾年來,對筆試與上機實驗成績的考核與評價進行了有益的嘗試。
(1)規(guī)范、多樣的考核方式。采用了筆試、上機實驗考試、答辯成績、綜合應用能力及平時成績相結合的模式,對于各種類型的考試,都先行研究制定了評分、評價標準,在判分的過程中有章可循,使考核達到到科學、規(guī)范、公正、公開、可操作性強的目標。
(2)做好上機實驗、操作能力的成績評定。課程考核應該采取過程目標控制的方式,按照學生的理解能力和學習能力進行考核,做好實驗過程的監(jiān)控與實驗任務的驗收與成績的評定記錄。操作能力評定不能認為學生將正確的答案寫出來就是已經(jīng)完全掌握了,只有通過上機實驗過程分析,才能準確的把握學生的學習情況。
(3)與職業(yè)認證接軌,課程教學要面向職業(yè)需求,鼓勵參加相應的認證,將認證情況納入課程成績。
(4)適當融入程序設計能力模塊化測試與競賽式考核方式
將課程教學內容,按照程序設計能力遞進的方式劃分為:簡單程序設計模塊,選擇結構程序設計模塊,循環(huán)結構程序設計模塊,數(shù)組與指針模塊,復雜數(shù)據(jù)結構模塊,綜合應用程序設計模塊。在教學過程中,依次對能力模塊進行測試。
為了提高學生的動手操作能力以及編程能力,可以定期舉行相應的程序設計比賽,并納入學生的課程考核中。比賽內容可以是一個小型的應用程序,要求學生在規(guī)定的時間內按照特定的要求完成;程序完成后,教師逐一運行這些程序并根據(jù)程序完成的質量好壞,評定相應的分數(shù)。也可以參加相應級別的程序大賽或國際大賽,比賽成績納入課程考核中。
通過“應用型本科”視角分析了C語言程序設計課程教學存在的問題,理清了解決這些教學問題的突破口,要解決應用型程序設計課程教學中存在的的問題,要改變傳統(tǒng)的教學觀念、優(yōu)化教學內容、教學模式,綜合使用多種教學方法,激發(fā)學生的學習興趣和積極性,采用案例主題式,精講多練啟發(fā)式的教學方式;同時還要面向應用兼顧職業(yè)發(fā)展進行編程實踐訓練,注重培養(yǎng)學生的自主學習能力。充分利用現(xiàn)代教育技術加強課程建設,利用先進的教學技術手段、完善教學過程、改革考核方式。實踐證明:通過C語言程序設計課程的教學探索與實踐,教學質量顯著提高,在考研測試、程序設計競賽中取得了優(yōu)異成績。如何在課程教學中有效地進行應用型人才培養(yǎng)?這項工作還需進行深入的研究與實踐,希望更多的專業(yè)教師能投入到該課題研究中,為我國應用型本科C語言程序設計課程的改革與建設做出更大的貢獻。
[1]韓立毛,范新明,徐秀芳.應用型本科院校“程序設計基礎”課程的教學模式研究與實踐[J].計算機教育,2010,02:128-131+143.
[2]袁傳懷.高級語言程序設計課程教學方法的探究[J].科技資訊,2010,34:152-153.
[3]丁海燕,袁國武,周小兵.高級語言程序設計案例教學模式的探討[J].計算機教育,2011,08:65-68.
[4]胡燕,嵇啟春,張建英.應用型本科C語言程序設計課程教學改革[J].中國冶金教育,2011,05:32-33+35.
[5]劉霞,劉志明,羅江琴.高級語言程序設計課程教學改革的研究[J].軟件,2012,02:89-91.
[6]鄭云翔,鄭天翔.高級語言程序設計課程教學改革和效果分析[A].華中師范大學.ProceedingsofConferenceonCreativeEducation(CCE2011)[C].華中師范大學:,2011:4.
[7]連雁平.應用型本科院校程序設計課程實踐教學改革[J].內江師范學院學報,2013,08:88-91.
[8]黃超.基于任務驅動模式的C語言程序設計教學探究[J].棗莊學院學報,2008,05:91-93.
[9]黃超.談題庫建設[J].棗莊師范??茖W校學報,2002,05:?94-96.
[10]黃超,孫寶玉.多媒體課件制作存在的問題及對策[J].職教論壇,2009,06:54-57.