趙芳遠
【摘要】本文結合C語言程序設計課程教學實踐,分析了《C語言程序設計》教學過程中存在的問題,主張在教學中,應注重培養學生編程的學習興趣,調動學習積極性;采用啟發、引導的教學方法,培養學生的實際應用能力;并注意以內容為中心,以培養能力為目標,完善考核形式。
【關鍵詞】《C語言程序設計》;學習興趣;教學方法;考核方式
C語言是計算機語言的一種,它具有語法簡潔、運算符豐富、結構靈活、書寫容易、語法要求不嚴格,它不但具有所有高級語言的特點,同時兼有低級語言的功能,是計算機必修的一門課程。但相對其他高級語言難懂,難掌握。為了提高C語言教學效果,首先應從培養學生學習興趣入手,下面結合本人多年《C語言程序設計》教學經驗談談體會。
一、培養學生編程的學習興趣,調動學習積極性
興趣是最好的老師,培養學生的興趣就是關鍵。在《C語言程序設計》課程教學中,如何找到一條比較新穎、有效的解決程序設計枯燥、難懂的教學方式,一直是從事計算機教學的教師不斷探索和研究的方向。也就是說不管老師講得多好,如果學生對你所講的內容不感興趣、感覺沒用,他就不會努力學習這門課程,你的教學肯定是不成功的。為了避免學生出現對C語言這門課的誤解,對它失去興趣。起初上課時,我們不要講授太多太深的理論知識,但可結合學生已學知識,演示幾個用C語言開發的相關程序,例如讓學生玩一些由C語言開發設計的五子棋、俄羅斯方塊等游戲,或用各種計算器按要求計算求值,通過實例的有效引入,可以讓學生了解C語言的實用性,培養學生的學習積極性。然后讓學生親自上機操作,驗證運行程序,逐漸培養他們的興趣,樹立學生學習C語言的信心,激起學生學習的興趣。學生學習的積極性調動起來了,這對教師來說,就已經成功了一半,就極大地激發了學生的學習興趣,使得以往老師的滿堂灌輸的填鴨式教學變成學生自主學習。
二、采用啟發、引導的教學方法,培養學生的實際應用能力
1、因“材”施教與因“需”施教相結合
《C語言程序設計》課程的內涵十分豐富,涉及的知識單元和知識點很多。因此在教學過程中,不僅要培養學生程序設計的技能,還要培養學生系統分析和系統開發的技能。實施C語言的教學,首先要選擇合適的教材,這樣既有利于教師設計教學過程,又有助于學生的學。這里所講的“材”是指以教材為綱,按照教材的章節按部就班地講授,課堂教學中往往以教師講課為主,要求學生緊跟教師的思路,但是教學方法極易造成教與學的脫節,限制學生創造力的正常發揮。而“需”是緊扣教學大綱所確定的培養目標,以應用為目的,以必需夠用為尺度,打破課程界限,將相關的知識點加以整合,按照“實際、實用、實踐”的原則組織教學內容,這是程序設計課教學方法的重要方面,也是對教師在講課過程中提出了更高要求。
2、提倡實例教學
《C語言程序設計》,像任何其他語言的程序設計一樣,教材中前幾章多數都是先介紹基礎概念,相對比較抽象難懂,然后才介紹程序的結構和運行過程。因此在教學中,可適當打破課本原有以知識的邏輯結構體系為順序組織課堂教學的方式,改用從簡單有趣的實例入手,通過讓學生觀看、模仿,在實際操作中去探究和領悟這些概念,例如,在一開始學習C語言語法時,我設計了打印一行文字的程序實例,讓學生一起做,按功能鍵F9編譯程序,在DOS環境下運行。在操作的過程當中,簡單提示學生,等學生完成任務后,通過設問,讓學生思考:什么是語句,語句有什么特點?并讓學生找出本實例中各語句,說說各語句的特點,在此基礎上,再適當歸納總結出C語言應用程序的基本步驟,一切問題都迎刃而解。在講解實例時,精選出的具有代表性的程序實例,把重點放在具體實例的分析和講解上,把要學習的語法和概念融入到具體實例中來講解。
3、重視算法,抓住核心
在教學中經常存在這樣一種現象:很多學生對語法、結構等知識掌握得很好,但一旦碰到實際問題就束手無策,不知道如何用學到的知識解決實際問題,其實這是算法能力欠缺的一種表現。教師經常注重于分析每條語句的含義,卻忽略了算法描述過程的展現,造成學生知其然不知其所以然。其實,在C語言中,算法設計是它的核心。如果學生掌握了良好的算法設計能力,也就掌握了釣魚的本領,無論遇到什么問題都可以很好的解決。那么在教學中可以通過多種方法培養學生的算法設計能力,帶領學生多閱讀程序,分析過程,吸取他人的經驗和成熟的算法,使學生少走彎路或不走彎路。開展實踐性學習,引導學生積極參與編程實踐,促進思維的飛躍,比如讓學生練習編輯班級學生檔案管理軟件等等。在這個過程中,學生親自動手解決具有一定難度的實際問題,經過實踐去培養學生的創新思維、應用意識和探究能力。這些意識和能力一旦形成,就會使學生利用C語言解決實際問題能力得到很快的提高。
4、培養學生綜合運用知識及自己動手的能力
程序設計課程的實踐性很強,“精講多練”是程序設計課程教學的一大特點,實驗教學在程序設計教學中起著重要的作用,學生只有通過自己編寫程序、上機調試程序,才能從中理解程序設計的思想方法、積累程序調試的經驗,體會成功的樂趣,從而激發學生的學習興趣,學生只聽不練根本達不到學習的目的。學生在完成課后習題時積極性不高,興趣不大,甚至想抄作業應付老師。只有讓學生動手編制他們感興趣的程序,學生才會有成就感,才會對課程產生興趣,學起來才會從容自如。如在學生學會編寫求1+2+…+N!=?的程序后,即引導學生設計求N!的程序,待學生設計出N!的程序后,接著又讓學生進一步設計求1!+2!+…+N!=?的程序。這種一環緊扣一環的探究式的動手實踐練習,以發展學生探索能力為主線來組織實踐,以培養探究性思維的方法為目標,以基本的教材為內容,使學生通過再發現的步驟進行主動實踐的過程,產生一種探索和發現的心理。因此如何讓學生綜合應用所學知識解決實際問題,提高綜合應用能力和動手操作能力,激發學習興趣也是我們需要加入課程設計的內容。課程設計時,老師要重點設計選題,使得選題既貼近實際需要,又能夠讓學生感興趣,并且能夠運用所學知識解決問題,從而進一步培養學生分析問題、解決問題、研究和探索問題的能力。
三、以內容為中心,以培養能力為目標,完善考核形式
在我們的評價體系中,盡量做到多元、客觀、個性。首先,不以一張試卷評定成績,而是從多個方面來進行,采用綜合評價學生的方式。例如,在平時的操作中有創新,可以進行加分,在平時的小競賽中獲獎的可以加分,鼓勵學生發揮自己的創意。考試也分成兩個部分:第一部分是操作題,按照要求能獨立地完成一項工作,并要有一定的創意;第二部分是筆試題,多以理解性為主,少考乃至不考死記硬背的內容。C語言作為一門重要的編程語言,在計算機基礎教學中仍然重要位置,教學方法的不斷創新,在程序設計教學中的決定著程序設計教學的效率。考核方式的多元化則是檢驗教學質量的有效方式。