郝惠馨 李秀坤 辛明影
摘要:本文根據“C語言程序設計”課程的內容及特點,探討了如何在“C語言程序設計”實驗教學中采用科學的實驗教學手段和方法,合理組織實驗教學,培養學生的學習興趣,激發學生自主學習的熱情,從而提高學生的實踐與創新能力,為提高教學質量,培養高素質計算機人才打下良好基礎。
關鍵詞:C語言程序設計;實驗教學;指導方法;實踐與創新能力
中圖分類號:G642 文獻標識碼:A
1引言
“C語言程序設計”是一門實踐性很強的課程,在實驗中編制、調試程序是學習和研究C語言的最根本的方法,作為實驗指導教師,在實踐教學中如何改變教學方法,把教學重點轉到幫助學生主動學習、參與動手、形成能力上來,轉到組織學生開展自主型學習、探究型學習和合作型學習上來呢?我們充分利用上機實驗這一教學環節,努力改進實驗指導方法,達到在實驗中提高學生各方面綜合實踐能力的目的,為學生進一步學習其他專業課程和今后從事軟件開發工作打下堅實的基礎。
2采用科學的教學方法,培養學生的學習興趣
隨著計算機的發展與普及,大部分新生在上大學之前,就掌握了一定的計算機知識,具備一定的計算機操作能力。但是從整體上看,學生的基礎很不一致,而且大一新生初入大學,對新環境、新學科感到陌生,甚至有的同學認為計算機課就是上網和玩游戲,對基礎和理論學科不感興趣。如何根據學生的實際情況,讓學生愛學、樂學,最根本的是要從求知活動本身入手,讓學生體驗到學習和探索的樂趣。這就有必要在“C語言程序設計”教學中采用創新的教學方法,來提高學生的學習興趣,培養學生的創造力和實踐能力。在“C語言程序設計”實驗教學中,主要從以下幾方面對學生進行了創新教學實踐。
2.1關注計算機發展歷史,激發學生的學習熱情
計算機的發展歷史只有幾十年,但是這幾十年的發展對社會生產力的促進,是非常巨大的,學生對這些歷史并不是很了解。書本上除了介紹了世界上第一臺電子計算機的誕生,至今經歷了四代(由邏輯元件變化劃分)以外,關于計算機的歷史介紹很簡單,其實每一代的發展都有不少精彩的故事,故事本身對學生的影響遠勝于知識本身。例如C語言的產生是從一個叫做“Space Travel”的電子游戲開始的,Ken Thompson為使它能在PDP-7上運行,用匯編語言給PDP-7寫了一個操作系統——UNIX,他感覺匯編語言太不好用了,需要高級語言,于是在BCPL基礎上,自己設計了一個B語言,后來UNIX開始發展,B語言也不夠用了,Dennis Ritchie加入,把B改造成了C,并用C重寫了UNIX。
我國的計算機發展起步較慢,到目前仍處于追趕外國的階段。因此我們要利用計算機的發展歷史,對同學們進行創造教育和愛國主義教育,讓學生多了解一些發明創造的事跡,使學生學習發明家獻身科學、百折不撓的創新精神,從中受到啟迪。
2.2引導學生自己動手,使學生從好奇到產生濃厚興趣
例如,在初次上機實驗之前,我們為學生布置了一道實驗題目——身高預測:影響孩子成人后的身高的因素主要有遺傳、自身性別、飲食習慣、體育鍛煉等。已知父母身高、孩子性別及是否有良好的飲食習慣、是否經常體育鍛煉,要求學生事先有一個大致思路,上機實驗時編好程序,求出孩子身高。這道題學生拿過來一看非常簡單,只是簡單的輸入與輸出,但學生上機后發現,看似簡單的題實際上并不一定那么簡單,程序并沒有得到預想的結果,而且編譯沒有問題,錯誤不易被檢查出來。學生這時就會產生好奇,得不到正確的結果的原因會是什么呢?經過啟發研究,通過跟蹤變量發現,原來是SCANF函數的問題,知道產生問題的原因后,學生就要想辦法來解決這個問題,學生經過自己動手,最終解決了問題,在不斷地遇到新的問題,并解決出現的問題的過程當中,學生的學習興趣日漸濃厚,他們會主動去思考同一問題是否還有其他的解決辦法,或自己找一些與課程相關的題目來完成。
2.3開展豐富多彩的活動,互幫互學,共同進步
在實踐初期,實驗教師要將查找資料的方法和途徑告訴學生,使他們學會利用網絡這個強有力的工具,學會運用自己所學去解決遇到的問題。如指導教師給定的題目中,要用到這樣一個函數:srand( ),教材中給出一部分關于此函數的相關知識,學生還可自己上網查閱關于此函數的更多相關用法。廣泛地閱讀書籍、論文,利用互聯網等資源,通過動手實踐來解決問題,學生的視野會變得更寬,思考得更深入,不會單純地受到一個教師、一本書或一個作者的思想和能力的束縛,從而在實驗的過程中,增加學習本課程的興趣與信心,這時可以開展活動可以讓同學們互幫互學,共同進步。
這些活動內容可以是學習經驗介紹,小發明小創造,也可以是某一方面問題的調查報告。還可以進行學生作品演示活動,由學生講解并演示自己的作品,讓同學們體會優秀的作品好在哪里,一般的作品哪些地方還需要改進。好的解決方案向更多的同學推廣,這樣使每位同學的創新思維大大加強,從而提高同學們學習的興趣和熱情。對在此過程中出現的失誤和失敗,也要肯定學生的探索精神。這樣學生在糾正缺點彌補不足的過程中就已經使自己的實踐能力得以提高,每位同學的創新思維也大大加強了。
這些活動貫穿整個學期,學生從中得到不僅僅是單純的知識,還有創新的學習實踐過程,這對他們的能力發展有很大的幫助。通過這些實踐環節,學生們收獲很大,一是學過的內容得到了強化,二是自學能力增強了,一些沒講過的內容通過看書、查資料、上網得到了解決,同時也更增加了對這門課的興趣。
3實行個性化教育,因材施教、由易到難
在實驗教學中應增設綜合性設計實踐環節,針對學生學習能力的不同程度,指導教師對學生的要求也分出層次。這樣做既加強了學生實踐操作的綜合應用,又挖掘了學生潛在的創新意識與實踐能力。
實驗教師在指導時在不同時期給出不同的實驗題目,實驗題目有10~20個左右,供學生自由選擇,把題目就難易程度和內容特點分成幾類,教師做到因人而異具體地指導。對基礎相對來說較差的同學,可以只完成必做的題目,基礎好的同學在此基礎上拔高,實驗教師提出要求,讓學生自己設計,自己完成。
基礎部分:每個同學都要掌握實驗大綱要求的內容,要求學生根據所學的知識,查閱必要的資料,毎人都要獨立完成,教師只給出一般的提示和答疑,并嚴格把關,嚴禁抄襲,借此來培養和考查學生獨立分析問題和解決問題的能力。
提高部分:對學有余力、有興趣學習更多內容的同學,再多設置一些真實有趣的實驗題目,這些題目有多樣的解決辦法和無限的發揮空間,如手機游戲貪吃蛇、五子棋、藍黃棋、文曲星猜數游戲、電腦游戲推箱子等都可以讓學生自己來做。實驗教師不應給出題目的解決辦法和思路,至多只能提示一下思考方向,完全讓學生通過自己的能力來解決問題。學生從選題、查閱資料、制定設計方案,再到設計一步一個腳印地走過來,一定會有所收獲。
滲透部分:可以讓幾個學生做一個創新性、設計性、綜合性實驗,即大作業,毎人分一部分,教師做到因人而異具體地指導,同學間可一人完成大家共享。做到完成者不但知其然而且還知其所以然,享者知其然即可,這樣做既可使毎人重點突出,又能保證整個體系的完整。
開拓部分:學生完成程序基本要求后,實驗教師可以啟發學生對與實驗題目相關的問題展開探討、研究,還可以讓學生自己設計一些動畫、圖形界面等,這樣做,既拓寬了學生的視野,又培養了學生的綜合能力。
4努力為學生的創新能力發展創造機會
創新是對未知的探索與求解,教學不僅要向學生傳授知識和技能,還要創造必要的條件,真正體現“以學生為中心”的思想,培養學生獨立創造的個性品質,培養他們的創新素質,使他們主動參與到教學活動中,從而去發現新知識,培養創造性思維能力,即培養學生的創新意識和實踐能力。
對軟件實驗中心來說,為學生們提供什么樣的平臺,怎樣幫助他們進行創新設計是我們一直在思考的問題。目前我們實驗室已為學生提供了創新實踐的場地和環境,并提供相應的幫助,讓他們可以在課余時間充分利用網絡尋找素材,去完成一些自己感興趣的課題。
5結束語
總之,通過“C語言程序設計”實驗的改革與創新,采用科學的實驗教學手段和方法,積極發揮實驗教師的引導作用,激發了學生學習的積極性,調動了學生學習的主動性,全面提高了他們的綜合實踐能力,學生在學習本課程時遇到的問題,都會在實驗中基本得到解決,通過實驗,有些知識得到更進一步的理解,而不用再死記硬背。學生直接簡便地掌握了課程的基本內容,教學中的重點、難點也易于掌握,學生對知識掌握的深度普遍提高。學生在實驗中自己理解和發揮的成份增多,知識水準有大幅度提高,為后續的課程教學奠定了堅實的實踐基礎。在以后上數據結構、操作系統、編譯原理等專業基礎課時,同學們會嘗試著多做一些實踐,通過上機調試來自己解決遇到的問題,那么學習效果一定會事半功倍,這使得學生的自主學習的能力大大提高。
參考文獻:
[1] 蘇曉紅,陳惠鵬,孫志崗,等. C語言大學實用教程[M]. 北京:電子工業出版社,2004.
[2] R?M?加涅.學習的條件和教學論[M].華東師范大學出版社,1999.
Teaching Practice and Innovation in “The C Programming Language” Course
HAO Hui-xingLI Xiu-kunXING Ming-ying
(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150090, China)
Abstract: Based on the contents and characteristics of “The C Programming Language” course, this paper discusses how to use scientific teaching methods in “The C Programming Language” experiments, reasonably organize teaching experimental, culture students interest in learning and stimulating the self-study enthusiasm of students to enhance the students ability of practice and innovation. Which would lay a good foundation for enhancing the quality of teaching and culturing highly qualified personnel.
Key words: the C programming language; experiment teaching; teaching methods; ability of practice and innovation