- 相關(guān)推薦
C語言教法初探
摘要:C語言程序設(shè)計(jì)是一門基礎(chǔ)的程序設(shè)計(jì)語言,如何教好這門課是至關(guān)重要的問題。本文針對(duì)C語言課程的教法從五個(gè)方面作了詳細(xì)的論述,培養(yǎng)學(xué)生分析問題解決問題的能力,對(duì)調(diào)動(dòng)學(xué)生的積極性,提高教學(xué)質(zhì)量起到了促進(jìn)作用。
關(guān)鍵詞:C語言;教學(xué)方法;思維轉(zhuǎn)化;啟發(fā)式教學(xué);軟件工程
一、前言
C語言是一種通用性計(jì)算機(jī)程序設(shè)計(jì)語言。它兼有匯編語言和高級(jí)語言的雙重優(yōu)點(diǎn),運(yùn)用它既能編寫操作系統(tǒng)軟件,又能開發(fā)各個(gè)領(lǐng)域的應(yīng)用軟件。C語言的實(shí)用性使之成為編程的首選語言。學(xué)好了C語言,再進(jìn)一步深造C++/VC++,JAVA等言語,就有了堅(jiān)實(shí)的基礎(chǔ)。但目前很多學(xué)生在學(xué)習(xí)《C語言程序設(shè)計(jì)》后,感覺讀程序還湊合,編程則“難于上青天”部分學(xué)生甚至毫無編程想法,僅僅是為應(yīng)付考試而死記硬背,完全背離了高職教育的初衷。因此,如何在C語言教學(xué)中啟發(fā)并訓(xùn)練學(xué)生的編程思維,是每個(gè)教師應(yīng)深思的問理。以下是筆者在C語言教學(xué)中的一些看法,愿和同行探討。
二、上好第一堂課
如何上好第一堂《C語言程序設(shè)計(jì)》課是至關(guān)重要的。因?yàn)閷W(xué)生都是初次接觸C語言,C語言對(duì)他們來說是神秘的,“興趣永遠(yuǎn)是最好的老師”,有了興趣他們才會(huì)積極主動(dòng)地去學(xué)習(xí),所以第一堂課的成功與否直接關(guān)系到學(xué)生能否對(duì)這門課產(chǎn)生興趣,所以我覺得第一堂課應(yīng)為“趣味C語言導(dǎo)學(xué)課”。
(一)程序結(jié)果展示,激發(fā)興趣
要激發(fā)學(xué)生的興趣。首先要讓大家知道C語言的強(qiáng)大功能,利用它我們能編寫各種軟件,通過幻燈片向?qū)W生展示各種結(jié)果畫面,例如從50年代玩的搖桿游戲到如今的電腦游戲。相信這時(shí)有些學(xué)生已經(jīng)有些“蠢蠢欲動(dòng)”了。恨不得立刻學(xué)好C語言。
(二)強(qiáng)調(diào)C語言的重要性
C語言是學(xué)生今后學(xué)好后繼課程的基礎(chǔ),比如數(shù)據(jù)結(jié)構(gòu)。C++,JAVA等。雖然程序設(shè)計(jì)語言更新很快,但如果真正掌握精了程序設(shè)計(jì)思想,具備了真正解決實(shí)際問題的能力。語言再更新可程序設(shè)計(jì)的本質(zhì)不會(huì)變。
(三)傳授C語言的學(xué)習(xí)方法
C語言是一門實(shí)踐性課程,要理論結(jié)合實(shí)踐,加強(qiáng)學(xué)生的動(dòng)手能力,解決問題的能力,在學(xué)習(xí)方法上給以學(xué)生指導(dǎo),告訴學(xué)生如何自學(xué),如何聽課,如何動(dòng)手實(shí)踐,明確一點(diǎn):“C語言不是看會(huì)的,也不是聽會(huì)的,而是親自動(dòng)手實(shí)踐練會(huì)的”,強(qiáng)調(diào)實(shí)踐的重要性。
(四)認(rèn)識(shí)C語言的編譯環(huán)境。
在visual studio2005環(huán)境下,舉出幾個(gè)簡(jiǎn)單的小程序演示給他們看,并逐一講解,引導(dǎo)學(xué)生自己去發(fā)現(xiàn)程序中存在的缺陷以及改進(jìn)的方式。熟悉C語言源程序到可執(zhí)行文件的整個(gè)操作流程。讓他們仿照所列舉的幾個(gè)程序模仿著編一個(gè)小程序。
二、C語言教學(xué)方法
(一)抽象思維到形象思維的轉(zhuǎn)化
讓學(xué)習(xí)過程變得輕松有趣是激發(fā)學(xué)生興趣的關(guān)鍵所在,C語言本身是一門極其抽象難懂的學(xué)科,把抽象的問題形象化,使本來枯燥無味的C語言變得魅力無限,符合學(xué)生的認(rèn)知規(guī)律,可以收到良好的效果。
(二)采用問題啟發(fā)式授課,激發(fā)自主學(xué)習(xí)
針對(duì)C語言概念多,語法繁的現(xiàn)狀,采用問題啟發(fā)式教學(xué)可以將難理解、難記憶的概念和規(guī)則變成一系列時(shí)而醒目、時(shí)而深?yuàn)W的問題呈現(xiàn)在課堂教學(xué)中,這樣就能把學(xué)生的注意力集中起來,學(xué)習(xí)積極性調(diào)動(dòng)起來,達(dá)到師生互動(dòng)的效果,教師自問自答為主,有問有答,互問互答,改變單調(diào)死板、照本宣科的牧師講法。這種啟發(fā)式、討論式、交流式的教法,不僅改變?cè)瓉淼墓噍斒,而且增?qiáng)了學(xué)生自主學(xué)習(xí)的能力。
(三)“引申法”“框架法”和“求異法”相結(jié)合
所謂“引申法”是指是結(jié)合已經(jīng)解決的問題,因勢(shì)利導(dǎo),引導(dǎo)學(xué)生在此基礎(chǔ)上解決相關(guān)聯(lián)的問題。“引申法”可以培養(yǎng)學(xué)生在程序設(shè)計(jì)方面的發(fā)散思維。提高程序設(shè)計(jì)中的應(yīng)變能力。問題是活的,但程序是有章可循的。最終使學(xué)生明白,語法是有限的,可解決的問題是無限的。只有在分析實(shí)際向題的基礎(chǔ)上,以清晰的思路去設(shè)計(jì)算法,才能舉一反三,以不變應(yīng)萬變。
“框架法”可培養(yǎng)學(xué)生的全局思維和算法的整體設(shè)計(jì)能力。具體體現(xiàn)在兩方面:一是在學(xué)生有了一點(diǎn)編程基礎(chǔ)后要利用偽代碼或流程圖,從算法設(shè)計(jì)的角度講解編程思路,而不應(yīng)拘泥于語法細(xì)節(jié),不分主次、逐條語句的講解代碼。通過此框架,可使初學(xué)者對(duì)函數(shù)設(shè)計(jì)的關(guān)鍵問題有清晰的認(rèn)識(shí),利于從統(tǒng)籌全局的角度去考慮問題,體現(xiàn)了程序設(shè)計(jì)逐步求精的思路。這樣可以層次分明,突出算法設(shè)計(jì)的關(guān)鍵,利于培養(yǎng)學(xué)生的編程思路。二是在學(xué)習(xí)重點(diǎn)章函數(shù)時(shí),由于新的算法已很少,主要是學(xué)習(xí)用函數(shù)調(diào)用的方法來重新編制以前所熟悉的程序,那么我們可以把著眼點(diǎn)放在函數(shù)的設(shè)計(jì)框架上,體現(xiàn)參數(shù)設(shè)計(jì)、返回值設(shè)計(jì)等關(guān)鍵問題,而無需細(xì)講函數(shù)體的實(shí)現(xiàn)細(xì)節(jié)。
“求異法”:一個(gè)固定的問題。解決的方法可能不唯一,如果能啟發(fā)學(xué)生多角度、多側(cè)面去尋求解決問題的辦法,則可激發(fā)學(xué)生思考的積極性,提高其學(xué)習(xí)興致。在C語言中一題多解的情況有很多,有意識(shí)地引導(dǎo)新思路,鼓勵(lì)新方法,以培養(yǎng)學(xué)生在編程中的求異思維,而不是死記硬背,墨守成規(guī)。
(四)理論教學(xué)與學(xué)生實(shí)踐相結(jié)合,提高程序調(diào)試能力
對(duì)程序設(shè)計(jì)課來說,理論學(xué)習(xí)和上機(jī)要兩手抓,兩手都要抓硬。實(shí)驗(yàn)課不能流于形式,讓學(xué)生照抄照搬,甚至身在曹營(yíng)心在漢。必須給學(xué)生思考、創(chuàng)新的啟迪,訓(xùn)練其實(shí)踐能力,實(shí)驗(yàn)課要生動(dòng)活潑,使學(xué)生既掌握書中的重點(diǎn)算法,又有充分的思考空間,讓學(xué)生充分體會(huì)到頓悟和創(chuàng)造的樂趣。在進(jìn)行每一部分的學(xué)習(xí)的時(shí)候,都應(yīng)該配有相應(yīng)的學(xué)生上機(jī)實(shí)踐的機(jī)會(huì)。這樣學(xué)生既鍛煉了動(dòng)手能力,又鞏固了所學(xué)的知識(shí)。還應(yīng)該讓學(xué)生養(yǎng)成上機(jī)前分析題目,決定算法與數(shù)據(jù)結(jié)構(gòu),并編出程序源代碼的好習(xí)慣,這樣在上機(jī)時(shí),學(xué)生就有的放矢,主要精力放在調(diào)式程序上需。對(duì)于普遍存在的問題,進(jìn)行集中提示、講解、演示以增加學(xué)生的印象。井及時(shí)檢查總結(jié)學(xué)生上機(jī)實(shí)驗(yàn)的完成情況。
(五)在整個(gè)教學(xué)環(huán)節(jié)中,巧妙地引人軟件工程的基本思想
計(jì)算機(jī)科學(xué)屬工程技術(shù)科學(xué),為使學(xué)生有良好的編程思維,應(yīng)注重軟件工程思想的滲透。對(duì)軟件生存周期的幾個(gè)階段,即問題定義、可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、調(diào)試、運(yùn)行與維護(hù),可以通過常規(guī)的C程序設(shè)計(jì)實(shí)例來體現(xiàn),以培養(yǎng)學(xué)生編程中的工程思維。這樣并沒有費(fèi)很大力氣講抽象的概念,卻可培養(yǎng)學(xué)生在程序設(shè)計(jì)中從軟件工程角度去系統(tǒng)分析問題的良好習(xí)慣。雖然問題小了些,但“窺一斑而知全局”,經(jīng)反復(fù)強(qiáng)化問題求解中所蘊(yùn)含的基本思想,將有效地訓(xùn)練學(xué)生程序設(shè)計(jì)中統(tǒng)籌全局的工程思維能力。
三、結(jié)束語
C語言程序設(shè)計(jì)的教學(xué)要講究方法,通過這門課的學(xué)習(xí),不僅要使學(xué)生掌握語言的基本規(guī)則,而且要切實(shí)培養(yǎng)學(xué)生分析問題,解決問題的能力,培養(yǎng)學(xué)生的創(chuàng)新精神,團(tuán)隊(duì)意識(shí),為學(xué)生提供更好的展示才華的舞臺(tái)。
【C語言教法初探】相關(guān)文章:
內(nèi)部審計(jì)與ERP初探06-09
提高生物成績(jī)初探08-13
批捕聽證程序初探08-15
內(nèi)部控制審計(jì)評(píng)價(jià)初探06-03
中國(guó)公物立法初探04-29
關(guān)于三角教材與教法的新思考05-27
初探高職藥學(xué)教育改革05-16
柏拉圖人生哲學(xué)之初探05-05