姜鑫維
摘 ?要:C語言是一門通用的計算機(jī)編程語言,C語言不僅功能齊全而且使用的范圍非常的廣泛,是很多大學(xué)計算機(jī)專業(yè)的基礎(chǔ)課程。但是由于很多計算機(jī)專業(yè)的學(xué)生,剛到大學(xué)的時候沒有很好的計算機(jī)編程語言的基礎(chǔ),在乍一接觸到C語言的時候,面對抽象的指針、語法結(jié)構(gòu)等問題的時候顯得捉襟見肘,嚴(yán)重打擊了學(xué)生學(xué)習(xí)的積極性從而給教學(xué)工作帶來了一定的挑戰(zhàn),本文以項目化教學(xué)的方法探索C語言課程教學(xué)的過程,利用項目化教學(xué)方法將理論教學(xué)與實踐教學(xué)相結(jié)合,全面提高C語言課程教學(xué)的教學(xué)質(zhì)量和效果。
關(guān)鍵詞:C語言課程;項目化教學(xué);項目設(shè)計和實現(xiàn)
C語言不僅僅是很多計算機(jī)專業(yè)的基礎(chǔ)課程,同時也是國家或地方計算機(jī)等級考試的科目之一。因此研究C語言教學(xué)不僅能夠有助于提高計算機(jī)專業(yè)教學(xué)效果,同樣也非常的適用于其他非計算機(jī)專業(yè)的學(xué)生。精通C語言的話,能夠幫助學(xué)生構(gòu)建編程解決問題的思維框架,對于學(xué)習(xí)其他的像C++、C#、JAVA等語言都有著非常好的基礎(chǔ),但是目前的C語言課程教學(xué)仍然非常的傳統(tǒng),很多大學(xué)都是僅僅的依靠教材并搭配C語言課程設(shè)計來開展的,通過按部就班的學(xué)習(xí)語法、語句等過程完成教學(xué)過程,教學(xué)過程最大的問題就是理論學(xué)習(xí)和實踐學(xué)習(xí)是分離的,學(xué)習(xí)的過程非常的空洞而且抽象,導(dǎo)致很多學(xué)生學(xué)習(xí)積極性不高或者理論基礎(chǔ)好但是動手能力不強(qiáng)等現(xiàn)象,嚴(yán)重的影響了學(xué)生后期的進(jìn)階學(xué)習(xí)。為了激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的學(xué)習(xí)效果,我們提出了項目化教學(xué)在C語言課程中的應(yīng)用,下面闡述具體的操作過程。
一、項目化教學(xué)的概念及優(yōu)勢
項目化教學(xué)是為了解決某一問題或者項目,學(xué)生在教師的教學(xué)設(shè)計和安排下,通過學(xué)習(xí)整個課程的內(nèi)容和實踐操作從而實現(xiàn)項目的教學(xué)方法。所以項目是項目化教學(xué)的主線,在這個主線內(nèi)部貫穿了教學(xué)的主要內(nèi)容,由易到難,學(xué)生通過循序漸進(jìn)的學(xué)習(xí),不斷的增進(jìn)知識和解決項目的子模塊,一步一步的最終實現(xiàn)整個項目的完成過程,項目化教學(xué)的教學(xué)過程安排不一定是一成不變的,但是核心都是通過項目的設(shè)計和實現(xiàn)來完成對學(xué)生能力的培養(yǎng)。教學(xué)過程中難點(diǎn)是需要充分的理解教材,畢竟我們的教學(xué)過程仍然少不了教材的支撐,然后結(jié)合學(xué)生的知識結(jié)合采用適合學(xué)生能力的項目,并積極的參與到項目的制作過程中,幫助學(xué)生熟悉和掌握基礎(chǔ)的理論知識,并且逐漸的提高C語言的實際應(yīng)用能力,這也是項目化教學(xué)與傳統(tǒng)教學(xué)最大的不同之處,就是其對于實踐能力和理論知識的結(jié)合。
二、C語言課程的項目設(shè)計
項目設(shè)計是實施項目化教學(xué)基礎(chǔ),一個合理的項目設(shè)計是一切教學(xué)活動的開端,也直接決定了教學(xué)效果和教學(xué)質(zhì)量。因此項目設(shè)計的過程必然有一定的原則,首先是項目的設(shè)計一定要圍繞教學(xué)的重點(diǎn)和難點(diǎn)來開展,而且項目的實現(xiàn)過程必須涵蓋基本的理論知識點(diǎn);其次是要能夠充分的調(diào)動學(xué)生的積極性,為此我們設(shè)置的項目要有一定的難度,但是要充分的考慮到學(xué)生的知識結(jié)構(gòu)和能力,使得學(xué)生能夠在項目過程有一定的成就感,并選擇趣味性較高的項目激發(fā)學(xué)生的學(xué)習(xí)興趣;最后是項目最好有一定的規(guī)模,規(guī)模太大的話會嚴(yán)重打擊學(xué)生的自信心,太小又起不到實際的效果,必須充分的結(jié)合理論基礎(chǔ)知識的進(jìn)度。為此我經(jīng)過多年的C語言課程教學(xué)過程,在此提出三個項目設(shè)計為該類教學(xué)法的C語言教學(xué)提供參考。三個項目由簡到難,分別是簡易計算器、學(xué)生信息管理、掃雷游戲。簡易計算器能夠考察學(xué)生初期學(xué)習(xí)的語言結(jié)構(gòu),系統(tǒng)的能夠?qū)崿F(xiàn)簡單的加減乘除運(yùn)算,由于學(xué)生初次接觸編程語言,這個簡單項目的實現(xiàn)過程較為簡單,項目雖小但是卻能夠考察學(xué)生能否將實際問題通過計算機(jī)語言來解決。學(xué)生信息管理系統(tǒng),實現(xiàn)對學(xué)生成績、姓名、年級等信息的增刪查改幾項功能,除了考察基本函數(shù)、數(shù)組和指針的利用之外,進(jìn)一步的深化模塊化程序設(shè)計的基本思想。而最后的掃雷游戲則是進(jìn)階教程,有一定的難度,是學(xué)生在系統(tǒng)的學(xué)習(xí)C語言程序設(shè)計的知識和思想后進(jìn)一步的軟件設(shè)計能力。三個項目貫穿教學(xué)過程的始末,相關(guān)的知識點(diǎn)也逐漸提高,為后期的項目化教學(xué)過程奠定基礎(chǔ)。
三、C語言課程項目化教學(xué)課程設(shè)計
由于項目教學(xué)是和實踐相結(jié)合的,所以我們將理論課的教學(xué)改到了機(jī)房,在機(jī)房完成授課的過程。學(xué)生在機(jī)房隨時可以操作和實踐理論知識,但是這個過程中我們不能忽視理論知識的教學(xué)過程,在系統(tǒng)的理論知識教學(xué)的前提下積極的以引導(dǎo)和監(jiān)督學(xué)生實踐操作的過程,對于學(xué)生遇到的問題及時的幫助解決,對于多數(shù)同學(xué)都容易出現(xiàn)的典型問題,進(jìn)行統(tǒng)一的講解下面以簡易計算器項目為例,分析詳細(xì)的教學(xué)過程安排。
1.項目演示引出學(xué)習(xí)目的
為此,我們可以利用多媒體教學(xué)設(shè)備在屏幕上演示這個項目的實現(xiàn),即一個由C語言編寫的簡易計算器。根據(jù)所學(xué)知識,簡略的概括項目的設(shè)計實現(xiàn)過程,構(gòu)建教學(xué)情境。使得學(xué)生能夠?qū)τ趯崿F(xiàn)的項目有一個初步的認(rèn)識,即通過課程的學(xué)習(xí)和操作想要達(dá)成怎樣的效果,在進(jìn)行項目演示的過程中我們切不可籠統(tǒng)的介紹,對于項目的分析一定要運(yùn)用程序設(shè)計的思想,項目演示和分析的過程要具有一定的邏輯特點(diǎn),拿這個計算器項目來說,它實現(xiàn)了哪些功能,功能實現(xiàn)需要什么知識,幫助學(xué)生能夠?qū)嵥榈闹R合理的梳理起來。從而快速的上手,達(dá)到學(xué)習(xí)的效果。
2.項目實現(xiàn)提高學(xué)習(xí)主動性
任何編程語言的學(xué)習(xí)都離不開實際的動手過程,動手去做永遠(yuǎn)是抽象的編程語言學(xué)習(xí)的法寶。特別是在隨著課程的不斷加深,越來越多的新知識和新的思想被引入,在傳統(tǒng)的C語言課程教學(xué)過程中,教師在介紹完這些新知識以后往往會將新知識與之前學(xué)過的東西進(jìn)行聯(lián)系和比對,希望學(xué)生能夠快速的掌握新的語法和結(jié)構(gòu),但是這種授課方式嚴(yán)重的忽視了學(xué)生動手能力和實踐能力,而項目化的教學(xué)方式是隨著學(xué)生的動手過程同時開展的,我們在這個過程中通過精講重點(diǎn)知識,鼓勵學(xué)生動手去做的過程,其實也是敦促學(xué)生自主學(xué)習(xí)的過程,更多的理論知識的細(xì)節(jié)需要學(xué)生在項目操作的過程中通過發(fā)現(xiàn)問題、分析問題、解決問題的過程中去發(fā)現(xiàn),并以此提高學(xué)習(xí)的質(zhì)量,實踐證明,只要項目設(shè)計合理操作得當(dāng),學(xué)生在學(xué)習(xí)的過程中積極性和主動性大大提高,教師要積極的抓住學(xué)生學(xué)習(xí)的積極性,在項目操作和實現(xiàn)過程中及時發(fā)現(xiàn)和矯正,加強(qiáng)學(xué)生對基礎(chǔ)理論知識的理解,全面提高編程能力。
3.分組協(xié)同學(xué)習(xí),提高團(tuán)隊合作意識
隨著項目難度的不斷提高,教師可以根據(jù)項目的特點(diǎn)把項目分成幾個子項目。通過對學(xué)生學(xué)習(xí)能力以及性格的了解,采取科學(xué)合理的分組,將班級劃分成幾個學(xué)習(xí)小組通過小組合作模式協(xié)同完成項目計劃的過程,比如學(xué)生信息管理系統(tǒng)的要實現(xiàn)增刪查改幾項重要的功能,由于項目相對來說較大,涉及到的知識面對于初學(xué)C語言的人來說非常多而且較為復(fù)雜,采取分組合作的模式能夠使得學(xué)生通過合作共同解決難題,團(tuán)隊合作共同探索問題的解決辦法,在合作的過程中也能夠幫助小組內(nèi)部成員發(fā)現(xiàn)自己知識結(jié)構(gòu)中弱勢,從而促進(jìn)項目化教學(xué)的全面開展。
4.項目結(jié)果的評價與審核過程
項目評價過程不僅僅要針對于項目結(jié)果,更加要對項目實施的過程進(jìn)行分析和評價,評價是知識結(jié)構(gòu)升級和提高的重要手段,通過項目結(jié)果的評價和審核過程使得學(xué)生獲得一定的滿足感,C語言解決實際問題的方法和能力有很多,在課程之外,有著非常多的簡化算法,因此對于項目實現(xiàn)的過程必然有一定的優(yōu)劣之分,對于項目的評價結(jié)果還能夠加強(qiáng)學(xué)生的競爭意識,促進(jìn)進(jìn)一步的學(xué)習(xí)動力。為此我們一定要摒棄傳統(tǒng)的C語言課程教學(xué)中單一的教學(xué)評價機(jī)制和手段,采取多元化的項目評價方法。為此我們可以擬定一個三級綜合評價方案:首先是自我評價,即讓學(xué)生或者小組在課堂上講解自己的學(xué)習(xí)成果,分闡述項目實現(xiàn)的具體過程,并評價自己程序或系統(tǒng)的效果,給自己的學(xué)習(xí)過程和項目成果進(jìn)行評分;其次是學(xué)生互評,學(xué)生通過闡述自己的觀點(diǎn),合理的評價其他人的項目的優(yōu)點(diǎn)和缺點(diǎn),由于學(xué)生知識體系限制畢竟可能會出現(xiàn)一定的偏差和理論性錯誤,教師要監(jiān)督這個過程并給予指導(dǎo);最后是教師的總評,對于項目完成進(jìn)行一個綜合的評價,教師不應(yīng)該僅僅注重結(jié)果,更加應(yīng)該重視學(xué)生在項目實施過程中的努力,注重對學(xué)習(xí)過程的評價,盡量發(fā)現(xiàn)學(xué)生思維的閃光點(diǎn),積極的鼓勵和表揚(yáng)并且能夠?qū)ζ渲械慕?jīng)典錯誤進(jìn)行分析,結(jié)合自己的教學(xué)經(jīng)驗和理論知識的深度,幫助學(xué)習(xí)理解項目中常見錯誤產(chǎn)生的原因。
四、項目化教學(xué)注重的問題
為了更好的開展項目化C語言教學(xué)過程,對教學(xué)過程中容易出現(xiàn)的問題進(jìn)行分析,為此應(yīng)該注意的問題有:
1.處理好與傳統(tǒng)教學(xué)的關(guān)系
項目化的教學(xué)方法注重學(xué)生能力的培養(yǎng)過程,特別是在很多解決實際應(yīng)用問題的過程中這種方法的優(yōu)勢非常的明顯,但是由于理論知識和實踐過程共同展開教學(xué),并且是以項目為教學(xué)主線的因此不可避免的弱化了理論知識的系統(tǒng)化,然而傳統(tǒng)的C語言教學(xué)過程則非常重視理論基礎(chǔ)知識的教學(xué)過程,相對來說傳統(tǒng)教學(xué)保證了學(xué)科的完整性,學(xué)生通過傳統(tǒng)教學(xué)的學(xué)習(xí)過程能夠更加全面的掌握理論知識,知識結(jié)構(gòu)更加的系統(tǒng)和全面。因此項目化教學(xué)一定要處理好和傳統(tǒng)教學(xué)之間的關(guān)系,在重視項目完成的過程中不能忽視基礎(chǔ)知識的重要性,取長補(bǔ)短,及時的通過項目歸納和總結(jié)基礎(chǔ)知識,保證知識的系統(tǒng)性。
2.教師對實踐能力的教學(xué)效果
教師是開展一切教學(xué)活動的主導(dǎo)者,就專業(yè)知識的深度和寬度而言,大學(xué)的C語言教師都有著非常深厚的基礎(chǔ)能力和實踐能力,特別是很多大學(xué)老師在教學(xué)活動之余也參加很多大型項目的編寫工作,但是由于長期進(jìn)行常規(guī)的教學(xué)過程,對于學(xué)生實踐能力的培養(yǎng)并沒有系統(tǒng)的理論和方法,為此教師應(yīng)該充分的結(jié)合自己的實踐開發(fā)經(jīng)驗,結(jié)合系統(tǒng)的理論知識,通過自己遇到的項目問題分析和解決辦法,言傳身教提高對學(xué)生實踐能力的培養(yǎng)過程,這也是項目化教學(xué)及其重要的環(huán)節(jié)。
3.引導(dǎo)學(xué)生動手操作,避免出現(xiàn)兩極分化的現(xiàn)象
如果項目化教學(xué)的過程中,采取錯誤的操作或者方法,不僅不會促進(jìn)學(xué)生學(xué)習(xí)的積極性,反而因為削弱了理論知識系統(tǒng)的學(xué)習(xí),使得學(xué)生在項目化教學(xué)過程中無從下手,使他們感到陌生和困惑,大大降低項目化學(xué)習(xí)的效果。因此教師一定要避免這種情況的發(fā)生,對于基礎(chǔ)較差的學(xué)生,一定要采取必要的手段幫助他們,教學(xué)的過程是針對于全體學(xué)生的過程,必須考慮到所有學(xué)生的能力,這也是項目化教學(xué)過程需要注意的最大問題。
五、結(jié)語
相比于傳統(tǒng)教學(xué)方法,項目化教學(xué)不僅是一種全新的教學(xué)方式,就學(xué)生角度而言這也是一種學(xué)習(xí)方式的革命,為此在實施項目化教學(xué)的過程中,教師一定要充分的理解C語言的基礎(chǔ)理論知識的結(jié)構(gòu),讓學(xué)生積極的參與到項目中來,積極的促進(jìn)去學(xué)習(xí)能、動手能力的提高,為以后的計算機(jī)課程學(xué)習(xí)打下堅實的基礎(chǔ)。
參考文獻(xiàn):
[1]錢麗丹.項目化教學(xué)在C語言程序設(shè)計課程中的應(yīng)用[J].軟件導(dǎo)刊,2013,01:188-190.
[2]張蕾.基于項目化教學(xué)的“C語言程序設(shè)計”課程改革[J].計算機(jī)教育,2013,02:17-20.
[3]張曉.C語言課程項目化教學(xué)設(shè)計與實施[J].電腦編程技巧與維護(hù),2013,08:133+144.
[4]葉煜,任華,丁蓮.高職C語言課程項目化教學(xué)改革與實踐[J].軟件工程師,2014,07:47-48.
[5]楊俊紅,侯麗敏.論項目化教學(xué)在C語言課程中的應(yīng)用[J].河南科技學(xué)院學(xué)報,2010,04:114-116.
[6]王曉勇,肖四友,張文祥.基于能力培養(yǎng)的C語言項目化訓(xùn)練教學(xué)模式初探[J].計算機(jī)教育,2009,10:60-62.
[7]李彬.項目化教學(xué)模式在C課程中的應(yīng)用研究[J].信息與電腦(理論版),2009,12:163+165.
(作者單位:湖北黃岡中國地質(zhì)大學(xué)計算機(jī)學(xué)院)