国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

C語(yǔ)言程序設(shè)計(jì)一堂課的內(nèi)容設(shè)計(jì)

2011-01-01 00:00:00王平劉強(qiáng)張阿敏
計(jì)算機(jī)教育 2011年5期


  摘要:文章以C語(yǔ)言程序設(shè)計(jì)課程教學(xué)過(guò)程中的一堂課“循環(huán)結(jié)構(gòu)”為例,詳細(xì)講解課堂內(nèi)容的設(shè)計(jì)、教學(xué)方法和教學(xué)工具的運(yùn)用技巧等。對(duì)如何組織一堂課中教學(xué)內(nèi)容的引入、開(kāi)展和延伸以及在相應(yīng)教學(xué)環(huán)節(jié)中融入關(guān)鍵詞法、圖解法等多種教學(xué)方法提出建設(shè)性的意見(jiàn),并強(qiáng)調(diào)課堂上師生互動(dòng)以及理論聯(lián)系實(shí)際的重要性??傊宋闹荚趲椭岣邔W(xué)生的邏輯思維素養(yǎng)和解決實(shí)際問(wèn)題的能力。
  關(guān)鍵詞:C語(yǔ)言程序設(shè)計(jì);循環(huán)結(jié)構(gòu);算法;案例
  
  C語(yǔ)言程序設(shè)計(jì)既是各高校計(jì)算機(jī)類(lèi)專(zhuān)業(yè)的一門(mén)重要專(zhuān)業(yè)基礎(chǔ)課程,也是很多其他理工類(lèi)專(zhuān)業(yè)的公共基礎(chǔ)課[1]。C語(yǔ)言功能強(qiáng)大,但由于其語(yǔ)法簡(jiǎn)潔緊湊、控制靈活,初學(xué)者很難盡快掌握和應(yīng)用。此外,盡管目前有關(guān)程序設(shè)計(jì)教學(xué)方法的理論探討很多,教學(xué)資源包括大綱、課件、教案以及習(xí)題等也很豐富[2-4],但缺少實(shí)際教學(xué)環(huán)節(jié)的方法應(yīng)用的講解、解題過(guò)程的分析和引導(dǎo)。為了彌補(bǔ)這一缺陷,筆者在文中以“循環(huán)結(jié)構(gòu)”一章的第一堂課為例,探討在程序設(shè)計(jì)教學(xué)過(guò)程中所運(yùn)用的教學(xué)方法和內(nèi)容設(shè)計(jì)。
  
  1教學(xué)內(nèi)容的引入
  
  1.1承上啟下引入新內(nèi)容
  如果將一個(gè)學(xué)科專(zhuān)業(yè)涵蓋的所有課程的地位以及相互之間的聯(lián)系畫(huà)成一張網(wǎng)絡(luò)結(jié)構(gòu)圖的話(huà),每一門(mén)課程便是這張圖上的一個(gè)點(diǎn)。同理,對(duì)于一門(mén)課程而言,其中所有知識(shí)點(diǎn)或者各個(gè)教學(xué)單元可以視為此門(mén)課程網(wǎng)絡(luò)圖上的節(jié)點(diǎn),它們彼此之間也存在著前提后續(xù)、整體部分、抽象具體等各種聯(lián)系。所以在每一堂課的開(kāi)始,教師有必要以承上啟下的方式引入新的內(nèi)容,簡(jiǎn)單扼要地回顧前面的內(nèi)容,若能有對(duì)比和延伸的闡述更佳。筆者在上“循環(huán)結(jié)構(gòu)”第一堂課的時(shí)候,就簡(jiǎn)單回顧了之前學(xué)過(guò)的順學(xué)結(jié)構(gòu)和選擇結(jié)構(gòu),并在黑板上以圖示的方式展示它們的特點(diǎn),對(duì)比它們的區(qū)別。如圖1所示,順序結(jié)構(gòu)所組織的步驟是自上而下,依次執(zhí)行,每個(gè)步驟執(zhí)行一次;選擇結(jié)構(gòu)中根據(jù)條件的判斷選擇執(zhí)行,如果條件滿(mǎn)足,執(zhí)行左邊的的步驟,否則執(zhí)行右邊的步驟;而循環(huán)結(jié)構(gòu)則是滿(mǎn)足條件下的多次執(zhí)行,由此也可直觀(guān)感受循環(huán)兩字的含義。教師在畫(huà)圖的時(shí)候可以同時(shí)解釋?zhuān)庇^(guān)展示三種結(jié)構(gòu)的區(qū)別和聯(lián)系。
  
  1.2為什么要學(xué)該堂課的內(nèi)容
  知道為什么學(xué)一堂課、一門(mén)課乃至一個(gè)專(zhuān)業(yè)是增強(qiáng)學(xué)生學(xué)習(xí)自主性和目標(biāo)性的最直接方法。程序設(shè)計(jì)這門(mén)課程的最終目標(biāo)是讓學(xué)習(xí)者掌握編程,懂得用程序解決現(xiàn)實(shí)中的若干問(wèn)題。教師要善于將每一堂課的內(nèi)容和它對(duì)應(yīng)所能解決的實(shí)際問(wèn)題中的點(diǎn)結(jié)合起來(lái),以通俗易懂的實(shí)例、平實(shí)簡(jiǎn)練的語(yǔ)言闡述所講知識(shí)點(diǎn)的重要性和應(yīng)用價(jià)值,讓學(xué)生知道“學(xué)有所用”,而不能讓學(xué)生學(xué)了一大堆語(yǔ)法之后,不知道用在什么場(chǎng)合。對(duì)于“循環(huán)結(jié)構(gòu)”這一知識(shí)點(diǎn),筆者上課時(shí)列舉了大家熟知的銀行取錢(qián)的例子,譬如當(dāng)用戶(hù)將密碼輸入錯(cuò)誤時(shí),銀行系統(tǒng)允許用戶(hù)重復(fù)輸入三次,從而引入用戶(hù)輸入密碼這一過(guò)程是由循環(huán)結(jié)構(gòu)所組織的原理。例子無(wú)需太多,也不必過(guò)于復(fù)雜,只要能讓學(xué)生聯(lián)系所學(xué)知識(shí)的實(shí)際用處就行。如果要舉多個(gè)例子,可以側(cè)重于不同的應(yīng)用,如數(shù)據(jù)處理、數(shù)值計(jì)算等。
  
  2教學(xué)內(nèi)容的開(kāi)展
  
  2.1根據(jù)教學(xué)內(nèi)容運(yùn)用不同教學(xué)方法
  筆者認(rèn)為,所有的方法或者技巧都是為了更好地服務(wù)教學(xué)內(nèi)容的傳授而設(shè)計(jì)的,所以沒(méi)有絕對(duì)的一成不變的好方法。教師只有在研究教學(xué)內(nèi)容特點(diǎn)和學(xué)生認(rèn)知規(guī)律的基礎(chǔ)上,才可能設(shè)計(jì)出最能表現(xiàn)知識(shí)內(nèi)涵和最適合學(xué)生接受的教學(xué)方法。譬如,筆者在“循環(huán)結(jié)構(gòu)”第一堂課期間的不同階段用到了以下方法。
  2.1.1善用關(guān)鍵詞幫助記憶重點(diǎn)難點(diǎn)
  在一章內(nèi)容講解之初,老師通常會(huì)展示這一章中所包含的各個(gè)知識(shí)點(diǎn),并介紹其中的重點(diǎn)難點(diǎn),但問(wèn)題是學(xué)生在沒(méi)有真正學(xué)習(xí)之前很難體會(huì)并記住。筆者在展示一章知識(shí)點(diǎn)時(shí),通常會(huì)使用部分關(guān)鍵詞幫助學(xué)生建立對(duì)一章內(nèi)容和重點(diǎn)難點(diǎn)的初步認(rèn)識(shí),例如在循環(huán)結(jié)構(gòu)一章學(xué)習(xí)中需解決的重點(diǎn)問(wèn)題概括為三個(gè)關(guān)鍵單詞,縮寫(xiě)在一起便成簡(jiǎn)寫(xiě)形式“2W+H”:
  1) 什么是循環(huán)?(What)
  2)為什么要使用循環(huán)?(Why)
  3) 如何實(shí)現(xiàn)循環(huán)?(How)
  “What”表示學(xué)生需要了解循環(huán)是什么,它的定義以及與其他結(jié)構(gòu)的區(qū)別;“Why”指為什么要使用循環(huán),它有何用處;“How”是實(shí)現(xiàn)循環(huán)的方式,即C語(yǔ)言提供給編程者實(shí)現(xiàn)循環(huán)的手段。三者各有側(cè)重,又相互聯(lián)系,教材中小節(jié)6.1對(duì)What、Why進(jìn)行了概述,而6.2至6.5則是對(duì)How——循環(huán)實(shí)現(xiàn)方式即控制語(yǔ)句的介紹。而在這些知識(shí)點(diǎn)中,了解循環(huán)的重要性又是一個(gè)難點(diǎn),即在解決具體問(wèn)題的過(guò)程中,學(xué)生能自覺(jué)地想到使用循環(huán)并了解它所帶來(lái)的好處。
  2.1.2巧用圖示法能事半功倍
  俗話(huà)說(shuō),一圖勝千言,采用視覺(jué)圖形展示知識(shí)結(jié)構(gòu)或者知識(shí)推理過(guò)程,具有直觀(guān)、形象生動(dòng)、簡(jiǎn)潔易懂等優(yōu)點(diǎn)[5]。尤其在程序設(shè)計(jì)語(yǔ)言的學(xué)習(xí)過(guò)程中,許多知識(shí)點(diǎn)都適合用圖形方式展示,如用算法流程圖展示一個(gè)問(wèn)題的解決過(guò)程。在講解什么是循環(huán)結(jié)構(gòu)時(shí),筆者除了用文字解釋外,還舉了一個(gè)大家熟知的例子加以說(shuō)明:國(guó)際奧委會(huì)是如何通過(guò)投票決定奧林匹克運(yùn)動(dòng)會(huì)主辦權(quán)城市的,將投票的過(guò)程用流程圖方式加以說(shuō)明,如圖2所示。值得注意的是,教師在展示算法的時(shí)候,應(yīng)該采取動(dòng)態(tài)展現(xiàn)各個(gè)步驟的方式,以體現(xiàn)算法步驟之間的次序關(guān)系,而不是一張靜態(tài)的圖。許多專(zhuān)家倡議教師教學(xué)時(shí)不要偷懶,多用黑板少依賴(lài)多媒體課件,我想大部分原因是老師在用黑板書(shū)寫(xiě)的時(shí)候更容易展示知識(shí)內(nèi)部的邏輯關(guān)系,老師對(duì)一個(gè)問(wèn)題的解題思路也更容易通過(guò)他手中互動(dòng)的粉筆得以更直觀(guān)的展現(xiàn)。
  
  算法流程圖可以展示一個(gè)問(wèn)題的解題過(guò)程,一組圖則可以達(dá)到對(duì)不同問(wèn)題進(jìn)行比較的目的,如圖1展示出來(lái)的三種基本結(jié)構(gòu)的區(qū)別,善用圖文結(jié)合是一個(gè)值得推薦的教學(xué)方法。
  2.2讓呆板的語(yǔ)法“活”起來(lái)
  盡管C語(yǔ)言語(yǔ)法簡(jiǎn)潔緊湊、一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,但由于C語(yǔ)言對(duì)語(yǔ)法限制不太嚴(yán)格、程序設(shè)計(jì)自由度大,程序書(shū)寫(xiě)自由,所以學(xué)生要真正掌握這些語(yǔ)法并能靈活運(yùn)用它們還是有相當(dāng)?shù)碾y度。但語(yǔ)法這個(gè)表面的形式是為了完成某種功能而設(shè)置的,脫離了它的功用就會(huì)變得枯燥,沒(méi)有生命力。如同國(guó)內(nèi)很多學(xué)生學(xué)習(xí)英語(yǔ)的誤區(qū):學(xué)生往往花了很大的功夫背英語(yǔ)單詞,包括英文的拼寫(xiě)、讀音、中文含義、不同詞態(tài)等等,卻很少在實(shí)際交流中用它們來(lái)表達(dá)某種意思,或者把它們放在一個(gè)句子或者一篇文章中的合適位置,發(fā)揮它們應(yīng)有的作用,可想而知這樣的學(xué)習(xí)方法會(huì)得到什么樣的結(jié)果。讀了十幾年英語(yǔ)的同學(xué)往往會(huì)讀會(huì)寫(xiě)幾千個(gè)單詞,卻不能靈活運(yùn)用其中的幾十個(gè)來(lái)進(jìn)行一些最日常的對(duì)話(huà);抑或一個(gè)句子中的每個(gè)單詞都認(rèn)識(shí)卻不理解這句話(huà)表達(dá)的意思。筆者認(rèn)為語(yǔ)言的功用都是相通的,英語(yǔ)或者中文是人與人交流的工具,程序設(shè)計(jì)語(yǔ)言是人與機(jī)器交流的工具,換言之,程序語(yǔ)言是人要計(jì)算機(jī)完成某項(xiàng)任務(wù)而提供給人使用的工具。如果要靈活運(yùn)用這個(gè)工具,除了熟悉各種語(yǔ)法和它們的含義即語(yǔ)義外,還一定要熟悉它們的用途即語(yǔ)用。例如,筆者在介紹關(guān)鍵詞goto的時(shí)候,不僅告訴學(xué)生它的語(yǔ)法形式為:goto <語(yǔ)句標(biāo)號(hào)>,它的語(yǔ)義功能為將程序流程無(wú)條件轉(zhuǎn)向標(biāo)號(hào)所指語(yǔ)句,還特別強(qiáng)調(diào)它的語(yǔ)用,即在實(shí)際應(yīng)用中通常與if語(yǔ)句配合完成在一定條件滿(mǎn)足之下的程序流程轉(zhuǎn)向,如圖3中所示程序是利用if…goto語(yǔ)句的配合實(shí)現(xiàn)循環(huán)控制。
  
  2.3如何讓一個(gè)問(wèn)題變成答案
  學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言最重要的目的之一是讓學(xué)習(xí)者拿到需要解決的問(wèn)題后,能獨(dú)立自主地想到解決的辦法并用程序把問(wèn)題變成解決它的答案。但如何從問(wèn)題變成答案,這一過(guò)程一般的教材涉及的很少,而一般老師講解的時(shí)候也側(cè)重于講程序本身的語(yǔ)句和含義,而對(duì)程序如何來(lái)的解釋不多,這種教學(xué)導(dǎo)致的一個(gè)不良結(jié)果是:學(xué)生雖然學(xué)習(xí)了很多程序,但當(dāng)他們面對(duì)一個(gè)類(lèi)似甚至更簡(jiǎn)單的問(wèn)題并要求獨(dú)立編程的時(shí)候卻不知如何下手。古人云:“授人以魚(yú)不如授人以漁”,說(shuō)的是傳授給人既有知識(shí),不如傳授給人學(xué)習(xí)知識(shí)的方法。教師傳授的知識(shí)是有限的,但學(xué)生掌握方法就可以獲取無(wú)限的未知的知識(shí),所以筆者認(rèn)為程序設(shè)計(jì)教學(xué)過(guò)程中教會(huì)學(xué)生如何對(duì)一個(gè)問(wèn)題進(jìn)行分析設(shè)計(jì)到最后編程這一過(guò)程非常重要。
  
  如何編程來(lái)解決一個(gè)問(wèn)題呢?我們要經(jīng)過(guò)先分析,再設(shè)計(jì),后編碼測(cè)試幾個(gè)環(huán)節(jié),在分析環(huán)節(jié),通常需要提取問(wèn)題中的關(guān)鍵信息并采用合適的數(shù)據(jù)類(lèi)型變量或常量來(lái)表示已知和待求的信息,同時(shí)發(fā)現(xiàn)問(wèn)題的求解規(guī)律。例如在循環(huán)結(jié)構(gòu)這一堂課中,有一個(gè)實(shí)例是要求求1到100的累加和。這一問(wèn)題中,可以明顯看出該問(wèn)題是一個(gè)求重復(fù)了99次的加法運(yùn)算的結(jié)果,而且被加的量從1開(kāi)始,每次以1遞增直到100。所以可以設(shè)置兩個(gè)變量i和sum,其中i 表示被加的量,sum表示累加和的結(jié)果。有了對(duì)問(wèn)題的基本分析后,第二步需要考慮的是如何設(shè)計(jì)實(shí)現(xiàn)的步驟即算法,對(duì)于算法,無(wú)論簡(jiǎn)單復(fù)雜,我們都可以將其所有的步驟初步分割成為三段:程序的初始化;中間處理;結(jié)果輸出。初始化部分包括程序已知信息的輸入、變量的初始化等,上例中不涉及運(yùn)行時(shí)人機(jī)交互的輸入,因?yàn)楸患拥牧繌?開(kāi)始,只需對(duì)被加的變量i初始化為1,累加和變量sum在累加之前應(yīng)當(dāng)為0;中間的處理最為關(guān)鍵,是將已知信息經(jīng)過(guò)若干步驟處理變?yōu)樗杞Y(jié)果的關(guān)鍵環(huán)節(jié)。以上例子經(jīng)過(guò)分析是一個(gè)重復(fù)了99次且有規(guī)律的加法,我們可以用學(xué)到的if…goto 循環(huán)結(jié)構(gòu)來(lái)組織這個(gè)運(yùn)算過(guò)程,如圖3所示,當(dāng)1<=i<=100的時(shí)候,就把i值累加到sum中去,每次i值都以1遞增,直到大于100便脫離循環(huán);最后一步相對(duì)簡(jiǎn)單,將所計(jì)算的結(jié)果sum進(jìn)行輸出。
  2.4實(shí)踐是硬道理
  幾乎計(jì)算機(jī)的所有課程都有相關(guān)的實(shí)驗(yàn),程序設(shè)計(jì)更是如此,所有的分析設(shè)計(jì)、所有的語(yǔ)法算法最終需要化為能運(yùn)行的程序才能體現(xiàn)它們的價(jià)值,教師在教學(xué)過(guò)程中能盡量將理論與實(shí)踐結(jié)合起來(lái),用現(xiàn)場(chǎng)的實(shí)驗(yàn)來(lái)驗(yàn)證程序的運(yùn)行結(jié)果,會(huì)給學(xué)生更深更直觀(guān)的感受。同時(shí),在演示過(guò)程中,教師還可以對(duì)程序作適量的修改以展示不同的結(jié)果,從而說(shuō)明某些注意事項(xiàng)。例如,在圖3的程序中,為了說(shuō)明循環(huán)結(jié)構(gòu)的注意事項(xiàng),采用以下方法:
  1) 循環(huán)體如果為一條以上的語(yǔ)句,應(yīng)使用復(fù)合語(yǔ)句。筆者在演示時(shí)將表示復(fù)合句的大括號(hào)去掉,運(yùn)行時(shí)候出現(xiàn)死循環(huán),通過(guò)要求學(xué)生分析原因更深刻了解編程規(guī)范化的重要性。
  2) 循環(huán)前,應(yīng)給循環(huán)變量賦初值;循環(huán)體中,一般應(yīng)該有改變循環(huán)控制變量值的語(yǔ)句,從而使得循環(huán)條件有變?yōu)榧俚臅r(shí)候,否則容易出現(xiàn)無(wú)限循環(huán)–––“死”循環(huán)。為了說(shuō)明,筆者將循環(huán)體中的i++去掉后運(yùn)行出現(xiàn)死循環(huán)。
  
  3教學(xué)內(nèi)容的延伸
  
  一堂課的教學(xué)內(nèi)容無(wú)論多么豐富,教師必須掌握時(shí)間的分配,留下一些師生互動(dòng)和獨(dú)立思考的空間給學(xué)生,也許課堂上他們無(wú)法完全回答出教師的提問(wèn),但提問(wèn)無(wú)疑有助于他們獨(dú)立思維能力的培養(yǎng)。多問(wèn)幾個(gè)為什么可以讓學(xué)生自己意識(shí)到對(duì)問(wèn)題認(rèn)識(shí)的局限性從而自動(dòng)修正和完善。大學(xué)決不能“灌輸式”教學(xué),通過(guò)對(duì)已學(xué)內(nèi)容的延伸和舉一反三,學(xué)生可以更好地理解理論知識(shí)以達(dá)到靈活運(yùn)用的目的。筆者在講完循環(huán)控制語(yǔ)句if…goto語(yǔ)法與應(yīng)用后,要求學(xué)生用它解決以下問(wèn)題:輸入一個(gè)班學(xué)生的成績(jī),求全班的平均成績(jī)。待學(xué)生獨(dú)立思考后,引導(dǎo)他們對(duì)其進(jìn)行分析和設(shè)計(jì)。
  
  4結(jié)語(yǔ)
  
  總之,作為一名程序設(shè)計(jì)課程的教師,上好一堂課看似簡(jiǎn)單實(shí)則不易,在上課前教師需要仔細(xì)思考上課所需要的教學(xué)內(nèi)容、教學(xué)環(huán)節(jié)的安排以及其中教學(xué)方法和工具的運(yùn)用。在此引用湖南省精品課程評(píng)審組專(zhuān)家對(duì)筆者這一堂課的評(píng)價(jià)作為結(jié)論:為了使同學(xué)們能較好掌握將要學(xué)習(xí)的新內(nèi)容,回顧了已經(jīng)學(xué)過(guò)的“順序結(jié)構(gòu)”、“選擇結(jié)構(gòu)”的概念,并通過(guò)引例使學(xué)生理解“循環(huán)結(jié)構(gòu)”,提出了“2W+1H”的概念。幻燈片具體詳實(shí),學(xué)生易于理解和接受。在講解中還有VC實(shí)驗(yàn)環(huán)境現(xiàn)場(chǎng)實(shí)驗(yàn),使理論教學(xué)與實(shí)驗(yàn)指導(dǎo)相結(jié)合。同事和學(xué)生觀(guān)看后,一致認(rèn)為授課教師儀態(tài)端莊、聲音清晰,充分采用多媒體的教學(xué)方式進(jìn)行教學(xué),內(nèi)容豐富,反映了老師個(gè)性化的教學(xué)特點(diǎn)[6]。
  注:我校C語(yǔ)言程序設(shè)計(jì)課程已經(jīng)成功申請(qǐng)成為湖南省2010省級(jí)建設(shè)精品課程,筆者為主講教師之一,此堂課視頻內(nèi)容可以通過(guò)以下鏈接獲?。篽ttp://218.75.216.182/sp/c/c3/content.htm。
  
  參考文獻(xiàn):
  [1] 譚浩強(qiáng). C程序設(shè)計(jì)[M]. 3版. 北京:清華大學(xué)

任丘市| 连州市| 垫江县| 米泉市| 固始县| 昌黎县| 炎陵县| 湟源县| 河南省| 琼结县| 临西县| 密山市| 九江市| 涡阳县| 利津县| 沅陵县| 永昌县| 科技| 高尔夫| 左云县| 和田市| 兴义市| 平江县| 哈尔滨市| 双城市| 聂拉木县| 应城市| 长子县| 名山县| 长岭县| 香格里拉县| 双流县| 汽车| 沾化县| 黔西| 寿宁县| 雅安市| 礼泉县| 钦州市| 湖北省| 舒城县|