C語言教法初探
(作者未知) 2010/8/4
摘要:C語言程序設(shè)計是一門基礎(chǔ)的程序設(shè)計語言,如何教好這門課是至關(guān)重要的問題。本文針對C語言課程的教法從五個方面作了詳細的論述,培養(yǎng)學(xué)生分析問題解決問題的能力,對調(diào)動學(xué)生的積極性,提高教學(xué)質(zhì)量起到了促進作用。
關(guān)鍵詞:C語言;教學(xué)方法;思維轉(zhuǎn)化;啟發(fā)式教學(xué);軟件工程
一、前言
C語言是一種通用性計算機程序設(shè)計語言。它兼有匯編語言和高級語言的雙重優(yōu)點,運用它既能編寫操作系統(tǒng)軟件,又能開發(fā)各個領(lǐng)域的應(yīng)用軟件。C語言的實用性使之成為編程的首選語言。學(xué)好了C語言,再進一步深造C++/VC++,JAVA等言語,就有了堅實的基礎(chǔ)。但目前很多學(xué)生在學(xué)習(xí)《C語言程序設(shè)計》后,感覺讀程序還湊合,編程則“難于上青天”部分學(xué)生甚至毫無編程想法,僅僅是為應(yīng)付考試而死記硬背,完全背離了高職教育的初衷。因此,如何在C語言教學(xué)中啟發(fā)并訓(xùn)練學(xué)生的編程思維,是每個教師應(yīng)深思的問理。以下是筆者在C語言教學(xué)中的一些看法,愿和同行探討。
二、上好第一堂課
如何上好第一堂《C語言程序設(shè)計》課是至關(guān)重要的。因為學(xué)生都是初次接觸C語言,C語言對他們來說是神秘的,“興趣永遠是最好的老師”,有了興趣他們才會積極主動地去學(xué)習(xí),所以第一堂課的成功與否直接關(guān)系到學(xué)生能否對這門課產(chǎn)生興趣,所以我覺得第一堂課應(yīng)為“趣味C語言導(dǎo)學(xué)課”。
(一)程序結(jié)果展示,激發(fā)興趣
要激發(fā)學(xué)生的興趣。首先要讓大家知道C語言的強大功能,利用它我們能編寫各種軟件,通過幻燈片向?qū)W生展示各種結(jié)果畫面,例如從50年代玩的搖桿游戲到如今的電腦游戲。相信這時有些學(xué)生已經(jīng)有些“蠢蠢欲動”了。恨不得立刻學(xué)好C語言。
(二)強調(diào)C語言的重要性
C語言是學(xué)生今后學(xué)好后繼課程的基礎(chǔ),比如數(shù)據(jù)結(jié)構(gòu)。C++,JAVA等。雖然程序設(shè)計語言更新很快,但如果真正掌握精了程序設(shè)計思想,具備了真正解決實際問題的能力。語言再更新可程序設(shè)計的本質(zhì)不會變。
(三)傳授C語言的學(xué)習(xí)方法
C語言是一門實踐性課程,要理論結(jié)合實踐,加強學(xué)生的動手能力,解決問題的能力,在學(xué)習(xí)方法上給以學(xué)生指導(dǎo),告訴學(xué)生如何自學(xué),如何聽課,如何動手實踐,明確一點:“C語言不是看會的,也不是聽會的,而是親自動手實踐練會的”,強調(diào)實踐的重要性。
(四)認識C語言的編譯環(huán)境。
在visual studio2005環(huán)境下,舉出幾個簡單的小程序演示給他們看,并逐一講解,引導(dǎo)學(xué)生自己去發(fā)現(xiàn)程序中存在的缺陷以及改進的方式。熟悉C語言源程序到可執(zhí)行文件的整個操作流程。讓他們仿照所列舉的幾個程序模仿著編一個小程序。
二、C語言教學(xué)方法
(一)抽象思維到形象思維的轉(zhuǎn)化
讓學(xué)習(xí)過程變得輕松有趣是激發(fā)學(xué)生興趣的關(guān)鍵所在,C語言本身是一門極其抽象難懂的學(xué)科,把抽象的問題形象化,使本來枯燥無味的C語言變得魅力無限,符合學(xué)生的認知規(guī)律,可以收到良好的效果。
(二)采用問題啟發(fā)式授課,激發(fā)自主學(xué)習(xí)
針對C語言概念多,語法繁的現(xiàn)狀,采用問題啟發(fā)式教學(xué)可以將難理解、難記憶的概念和規(guī)則變成一系列時而醒目、時而深奧的問題呈現(xiàn)在課堂教學(xué)中,這樣就能把學(xué)生的注意力集中起來,學(xué)習(xí)積極性調(diào)動起來,達到師生互動的效果,教師自問自答為主,有問有答,互問互答,改變單調(diào)死板、照本宣科的牧師講法。這種啟發(fā)式、討論式、交流式的教法,不僅改變原來的灌輸式,而且增強了學(xué)生自主學(xué)習(xí)的能力。
(三)“引申法”“框架法”和“求異法”相結(jié)合
所謂“引申法”是指是結(jié)合已經(jīng)解決的問題,因勢利導(dǎo),引導(dǎo)學(xué)生在此基礎(chǔ)上解決相關(guān)聯(lián)的問題。“引申法”可以培養(yǎng)學(xué)生在程序設(shè)計方面的發(fā)散思維。提高程序設(shè)計中的應(yīng)變能力。問題是活的,但程序是有章可循的。最終使學(xué)生明白,語法是有限的,可解決的問題是無限的。只有在分析實際向題的基礎(chǔ)上,以清晰的思路去設(shè)計算法,才能舉一反三,以不變應(yīng)萬變。
“框架法”可培養(yǎng)學(xué)生的全局思維和算法的整體設(shè)計能力。具體體現(xiàn)在兩方面:一是在學(xué)生有了一點編程基礎(chǔ)后要利用偽代碼或流程圖,從算法設(shè)計的角度講解編程思路,而不應(yīng)拘泥于語法細節(jié),不分主次、逐條語句的講解代碼。通過此框架,可使初學(xué)者對函數(shù)設(shè)計的關(guān)鍵問題有清晰的認識,利于從統(tǒng)籌全局的角度去考慮問題,體現(xiàn)了程序設(shè)計逐步求精的思路。這樣可以層次分明,突出算法設(shè)計的關(guān)鍵,利于培養(yǎng)學(xué)生的編程思路。二是在學(xué)習(xí)重點章函數(shù)時,由于新的算法已很少,主要是學(xué)習(xí)用函數(shù)調(diào)用的方法來重新編制以前所熟悉的程序,那么我們可以把著眼點放在函數(shù)的設(shè)計框架上,體現(xiàn)參數(shù)設(shè)計、返回值設(shè)計等關(guān)鍵問題,而無需細講函數(shù)體的實現(xiàn)細節(jié)。 (未完,下一頁)
|