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