摘 要 面對C語言對計算機應用領(lǐng)域的日益增大,在計算機C語言教學方面我們要進行怎樣的教學實踐和改革,如何教使學生更能夠接受,如何改才是比較適合新一代大學生的;對于不同的授課對象,我們是不是要采取不同的講課方法。文章針對C語言在各專業(yè)學生中的教學略施薄見,淺談了高校教師應如何教C語言,應對不同專業(yè)的學生應如何進行教學改革和實踐。
關(guān)鍵詞 C語言 程序設(shè)計 教學實踐 改革 教學方法
中圖分類號:G420 文獻標識碼:A
1 C語言程序設(shè)計在當今教學中的現(xiàn)狀
當前高校在計算機程序設(shè)計C語言教學方面存在如下的問題:(1)非計算機專業(yè)的學生普遍感覺難學,特別是數(shù)學底子較為差的學生沒有學習興趣,不愿學習;(2)教師普遍反映難教,課堂上認真學習的人較少,計算機二級考試當年通過率很低;(3)隨著可視化編程工具的增多,部分學校的C語言程序設(shè)計教學課時都已經(jīng)大幅度地減少理論內(nèi)容,教師在授課時若要完成相應的教學計劃,就不能保證教學進度和質(zhì)量,因而教師對知識的延伸講解很少;(4)C語言程序設(shè)計集抽象性、邏輯性、實踐性于一身,在教學過程中解決好這三項就能提高學生的學習興趣,減輕學習壓力。
2 如何開展C程序語言教學
2.1 在教學中培養(yǎng)學生分析與解決問題的能力
在案例的選擇上,我們通常采用生活中的具有趣味性、實用性的諸如學生成績管理系統(tǒng)、圖書管理系統(tǒng)等相關(guān)模塊進行教學。用例通俗易懂,既能吸引學生,又易形成互動,活躍課堂,提高課堂效率的案例始終貫穿整個教學過程,注重從直觀到抽象,從特殊到一般漸進地學習,從而減輕了學習負擔,提高了學習熱情。通過對案例實現(xiàn)過程的分析,引導、啟發(fā)學生逐步理解與掌握分析解決問題的方法與步驟,使整個學習過程下來,既能輕松掌握語法知識,又能在分析與解決問題上有所收獲。最終通過各案例相關(guān)模塊實現(xiàn)融會貫通,加深對程序設(shè)計的結(jié)構(gòu)化、模塊化設(shè)計思想體會,真正達到學習C語言程序設(shè)計的目的。
2.2 培養(yǎng)學生的整體思維,建立學生的編程意識
筆者在幾年的教學實踐中總結(jié)出,很多學生學這門課始終都沒有較強的編程意識,通常到課程結(jié)束,怎么編寫程序,他們都無從下手,沒有自信。如果根據(jù)一般課程講解,按照課程內(nèi)容中的數(shù)據(jù)類型、程序控制語句、指針、數(shù)組、函數(shù)及機構(gòu)體等這樣一個順序?qū)?nèi)容進行講課,通篇講解完畢后,學生感覺到內(nèi)容不能形成一個整體,而只是一堆零散的知識點,因此我們要改變傳統(tǒng)的講課模式,要讓學生建立編程意識,從一個完整的程序出發(fā),在程序中講解語法和語句的作用,培養(yǎng)學生對個別知識點的掌握和整體程序結(jié)合起來,從整體出發(fā)講解再涉及個體。
2.3 過程教學中巧妙講解課本知識點在實例的應用
在C語言課本中都會有很多對應知識點的例子,在教學中如何講解課本中的實例和實例中相應知識點的作用、關(guān)系至關(guān)重要,有效的講解和演示實例對學生鞏固知識點非常重要,如果就書論書的照本宣讀,學生的邏輯思維得不到很好的建立和鍛煉。因此,在一節(jié)的知識點講解完后,應對實例,我們要很好的應用C語言上機練習的平臺,目前應用比較廣泛的是turbo c3.0或者Microsoft Visual C++ 6.0,利用多媒體平臺,在理論教學中對實例進行現(xiàn)場過程演示和編程,演示過程中激發(fā)學生的編程思維,同時加深學生對知識點的掌握。
2.4 注重理論課與實踐課相互融合
C程序語言是一門理論與實踐相結(jié)合的課,只有理論教學,不能解決實際問題,必須上機實踐。高校本科教學中一般理論課和實踐課課時比例為3:2,在講理論課后相應的給學生布置實踐學習任務很重要,學生在實踐練習和思考中得到編程的快樂,同時在運行結(jié)果正確的時候會有一種成就感,能更好的對知識點理解和應用,在教學中要先講課后實踐,而且實踐課要緊隨其后,如果間隔時間太長學生早已把課上聽到的內(nèi)容忘記,所以要及時上機實踐。在上機練習中必要的指導和演示也很重要,在學生實踐練習時穿插對本節(jié)理論知識點的總結(jié)和指導,做到在過程教學中完成教學結(jié)果的考察。多實踐是學習掌握C語言的必經(jīng)之路,理論-實踐-理論。最后強調(diào)一點課程考核采用機試與筆試相結(jié)合的方法,只有這樣才能對學生C語言的掌握程度作全面的反饋。
3 C語言教學的改革
在C語言課程教學過程中,筆者認為一方面要能夠把握好授課內(nèi)容,同時也要對傳統(tǒng)教學方法進行改革,增加學生的實踐能力,以此提高教學質(zhì)量。以下是筆者在幾年的C語言課程教學中采用一些新的方法。
3.1 強調(diào)知識總結(jié)的教學方法
以崔永君編寫的《C語言程序設(shè)計》西安電子科技大學出版社為例,內(nèi)容中有大量的定義、概念、語法和語句,它們像數(shù)學的知識點一樣使用靈活、記憶難度大,特別是使用起來容易出錯,很難吃透。如果能夠引導學生在學習過程中時時進行歸納總結(jié),提高學生的學習效率。在C語言學習中發(fā)現(xiàn),有一些定義、概念、語法、函數(shù)等有許多相似的地方,例如:puts( )與gets()函數(shù)、printf和scanf函數(shù)等、基本數(shù)據(jù)類型的學習等,法規(guī)則是一樣的,對它們進行歸納總結(jié)之后,學生只要記住其中一個函數(shù)或知識點,另一個自然就會使用了。
3.2 應用實例練習的實踐教學法
強化實踐,這門課主張程序設(shè)計是高強度的腦力勞動,不是聽會的,也不是看會的,而是練會的。引導學生在解題編程的實踐中探索其中帶規(guī)律性的認識。將感性認識升華到理性高度。
教學重點要放在實例演示講解和過程在解題的思路上,通過大量的實際案例和書本提供的實例讓學生學會怎樣設(shè)計一個基本的算法,利用語句和規(guī)則構(gòu)造一個簡單程序。筆者在教學過程中的初始階段,讓學生理清程序的需求,進而編寫程序設(shè)計流程圖,接著根據(jù)流程圖編寫簡單的程序,舉一反三,通過程序引導學生逐步深入實際應用能力的培養(yǎng)。在實驗題目設(shè)置上,根據(jù)課時安排以及要掌握的基本知識,根據(jù)各個層次的學生需要,設(shè)置相應不同難度實踐課題。在本課程結(jié)束后,安排一次綜合的社會應用的虛擬項目實例的制作,培養(yǎng)學生綜合應用能力和團隊協(xié)作能力。
3.3 突出虛擬案例解析的教學方法
在教學中給學生提供一些C語言設(shè)計的項目案例,增加學生的學習興趣和知識點的實際應用能力,筆者引用遞歸算法的經(jīng)典例子:漢諾塔算法, 一個柱子1上n個盤子套著,大的在下,借用柱子2,全部轉(zhuǎn)移到柱子3上,然后把此思想引用到實際工業(yè)生產(chǎn)中的超市打折的程序設(shè)計的實現(xiàn),對程序的過程演示,使學生系統(tǒng)地了解C語言的功能和拓展他們的知識面。