趙廣智
摘要:C語言是我國高校普遍開設的一門基礎課程,它是一門高級程序設計語言,使用廣泛,表達能力強,目標代碼運行效率高,可移植性好,因此《C語言程序設計》課程在教學中占有重要地位。為了提高課堂生動性、學生的學習興趣,發揮多媒體教學的優勢,根據本人的所學經歷及多年的實際教學經驗,在本文提出了一些行之有效的方法。
關鍵詞:C語言程序設計;多媒體教學;教學改革;教學過程
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2015)41-0114-02
隨著信息時代的不斷發展,計算機在各行各業的迅速普及,對計算機使用水平的要求越來越高。對于高校的學生來說,為了提高計算機水平都在努力學習相關課程,而C語言程序設計就是其中的一門,對它的學習是提高人們計算機知識水平的重要步驟。在高職高專學校教育中C語言占有很重要的地位,它不僅是計算機專業學生必須學習的一門專業基礎課程,同時也是其他專業學生的主要選修課之一。作為一門實踐性與應用性較強的基礎課程,《C語言程序設計》的主要目的是培養學生算法設計的基本思想和基本程序設計的技能。這門課內容主要包括C語言的基本概念、基本語法以及C語言程序設計的基本方法,所以在教學過程中不僅要重視理論教學,還要做好實踐性環節和案例的討論與分析。只有這樣才能為以后學習其他相關課程奠定基礎。目前有這樣一種現象,就是教師與學生普遍認為C語言難教也難學,特別是很多院校的計算機系將這門課作為大一學生進校后首先接觸的第一門專業基礎課,這對教從沒接觸過計算機課程的學生和老師來說更為明顯。
根據目前這種現狀,現將我自己所學經歷及多年對這門課程的教經驗和體會與大家做一下探討。
一、教材選取,閱讀教學大綱,深入教材改革
《C語言程序設計》這門課本身比較抽象,特別是對于剛接觸計算機的學生開始學的時候很難理解。這門課開始教學時,主要講授一些難以理解和記憶的理論知識,如變量、數據類型、運算符、表達式、語句、函數定義、使用說明等。這些內容會使一些學生失去學習C語言的興趣。為了避免這種現象的出現,針對初學者的學習習慣和心理,從基礎入手,從零開始,介紹最基本的計算機知識和最基本的操作以及最需要掌握的計算機技能,循序漸進,內容結構清晰明了。所以在選取教材時,我們要根據以下幾點來選擇,一,針對性強,循序漸進,結構清晰;二,突出應用型培訓計劃,遵循20%與80%規律,重實踐,可操作性強;三,重點難點突出,編程風格優雅,解釋詳細。
選好教材以后,把環境配置完成。現在就要從書的前言開始,慢慢仔細地閱讀選取好的教材,大部分人喜歡直接從第一章開始看書,其實這種做法是錯誤的。整本書的大體介紹體現在前言部分,在前言部分作者一般都會寫關于本書的特點,仔細閱讀完前言,還要瀏覽一下目錄,這樣可以幫助你了解一下此書的整體結構,以便給自己安排一下教學計劃。之后,我們開始準備如何進行教學,在教學中我們要思考怎么能讓學生對本課感興趣,根據自己的經歷我們對于初學者應該采用“案例驅動,興趣引導,自身實現”的教學方法,用當下流行的小游戲為案例來講解如何用C語言編程實現游戲的過程,這樣可以提高學生的學習興趣。最后讓他們自己動手建立一個開發項目,這不但能夠提高他們的學習積極性,還能鍛煉他們的動手操作能力,同時也能使學生獲取一定的實際編程經驗。
二、使用網絡及多媒體教學方式進行C語言教學
隨著信息技術的發展,人類社會已逐漸進入了信息化時代,多媒體、因特網的應用已經普及,網絡信息時代已在不斷改變著人們的生產生活方式。教學也在其中,傳統的教學方式也將被網絡技術的應用而取代。在教學過程中,使用多媒體技術進行輔助教學,不但能使老師的講課內容表現得生動,還能增加學生的學習興趣,發揮他們的主體能力。例如我們可以把重點與難點內容用Authorware或FLASH軟件制作成動畫形式演示教學,這樣可以真實、直觀地把一些抽象的比較難理解的知識展現出來。老師就可以重點講解程序算法,在講解過程中教師可以根據教學需要靈活地控制和改變演示課件時的速度、次數,以及前后順序等。根據以上軟件的特點,學生可以動手控制動畫的執行步驟。他們在練習時根據自己的思維,利用幾何圖形、色彩變化及閃爍等效果,來解決C語言課程中比較典型的問題,如漢諾塔問題、楊輝三角形,以便達到程序執行過程的動態變化過程。
課后,老師也可以通過網絡把自己的教學課件、大綱、習題等相關內容發到網上,方便學生課后自行查閱。這樣學生在課后遇到問題時,可以通過計算機訪問網站查詢老師每次講課的內容,編寫程序時也可以先通過網站查找相關資料。這種方式便于學生整理學習筆記,培養學生解決問題的能力。另外,師生之間還可以通過Email、QQ進行討論上課內容,以彌補課堂教學的不足。
三、給學生創造動手操作的條件,培養能力學生
學習《C語言程序設計》這門課的主要目的是學會用計算機語言編寫程序,掌握設計程序的思路,實現要處理的任務。學生編程能力的提高,不是聽一聽、看一看就會的,而是通過做一些練習練出來的。但機械的作業練習只能完成對知識的認識,并不能理解與運用。老師要調動起學生的積極性,應把教學重點放在解題的思路上。以比賽的形式,讓學生對一個實際的案例進行分析設計并給出算法,進行編寫。這樣可以讓學生在短時間內提高自身運用C語言的能力。從而學會怎樣設計一個算法,構造一個程序。因此,在教學過程中,老師可以根據講完的教學內容設置相應的題目,讓學生先從編寫簡單的程序開始,逐步深入,為以后實驗課上進行專項比賽打好基礎。根據課時安排以及要掌握的基本知識,在選實訓題目時,設置必做與選做題,來滿足不同層次學生的需要。在每個大知識點結束后,可以試著安排一次專項應用比賽,一來可以檢驗學生掌握知識的程度,二來培養學生的綜合應用能力。比賽結束后樹立學習榜樣,以增強學生學習的動力。
在C語言的編程方面,“授之以魚,不如授之以漁”。“程序”其實就是“過程”與“順序”的結合。一般的程序設計要經過分析問題、建立數學模型、選擇算法、編寫程序、測試運行、分析結果這么幾個步驟才能將實際問題通過計算機進行解決。教師在教學的時候不能只滿足于能教學生多少知識,還要培養學生獨立分析、解決問題能力。所以,老師在上課的時候應擺脫生硬的灌輸,培養學生的學習能力、興趣,樹立他們正確的學習動機。如在上課前給學生預留問題,讓他們在課余時間去解決。這樣能挖掘學生的學習潛力,還能促進教學內容的改革。
四、采用客觀的方法去評價學生的成績
對于任何一門課來說,用考試來衡量它的教學與學習的標準并不是唯一的方法。對于《C語言程序設計》這門集C語言語法掌握能力、邏輯能力、編程能力為一體的綜合課程課來說,更是如此。如果要想檢驗老師對這門課的教學和學生學習情況,不能只看學生“知不知道”,而要看他們“會不會干”。所以不能只用考是非題和選擇題作為評價的方法,應該把重點放在編制程序和調試程序上。基于以上我們應該采用綜合考評法作為對學生學習成績的評定,也就是說把平時的實踐成績與期末的考試成績進行綜合,得出本課程最后的評分。這種方法,既能反映學生的學習情況,也能對他們的學習起到促進作用,從而達到比較滿意的教學效果。
對于每一所高校來講,最終目的是培養一個有學習能力和實際動手操作能力的學生,而不是拿著一張滿分的成績單。所以用單一的考核方法去評價學生的學習效果和老師的教學情況,是不科學的。我們要用多種方式去評價,當然除了綜合考核法,還可以用一下反復考試法。因為每次考試后,總會有學生對自己成績不滿意,認為沒有考出自己實際水平,這時可以給他們提供一次或多次重新考試的機會。
五、培養學生面向社會化的編程能力
學生在學校學習知識就是為了以后能夠更好地服務社會,所以我們可以在教學上使用學校與企業合作的方法作為課程建設。學校是人才培育基地,可以為企業輸送合格的畢業生,為他們提供技術,校企結合實現互惠。找一家對口的企業,聽取他們對本課程教學改革的意見,邀請他們為學生做講座或者提供校外實訓機會或就業崗位,從而使學生提前進入工作編程角色。
總之,在《C語言程序設計》課程中,我們要努力提高學生對課程的興趣和學習熱情,在教學手段上充分利用多媒體、網絡軟件等手段,最終使學生既能充分掌握理論知識技能,又有熟練的動手實踐能力,為學生以后進一步的學習奠定理論基礎。
參考文獻:
[1]譚浩強.C語言程序設計[M].北京:清華大學出版社,2000.1.
[2]余蘇寧.C++程序設計[M].北京:高等教育出版社,2004.1.
[3]李春葆.C程序設計[M].北京:清華大學出版社,2005.
[4]李祥林,賈桂霞,包理群,蘭聰花,李穎.語言程序設計課程改革與實踐探討[J].甘肅聯合大學學報(自然科學版),2012,(04).
[5]盧照,南麗麗,楊秀榮.《C語言程序設計》教學中問題和改進方法的探討[J].現代計算機(專業版),2012,(01).