梁永恩 萬世明 翟敏煥
摘 要: 針對傳統教學模式中理論教學和實踐教學脫節(jié)的問題,結合C語言程序設計課程與應用技術類專業(yè)學生的學習特點,采用“教學做”一體化教學模式進行C語言程序設計教學實踐。從教學場所、教學方案、考核方案、教學實施等方面進行研究。實踐表明,這種教學方式有助于提高學生的實踐能力和綜合素質。
關鍵詞: 教學做; C語言; 教學模式; 程序設計
中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2015)06-71-02
Abstract: Aiming at the drawbacks in the traditional teaching mode with which the theory teaching is divorced from the practice teaching, combined the characteristics of university students of applied science with the characteristics of C language programming course, the teaching practice of C language programming course is performed in a "teaching-studying-doing" mode, while the teaching site, teaching plan, assessment program, and implementation of teaching are studied. Practice shows that, this teaching method is helpful to improve the students' practical ability and comprehensive quality.
Key words: teach-study-do; C Language; teaching model; programming
0 引言
教育部副部長魯昕2014年3月22日在中國發(fā)展高層論壇上表示,教育部將做600多所地方本科高校向應用技術、職業(yè)教育類型轉變的工作。廣東白云學院于2013年入選“應用科技大學改革試點戰(zhàn)略研究”項目組。應用科技大學改革試點戰(zhàn)略研究項目是教育部為加快發(fā)展現代職業(yè)教育,建設現代職業(yè)教育體系,探索“產學研一體、教學做合一”的應用型人才培養(yǎng)模式,促進地方本科高校轉型發(fā)展而設立的重點研究項目。廣東白云學院自2013年9月起就開始進行了一體化教學模式改革的探索。C語言程序設計課程作為全校理工類非計算機專業(yè)學生的計算機基礎課程,被列入學校首批一體化課程建設試點項目。
1 課程概況
C語言是國際上廣泛流行的一種通用編程語言,具有語法簡潔、運算符豐富、數據類型豐富、語法結構不嚴格、功能強大、適用范圍大的特點[1]。它適合作為系統描述語言,既可用來編寫系統軟件,也可用來編寫應用軟件。它是一種理想的結構化程序設計語言,后期的許多語言都直接或間接地借用了C語言的控制結構和基本特征。因此,很多學校都把它作為理工類非計算機專業(yè)學習程序設計的第一門課程。
應用技術大學的學生相對而言理論基礎較弱,對邏輯性、推理性知識的接受方面存在一定的局限性,但他們思維較活躍、動手操作積極性高、上手快。傳統的教學模式以課堂理論教學為主,實踐教學為輔,實驗課時往往只占總課時的25%甚至更少,且一般采用先理論后實踐的教學模式,造成理論與實踐脫節(jié),同時由于C語言內容較為抽象、邏輯性強、使用靈活,尤其是數組、指針、結構體等內容難點較多且容易出錯,學生在有限的實踐課中難以掌握實際編程的應用,亦難以加深對理論知識的理解,學生感到課程枯燥乏味,教學效果不盡如人意。
2 教學做一體化模式的引入
“教學做”一體的教學模式將教師的課堂理論講授、學生的聽課學習和實訓實驗三者融為一體 [2-3],這種教學模式改變了傳統的單向灌輸的教學方式,體現了“以人為本”的教學理念,教學以學生為中心,強調教學過程的實踐性,教師的“教”與學生的“學”都是以學生的“做”為中心,學生在做中學,學中做。
C語言程序設計課程教學的目的是學生掌握運用C語言解決實際問題的編程能力,強調會“做”,而不是局限于掌握C語言的基本語法規(guī)范,“教學做”一體的教學模式非常契合這一要求。在這種教學模式中,理論教室和實踐場地融為專業(yè)教室或實習車間,師生雙方在邊教、邊學、邊做中完成教學任務,將理論學習與實際訓練緊密結合起來,大大提高了學生自主學習的興趣,有利于提高學生動手能力和綜合素質。
3 “教學做一體化”方案與實施
3.1 教學場所
“教學做”一體化教學模式的實施需要合適的教學場所。我校對計算機中心進行了大規(guī)模的改造,現在大部分機房都具備多媒體教學、學生實驗實訓、考證強化訓練等一體化教室的功能。為使學生熟悉主流的開發(fā)平臺,采用Visual Studio 2010作為本門課程的開發(fā)工具。同時,為拓展學生的視野,了解企業(yè)的實際工作環(huán)境,可在課外帶學生參觀相關的校外實習基地,了解行業(yè)的最新動態(tài)。
3.2 教學方案設計
課程的設計以學生的“做”為中心,著重于培養(yǎng)學生用C 語言解決實際問題的編程能力,通過“教”、“學”、“做”,將理論知識和實際技能相互融合。采取“任務驅動”和“模塊教學”的方式[4],提高學生的自主學習性。教學內容組織上由淺入深,由簡單到復雜,循序漸進。將教學內容劃分為11個模塊,每個模塊有若干個主任務,同時設有與每個主任務相關的若干個關聯任務,用以鞏固該模塊的學習以及擴展學生的思路,完成每個任務就是完成一個項目。學生在完成項目的過程中逐步學習C語言的基本概念、數據類型、運算符與表達式、程序設計方法、數組、函數、指針、結構體等的應用。
3.3 考核方案
以往,C語言程序設計的考核以期末理論考試為重點,實驗成績只占很小的比例,這種考核方式使學生往往把精力放在期末的理論考試中,只是將C語言作為一門應試課程,學習的重點放在C 語言的基本語法規(guī)范,而忽略了學習C語言的目的。因此, 應加強過程考核的比重,從多個方面對學生進行考核。本課程總評成績的構成為:過程考核(40%)+期末理論考試(30%)+期末上機操作考試(30%)。其中過程考核由三部分構成:作業(yè)和考勤(20%)+模塊實驗成績(50%)+實驗報告(20%)。
除此評價標準外,引導學生學習編程,探索學分置換計劃:①通過全國計算機等級考試(2級C語言)的學生可免試獲得該課程的學分,同時可將考級的成績按一定的標準轉換為課程的最終成績;②獲得全國軟件和信息技術專業(yè)人才大賽省賽(軟件類C、C++組別)三等獎及以上的學生可免試獲得該課程的學分,同時可將獲獎等級按一定的標準轉換為課程的最終成績。
3.4 實施與效果
教學過程中把握一個“教中做,做中學”的原則。以指針模塊為例,該模塊有4個主任務,每個主任務包含不同的知識點。任務1“指針的簡單應用”的知識點是指針的概念及指針的基本操作;任務2“用函數實現數據交換”的知識點是指針作為函數的參數的應用;任務3“打印最高分”的知識點是指針與數組的關系;任務4“用指針實現回文串的判斷” 的知識點是指針與字符串的關系。教學中采用一體化教學、任務驅動、項目導向的原則,在介紹了指針的基本知識后提出任務“用函數實現兩個數的交換”,教師首先演示不使用函數的方式實現兩個整數交換,然后再改用函數的方式(用簡單變量作為參數)實現交換,提出以下問題讓學生思考并查找答案:
⑴ 該程序能否實現兩個數的交換;
⑵ 子函數內部是否實現了兩個數的交換;
⑶ 形式參數和實際參數的地址是否一樣。
學生帶著這些問題調試該程序,會發(fā)現該程序并不能實現兩數交換。接下來老師講解指針作為函數的參數的特點,提出指針按地址傳遞的概念,明確“指針就是地址,地址就是指針”。然后,引導學生使用指針作為函數的參數實現這一任務,再讓學生回答上面的三個問題,加深學生的理解。最后提出兩個關聯任務讓學生完成:
⑴ 不使用函數,利用指針實現兩個數的交換;
⑵ 用函數和指針實現3個數由大到小排序。
實踐表明,這種教師邊講授,學生邊做,師生共同探索研究的方式有助于提高學生的學習興趣及加深學生對程序的理解,可以有效促進學生編程能力的提高。在2014年全國軟件和信息技術專業(yè)人才大賽省賽中,我校獲得了一等獎2人次、二等獎3人次的好成績。
4 結束語
“教學做”一體的教學模式將實踐教學與理論教學有機結合,符合學生的認知特點,激發(fā)了學生的學習熱情,提高了學生的自主學習積極性,從而提高了課程的教學效果。在一體化教學過程中,教師可以及時了解學生的學習狀態(tài),加深對教學的理解,亦有助于提高教師的教學水平。
參考文獻:
[1] 譚浩強.C程序設計計(第四版)[M].清華大學出版社,2012.
[2] 嚴希清,陳紅艷.基于工作過程的“教學做”一體化教學模式探索與實
踐[J].職業(yè)教育,2009.4:149-150
[3] 王祎,任曉鵬,任曉鯤.IT類課程教學做一體化模式的內涵建設研究[J].
教育與職業(yè),2010.11:86-87
[4] 李軍.“教、學、做”一體化任務驅動型高技能教學模式構建[J].職業(yè)技
術教育,2009.8:39-40