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