李輝+劉放美+蔡增玉+馬琳琳
DOI:10.16644/j.cnki.cn33-1094/tp.2016.09.023
摘 要: 根據(jù)“卓越工程師教育培養(yǎng)計劃”的精神和我校網(wǎng)絡工程河南省“專業(yè)綜合改革試點”項目的實際需求,分析了當前C語言程序設計在教學過程中的一些不足,提出了教學中亟待解決的問題。提出面向卓越工程師培養(yǎng)的C語言程序設計教學改革方案,包括理論教學、實踐教學、考核方式、師資隊伍建設等。實踐表明,該方案能有效提高C語言程序設計的教學效果。
關(guān)鍵詞: 卓越工程師; C語言; 教學改革; 教育
中圖分類號:G642.0 文獻標志碼:A 文章編號:1006-8228(2016)09-80-03
Teaching reform of C language programming for outstanding engineers training
Li Hui, Liu Fangmei, Cai Zengyu, Ma Linlin
(School of Computer and Communication Engineering, Zhengzhou University of Light Industry, Zhengzhou, Henan 450002, China)
Abstract: According to the spirit of "the plan for educating and training outstanding engineers" and the practical requirement of the Henan Province "professional comprehension reform pilot" project of network engineering in our university, the disadvantages in current teaching process of C language programming are analyzed, and problems to be urgently solved in teaching are put forward. The C language programming teaching reform program for outstanding engineers training is proposed which includes theoretical teaching, practical teaching, assessment method, and teaching staff construction and so on. Practice shows that the program can effectively improve the teaching effect of C language programming course.
Key words: outstanding engineers; C language programming; teaching reform; education
0 引言
C語言程序設計課程是信息類專業(yè)最重要的課程之一,它是學生進入編程課堂的敲門磚。該課程包含了C語言基本的語法和程序設計的基本思想。學好C語言,不僅學習其他語言會更容易,還能建立起學習編程的信心。
C語言程序設計課程在信息類專業(yè)教學中具有關(guān)鍵地位,很多專家學者對該課程的教學改革方案進行了探索,并取得了很多成果[1-5]。本文以“卓越工程師教育培養(yǎng)計劃”為指導,結(jié)合我校的河南省“專業(yè)綜合改革試點”項目,以培養(yǎng)學生能獨立編程為目標,提出了C語言程序設計的改革方案,并進行了實踐。實踐表明,本文提出的面向卓越工程師培養(yǎng)的C語言程序設計教學改革能夠很好的提高該課程的教學效果。
1 C語言程序設計教學中存在的問題
目前C語言程序設計課程的教學主要分兩個部分:課堂上教師講授理論知識;實驗課練習已學習的內(nèi)容。隨著學習的深入,學生越來越能感覺到C語言程序設計與編程的重要性。很多學生反映,如果大一學習C語言程序設計時能更精通些,在學習其他語言或技術(shù)時,就更容易上手。C語言程序設計學習的目標不僅僅是了解語法,更多的是把學到的語法應用到實際問題中,得心應手地運用這知識。雖然現(xiàn)在C語言程序設計的教學比十年前已經(jīng)在很多方面有了改進,但仍存在一些亟待解決的問題。
1.1 理論教學中的問題
傳統(tǒng)課堂講授模式就是照本宣科,按照PPT上的語法一步一步講。但是,語法結(jié)構(gòu)比較抽象和枯燥,需要一定的想象力。有些學生可能還不怎么熟悉計算機,直接講這么抽象的東西可能接受不了。這種講法不僅不能培養(yǎng)學生編程的興趣,而且程序一復雜就跟不上進度,打擊了學生對編程的信心。
另外,C語言程序設計教學內(nèi)容比較多,包括循環(huán),數(shù)組,函數(shù),指針,結(jié)構(gòu)體,文件等[6-7]。學生往往在學到函數(shù)的時候就感到力不從心,現(xiàn)要不斷鞏固之前的知識,又要學習新的內(nèi)容。
1.2 實驗教學中的問題
上機實驗時,程序運行錯誤,學生往往檢查不出語法錯誤,就常常問教師。結(jié)果卻發(fā)現(xiàn)自己犯的都是低級錯誤,有些邏輯上不通順,有些少了些符號。但是,這些貌似小錯誤,自己卻檢查不出來,在教師的提醒下才恍然大悟。
平時實驗課的內(nèi)容往往是練習課堂上講的語法,只會對題做題,在具體的項目中卻得不到很好的實踐,練習效果不是很理想。
1.3 考核方式不夠合理
C語言程序設計的考核成績由平時成績和期末筆試成績兩部分組成,而忽略了動手能力及實際編程能力。
2 面向卓越工程培養(yǎng)的多媒體技術(shù)教學改革方案
2.1 理論教學改革
⑴ 授課方式
我們探索授課方式改為講語法和實際操作并行,講到一個重要語法時,在電腦上模擬一下程序,讓學生更直觀地看到語法運行的結(jié)果。這樣不僅能使學生印象深刻,更能使他們對編程產(chǎn)生興趣。嚴謹而科學的授課方式往往能使學生們更加容易接受,學生在課堂上能看到語法的運行,也更容易在課下實踐出來。
⑵ 講授內(nèi)容
將講授內(nèi)容的重點放在算法上,重點講循環(huán),數(shù)組和函數(shù)。指針應該了解即可,因為在以后的學習當中,指針確實不太常用,具體的項目工程中,也很少用到關(guān)于“指針”的知識。一味地學習語法細節(jié),容易忽略算法的練習和鞏固,一個沒有算法支撐著的語法框架是沒有意義的。
2.2 實踐教學改革
⑴ 課堂實驗方式
一個好的程序員,要會寫程序,也要會找程序中的bug。實驗課上,調(diào)試程序是重要內(nèi)容,教師要注重引導學生學會怎樣尋找程序中的bug,學生掌握了糾錯的方法,不僅能提高編程的獨立性,更能培養(yǎng)他們的創(chuàng)新精神。即使一個程序花了一個小時調(diào)試才得以解決,而收獲到的可能比沒出錯還要多。
⑵ 創(chuàng)新性實驗
上機課的實驗可以選擇幾個具體項目的程序,讓同學感受一下學習的語法在實踐中的具體應用。在具體的項目中更能開發(fā)學生的智慧,激發(fā)他們的創(chuàng)造力。學生們學習語法,往往體會不到自己學到的知識該怎么用,該在實際項目中起到什么作用。這時,如果能加以正確的引導和激勵,必然更能使他們信心得到提高。
2.3 考核方式改革
傳統(tǒng)的C語言程序設計考核方式,就是平時成績(30%)加上期末的筆試成績(70%)。忽略了學生動手能力和實際應用能力考核,這不能激發(fā)學生的主觀的能動性,也會降低他們以后學習編程的積極性。為改變這種現(xiàn)狀,首先把筆試部分改成上機考試,這樣既能鍛煉學生實際動手能力,更能考驗他們獨自編程調(diào)試能力;另外增加創(chuàng)新性實驗和項目,作為總成績的重要組成部分。
⑴ 以往平時成績包括:出勤率,課后作業(yè)的上交量和課堂回答問題的情況。在此基礎(chǔ)上,我們增加了學生完成并上交程序的質(zhì)量和效率。
⑵ 創(chuàng)新性實驗目的是培養(yǎng)能獨自編寫程序的優(yōu)秀工程師。據(jù)此,我們上機課期末考試的標準是觀察一個學生能否編寫并運行出完整的程序。根據(jù)其編寫程序的運行形況、編寫用時,以及程序出錯率來給定分數(shù)。
⑶ 為了鼓勵學生積極編程,需考慮各種程序競賽參與程度及獲獎情況,并在期末成績中給予加分。適當?shù)墓膭畈粌H能增加學生對編程的熱愛,更能營造出學習的氛圍,有利于學校的學風建設。
2.4 師資隊伍建設
⑴ 校內(nèi)教師隊伍
根據(jù)我校C語言程序設計任課教師的情況,我們組建了固定的教師隊伍。教師隊伍在每個學期的結(jié)尾都會全面總結(jié),并規(guī)劃出下一個學期的教學計劃和實訓計劃。
同時我們也正在加強教師們的思想交流,定期舉辦交流會,總結(jié)問題,進行學術(shù)研究和交流。將教師隊伍為為幾個小組,每個組都有一個資深和經(jīng)驗豐富的骨干教師帶領(lǐng)。通過開展課程建設、教學示范、教材編寫、課題研究、教學指導等工作,帶領(lǐng)新的教師入門。
從目前的發(fā)展來看,我們教師隊伍更傾向于接納年輕的教師,他們的加入為教師隊伍注入了活力,同時有利于培養(yǎng)骨干教師,造就拔尖人才。通過不斷的改進,整個隊伍的年齡結(jié)構(gòu),學歷結(jié)構(gòu),學緣結(jié)構(gòu)逐年優(yōu)化,正在形成一支整體水平較高、充滿活力、適應學校事業(yè)發(fā)展需要的師資隊伍。
⑵ 外聘企業(yè)工程人員
在整個計劃執(zhí)行中,我們也聘請了企業(yè)工程技術(shù)人才進入我們教學改革的環(huán)節(jié)。邀請他們參與并改進我們的創(chuàng)新性實驗環(huán)節(jié)。他們通過具體項目來給學生答疑解惑,豐富學生的知識,讓學生了解到所學知識該怎么在實際項目中運用。外聘工程師根據(jù)公司中的項目經(jīng)驗,在每節(jié)實驗課上都提出幾個比較適合學生解答的問題。學生通過解決這些程序問題,提升了積極性,激發(fā)了學習編程的欲望。同時,他們還充當著我們教學改革顧問的角色,為我們學術(shù)改革提供了許多寶貴的意見。
3 執(zhí)行情況與效果
C語言程序設計教師隊伍經(jīng)過多年的理論教學、實踐教學和考核方式探索,使教學模式逐漸完善。在2013-2015年期,面向卓越工程培養(yǎng)的C語言程序設計教學改革方案在鄭州輕工業(yè)學院的計算機與通信工程學院網(wǎng)絡工程等多個專業(yè)執(zhí)行。教師隊伍每年都根據(jù)教學經(jīng)驗改進教材和實驗內(nèi)容,參考外聘企業(yè)工程人員的意見,引進一些基于C語言程序設計的創(chuàng)新項目和實踐,大大提高了學生學習編程的積極性,培養(yǎng)了他們理論和實踐結(jié)合的能力。
幾年的教學實踐證明,該方案的實施提高了學生對編程的興趣和主動性,也促進了學生對獨立編程能力的掌握,大部分學生都掌握了編程的技巧,為他們學習其他編程語言奠下基石。C語言程序設計和其他編程語言學科的不及格率都有了一定的下降,學校的學風有了一定的提高。這證明了我們多年來的教學改革取得了很大的成果。
4 結(jié)束語
C語言程序設計是我校計算機與通信工程學院多個專業(yè)的專業(yè)基礎(chǔ)課,在多年的教學過程中,已形成了一支成熟的教學隊伍。近年來在學?!白吭焦こ處熍囵B(yǎng)教育計劃”的指導下,對C語言程序設計課程進行了較大的改革,改善了教學體系和實踐體系,提高了教學質(zhì)量,不僅提高了學生們學習編程的自信心,更有利于學校的學風建設。本文提出的C語言程序設計教學改革方案也為我校網(wǎng)絡工程河南省“專業(yè)綜合改革試點”項目課程改革提供了寶貴的經(jīng)驗。培養(yǎng)出一批骨干教師,組建一支強大的師資隊伍,把該改革方案推廣到全校所有專業(yè)的C語言程序課程將是我們下一步的計劃。
參考文獻(References):
[1] 沈高峰,馬歡.高?!禖語言程序設計》教學改革的探索與實踐[J].
河南教育(高教),2015.4:60-61
[2] 張麗華,葉利華.基于微課程的C語言程序設計教學改革探
索[J].計算機教育,2014.6:48-49,52
[3] 薛冰冰,李敏.基于問題導向的C語言程序設計教學改革與
探索[J].教育教學論壇,2014.45:142-144
[4] 萬李,楊杰.基于實踐能力培養(yǎng)的C語言程序設計教學改革
與探索[J].湖北經(jīng)濟學院學報(人文社會科學版),2013.7:188-189
[5] 王重英.C語言程序設計教學改革與實踐[J].軟件,2012.5:
111-112,118
[6] 彭治國.基于“卓越計劃”C語言程序設計實驗教改研究[J].裝
備制造技術(shù),2012.7:225-227
[7] 金華.“C語言程序設計”教學研究[J].計算機教育,2012.14:
60-62