摘要:《C語言程序設計》是程序設計的入門課程,也是學習計算機的基礎,但是由于C語言的理論性、概念性強,運算符、數據結構多,學生在學習這門課程過程中往往感覺難度大,不好學。為此,本文針對此問題,在教學方法方面提出了一些建設性的意見。
關鍵詞:趣味性;任務驅動教學模式;創新能力
C語言是目前世界上流行、使用最廣泛的高級程序設計語言,很多學校的計算機及其相關專業都將《C語言程序設計》作為必修課,但是在這門課的授課過程中,很多教師感到力不從心,教學效果不理想,因此,探討一套行之有效的教學方法就顯得尤為重要。
一、增加課堂趣味性,提高學生的學習興趣
工作中我們常常有這樣的體會,并不是所有的教學內容都是有趣的,如《C語言程序設計》與其他課程的教學相比,就愈發顯得枯燥。現代心理學的研究已證明:愉快、歡樂、適度平穩的情緒能使中樞神經活動處于最佳狀態,保證體內各系統的協調一致,充分發揮機體的潛能。在課堂中安排有趣味的例子吸引學生、培養興趣,刺激學生的好奇心,能使教學有趣有味,達到事半功倍的效果。在多年的實踐過程中,筆者的趣味教學得到了學生的認可,學生由厭學上升到喜歡學,受益匪淺。
由于C語言是計算機相關專業最基礎的課程之一,學生一般在學習C語言之前,對程序語言沒有任何概念,這就增加了教學的難度。為了增加學生對C語言的趣味性,教師在授課過程中,可以適當的演示一些用C語言編寫的聲音、圖形、動畫等小程序,使學生明白C語言編寫的程序不僅僅是那些枯燥的文本數字,知道C語言的重要性,從而產生濃厚的興趣。同時,授課過程中多創設一些情境,例如在通過講解 “九宮圖”問題時,我們可以這么講解:請大家做一回黃蓉,幫靖哥哥填九宮圖。為逃避裘千仞的追殺,靖哥哥背著黃蓉逃進瑛姑的住所,瑛姑出了一道難題,要求靖哥哥將1~9這9個數字填入九宮圖中,使得橫向、縱向、斜向的數字之和均為15。這種方式就使問題變得非常形象化。總之,所有的教學方式的選擇都應該以增加課堂趣味性,提高學生學習興趣為基準,使學生由被動學習轉變為主動學習。
二、重視教學內容的組織,突出重點、難點
在教學過程中,教師一般都按照教材的編寫順序來講解,在《C語言程序設計》中,前幾章介紹的都是一些變量、運算符、表達式、控制語句等,這些內容對于一群之前沒有接觸過編程的學生來說,顯得非常的枯燥乏味,容易打擊他們的積極性,從而產生厭煩情緒。因此,教師在授課過程中,應該以程序設計為主線,將這些內容的講解都融入到程序設計當中,讓學生多動手、多思考,這樣的學習過程不僅使學生掌握了最基礎的知識,也增加了學生的學習能力。
另外,教師在《C語言程序設計》的教學過程中要突出課程的重點、難點。如:
1. 復合語句
復合語句就是用一對“||”把若干語句括起來構成一個語句組。復合語句是C語言中最重要的一種語句,也是比較難理解、容易混淆的語句。教師在講解這部分時,可以給出一些程序示例的源碼,讓學生進行自主分析。
2. 指針
C語言學習中最重要,也是最難的一點就是指針的使用,正所謂“學好了指針就等于學好了C語言”。
首先要讓學生理解指針的概念。其次,讓學生理解指針和地址在概念上的區別。再次,讓學生區分內存單元的指針和內存單元的內容。最后,讓學生掌握指針的相關操作(指針函數參數、指針數組、指針函數等),要注意在實踐應用中讓學生學會如何運用指針解決問題。
三、加強課堂間的討論,增加課堂的互動
《C語言程序設計》和其他學科一樣也有很多待討論的問題,所以討論在《C語言程序設計》教學中占有很重的地位,如一些開放型問題、疑難問題等,都比較適合討論。
1. 提出討論的主題
即創設討論的“焦點”問題。教師可以自己先設計一些問題,讓學生針對這些問題提前閱讀資料,再展開討論,也可以讓學生自己提出問題。
討fagfpioCBeoYgH0urc6eB/cviDFzUPzdkPvQA+9nyNA=論的主題可以是多種多樣的,例如:
(1)根據教材的重點和難點,為便于學生掌握并加深理解而精心設置的題目。例如:指針的調用、指針作為參數的傳遞等。
(2)探討性的題目。如在教學中,學生之間對某個問題的認識發生分歧,或者學生對教材中的結論提出懷疑時,教師不作正面回答,將分歧點和疑點交給學生討論。例如:兩種不同算法之間的效率比價等。
(3)設置一些難實現的問題引發討論。例如:如何用C語言實現鏈表等。
總之,討論的主題應是探討性或比較難實現的問題,也可以是解釋性或應用性的問題。一個明確的事實或共識的觀點,是無法引起討論的。討論題不能太簡單也不能太深奧,太簡單會讓學生覺得無話可說,或者幾句就說完,積極性調動不起來;太深奧,學生會感覺吃力,無從下手。對于一個較大或者較復雜的問題,可以將問題化小,按層次序列化。
2. 列出討論提綱
為防止討論時跑題,或者沒有焦點,教師可以預先準備一個討論提綱,以便學生在討論時能有次序、有焦點地進行。
3. 討論前的準備
宣布討論的原則,向學生介紹討論的題目、目的以及評價等具體問題;根據討論的形式作必要準備。對于需要做資料調查或實驗準備的討論,可以預先布置討論的任務,讓學生分工去搜集資料、從事調查或實驗,寫好討論發言稿,然后再進行課堂討論。
4. 展開討論
組織學生發言,可以有以下的形式:自由發言、指定主要發言人、臨時指定發言人或者輪流發言等。
四、引入任務驅動教學模式,提高學生創新能力
任務驅動教學模式的實施過程是學習者在教師的引導下,緊緊圍繞一個共同的任務活動中心,在問題動機的驅動下,通過對學習資源的積極主動應用,進行自主探索和互動協作的學習。在學習過程中,學生通過完成相應的任務,構建真正屬于自己的知識與技能。
1. 提出任務
任務的提出應該說是任務驅動教學模式中最為關鍵的第一步,任務設計的好壞能夠直接決定教學目標的能否成功實現。任務是課堂教學的“導火線”,是問題提出的表現。任務驅動的特點是:把所要講授的內容巧妙地隱含在一個個任務中,使學生通過完成任務達到掌握所學知識的目的。因此,教師在授課之前應該悉心設置任務。
例如在講解控制語句時,可以提出以下任務:
任務1:根據學生成績決定獎學金等級。
任務2:小學生四則運算程序的開發。
通過這些任務,可以使學生很好地理解:(1)if…else…多分支選擇結構;(2)switch開關結構;(3)選擇語句的嵌套。
2. 分析任務、搜集資料、發現問題、解決問題
任務給出后,教師不要急于講解,應先讓學生討論、分析任務,搜集相關的資料,提出完成任務需要做哪些事情,發現要完成任務存在哪些問題。導致這些問題存在的原因,可能是知識的掌握問題,也可能是資料搜集不全的問題。對于知識的掌握問題,如果知識是以前己經學習過的,學生復習以前的內容,自己就會給出解決方案,如果知識是沒有學習過的,即含在任務中的新知識點,教師可在學生提出問題之后給予積極的引導,讓學生自己去探索,弄懂相關知識,尋求解決問題的方案。而如果是資料不全的問題,教師可引導學生利用網絡查閱資料,學會利用因特網搜集資料,解決自己碰到的問題。只有通過這種方式,才能培養起學生解決問題的能力。
3. 總結與評價
在解決問題、完成任務之后,教師要針對完成任務過程中暴露的問題進行分析總結,針對不完善的地方進行修改。對任務進行評價時,教師要多說一些鼓勵的話,激發學生的興趣。
參考文獻:
[1]