前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的高級語言程序設計主題范文,僅供參考,歡迎閱讀并收藏。
[關鍵詞] 教學內容 課堂提問 上機實驗
“高級語言程序設計”是一門實踐性非常強的專業基礎課程。本課程是向學生介紹程序設計的基礎知識,要求學生掌握程序設計的基本概念,基本思想和基本技能,訓練學生的實踐能力,培養學生的自學能力和創新能力并使之能將計算機技術應用于本專業領域中。學習本門課程還為學生今后進一步學習“軟件技術基礎”課程打下理論基礎,同時也為學生參加國家教委考試中心主辦的計算機二級等級考試做好準備。本文將對本課程的課堂教學方法進行總結和探索。
一、課堂教學內容的調整和把握
本課程以譚浩強的“C語言程序設計”第三版作為教材,理論課時為20學時,上機學時為12學時。然而結合教學大綱,這門課程的教學內容豐富,課程難度大,理論性和實踐性都很強,教學任務很重。尤其該課程面向的是大一的新生,絕大部分學生的計算機基礎幾乎為零,因此,在進行教學時,我很注意教學內容的調整和組織。在課程講授之初,先從基本的語法規則入手,盡可能避免程序的出現,讓學生先從簡單到復雜,從語法到算法,從學會看懂程序到編寫簡單的程序,然后逐步深入,把重點放在解題的思路上,通過大量的例題學習怎么設計一個算法,構造一個程序。單純依靠課堂講解理論很單調枯燥,而且學生不容易理解和消化,遠遠不能滿足課程的教學要求,所以,在課程教學中,我引入了多媒體教學。多媒體教學在新課導入上有其獨特的效果,它能使學生充分利用他們的聽覺和視覺,調動他們的能動性,激發他們的興趣,以達到最佳的學習效果。同時,我還采用了打比方等方法,將抽象的概念變得形象化、具體化,簡單易懂,學生容易掌握,促進他們的不斷學習。比如,我在引入“程序”這個概念的時候,將程序比喻成要做的一道菜,需要一定的原料還有加工過程:菜=原料+加工,其中所要用的原料就對應程序中的數據組織形式,即數據結構,而菜的加工過程就對應程序的具體數據組織,即算法,也就是:程序=數據結構+算法。另外,我還調整部分教學內容,例如,我把第五章選擇結構程序設計中的關系運算符和關系表達式、邏輯運算符和邏輯表達式以及條件運算符提前到第三章數據類型、運算符與表達式來集中介紹,先讓學生集中學習,然后到以后章節遇到的時候再復習,強化,方便學生對運算符和表達式的掌握。為了讓學生更好的理解整型、實型以及字符型等數據類型在內存中的存放形式,我給學生首先補充講解了計算機中數的表示以及進制轉換、數值的原碼、反碼和補碼的表示方法。對于第二章算法的內容在學生剛開始學習的時候不好理解和把握,我將其分解開來,貫穿到第四、五、六章順序程序、選擇程序以及循環程序的設計的學習中,方便學生更深刻的理解算法以及編程思維的培養。利用這些教學手段,有利于學生知識的獲取,從而突破教學的重點,淡化教學的難點,提高課堂教學質量。
二、課堂提問在教學中的巧妙運用
大學的課堂教學中,有部分老師會將課堂提問的環節省略,課堂上只出現老師在講臺上講,學生在座位上聽的這種模式,不利于教學成果的檢測,教學質量的提高也會受到很大的影響。教學是教與學的交流,師生雙方應相互交流、相互溝通、相互啟發、相互補充。學生不應處在被動地位,而應積極地參與其中,與老師共同完成知識的傳授與接受過程。我在課堂教學中會專門設計課堂提問,來調動學生參與教學過程的積極性,活躍課堂氣氛。同時通過課堂提問,對學生知識水平的檢測,把握學生對已授知識的掌握程度,可以及時反饋教學信息,檢測教學效果好壞。再根據學生回答問題的情況,課后對自身的教學過程進行反思,不斷的改進教學方法和手段,成功的方面加以總結,不足的地方分析原因,加以改進。例如,我常常會在課堂上書寫一些程序,讓學生將其讀懂,一方面,激活學生思維,讓他們能開動腦筋,積極思考,及時點評和總結學生的回答,另一方面,根據學生的回答情況,判斷學生對所講授的函數的理解和對所使用方法的掌握,來調整我的講授方法。我所授課的班級人數接近一百人,而且每周有一次課是在上午三四節,通過課堂提問的方式,不僅讓我認識了很多學生,在很短的時間內可以和學生更好的交流與溝通,而且可以刺激學生神經,提高學生的注意力,克服了學生在三、四節容易疲勞,聽課效果容易下降的毛病。學生回答問題的過程,既是一個開動腦筋、積極思考的過程,又是一個運用語言準確表達思維的過程。剛開始的時候,我發現班上有一些學生在課堂上不愿發言、不善發言、不敢發言,通過鼓勵與舉例,讓學生逐漸有敢于表達的意識,通過課堂提問,培養了學生的語言表達能力,鍛煉了他們在公眾場合大膽發言的心理素質。學生每次都很積極,爭取他們的展示自我,鍛煉自我的機會。
三、重視和靈活安排上機實驗
上機實驗環節是本課程的重要環節,上機實驗可以加深學生對課堂所學基本原理、典型方面和技術感性的認識,增強學生的動手實踐能力。通過上機實驗,使學生更深入地理解解決問題的基本思想方法,掌握基本的處理技術,使學生更加認識到課程的重要性,激發他們刻苦學習的熱情,為將來應用于實際和進行科學研究打下良好的基礎。本課程的上機學時所占比重很大,以前有很多老師在安排上機的時候都采用很集中的方式,只安排兩三次上機,而一次上機至少是四個學時,這樣的上機效果并不好,學生感到厭倦,而且不能解決逐漸暴露出來的一些實際問題。針對這種現象,我將上機實驗與課堂授課交替安排,在學生學習了一定的理論知識后就安排相應的上機實驗,每次上機兩個學時,這樣既能有效緩解教學進度上學生普遍感覺的講解速度太快,超出他們所能接受的范圍,又能讓學生理論應用于實踐,及時解決相應的問題,增強動手能力,強化了所學習的知識點。針對學生上機實驗反映出的問題,再次回到課堂的時候又統一講解和強調,加深學生的理解。比如,在給學生介紹常量、變量標示符的定義時,發現學生在上機使用的時候是很不規范的,隨意的使用一些字母就表示了變量,自己都不知道具體代表什么意思,我就多舉例,用PRICE表示價格,用sum表示所求的和,用max表示大等等,規范學生的標示符定義意識。在講循環結構的時候,多舉例引導學生找尋循環規律,再用相應的循環語句編程實現,給學生灌輸規范的編程理念,上機的時候逐步實踐,積累自己處理實際問題的能力。學生平時的作業也能夠通過及時的上機來進行調試、更正,引導學生用自己的思維和方法來解決問題,而不是通過抄寫配套的上機指導上面的參考答案來應付交差,讓學生更積極主動的去開動腦筋,同時更多地鍛煉了自己的動手能力。對每次實驗,我要求學生在用自己的算法處理每個實際問題并得到相應的結果后寫出實驗報告和他們的上機心得以及對實驗的建議和要求,培養學生解決實際問題的能力和技巧。學生的積極性和熱情度是非常的高,不僅通過自己的努力得到了正確的實驗結果,把握了相關的知識點,還認真思考,給我提供了不少實驗改進的建議,便于我對實驗項目的調整和改進。同時通過上機實驗,可以使學生的思維開闊,將所學習的知識點融會貫通,可以使用不同的方法解決同一個問題,更好地將所學習的知識得以應用。剛開始實驗的時候,我為了讓學生掌握相應的知識點,可能就會針對性的設計一些題目,讓學生用當堂課所學習的函數或方法來解決問題,到了后面學生接觸的函數更多了,我設計的題目就不會僅僅限于用一種函數或一種方法來解決,而是讓學生自由地發揮,只要能解決問題的方法都可以使用,同時讓學生比較不同方法之間的差異、優劣,引導學生如何用更好的方法去解決問題。如用while語句和for語句來求解1到100的和,用條件運算符和關系運算符來實現比較兩個數或者是多個數的大小等。同時還鼓勵學生找程序的錯誤,上機時很多同學在編譯出錯后不會自己主動去找出問題所在,直接找老師,老師忙得不可開交,實際指導的效率并不高,因此我會調動學生相互改錯,對表現突出的學生給予一定的實驗課分數的獎勵。
四、改變考核方式
結合本課程的特點,我們采用筆試、上機考試以及平時作業相結合的綜合考查方式。筆試部分側重于基本概念、基本語法以及基本編程思想的理解和掌握。上機部分是讓學生在規定的時間內解決給定的題目,上機調試通過。結合學生課堂回答問題和平時作業的完成以及上機調試改正的情況,構成學生的平時成績。考核中,筆試占到60分,上機占到30分,平時占到10分。通過這樣的考核方式,激勵學生上課認真聽講,回答老師提出的問題,課后認真完成作業,而不是相互抄襲,使得學生充分把握上機的寶貴時間,不斷的調試程序,解決語法錯誤,培養自己處理實際問題的能力,督促學生認真編寫程序,不再偷偷玩電腦游戲,同時經過上機考試,讓學生積累臨場作戰經驗,以適應以后的計算機等級考試。
“高級語言程序設計”課程是實踐性很強的重要先修課程,研究探索有效的課堂教學設計實驗方法,可提高教學效率和質量,加深學生對講課內容的理解,激發學生學習興趣和鉆研精神,規范學生的編程思想,提高學生的應用能力,為以后其他相關課程的學習和實踐奠定堅實的基礎。
參考文獻:
關鍵詞:高級語言程序設計;學習興趣;教學研究
高級語言程序設計是大部分高校計算機專業本科生接觸的第一門計算機語言課程,是計算機專業的核心課程,也是數據結構、軟件工程等后續專業課的基礎,其教學效果的好壞直接影響到學生對計算機軟件開發的認識和后續課程的學習。傳統的教學側重于知識的傳授,對學生的學習興趣等因素重視不夠。筆者在多年的高級語言程序設計課程教學實踐和研究中深深體會到,培養、激發和提高學生對課程的興趣對提高教學質量具有至關重要的意義,濃厚的學習興趣是搞好課程教學、提高學生學習效果的關鍵。如何培養、激發和提高學生的學習興趣,是一個值得廣大計算機教育工作者深入研究和探索的問題,本文將結合筆者多年的教學經驗和對本科計算機教學改革的嘗試,從6個方面來探究這個問題,并給出相應的方法。
1融洽師生感情,創造良好學習氛圍
興趣是一種巨大的激勵學習的潛在力量,也是人們認識某種事物或愛好某種活動的傾向,這種傾向總是和一定的情感相聯系。美國心理學家布魯納提出:“學習的最好刺激是對所學材料本身發生興趣,興趣可以孕育愿望,可以滋生動力[1]”。當一個學生對自己所學的知識產生興趣時,他就會積極主動地去學習探索,而不會把學習看成是負擔。濃厚的學習興趣會
使學生對知識的世界進行積極地、不懈的追求和探索,充滿激情,會主動克服所遇到的一切困難。正如孔子所說:“知之者不如好之者,好之者不如樂之者。” 學生具有明確的學習目的、高昂的學習情緒、濃厚的學習興趣、強烈的學習愿望,是學好課程的最重要的內部動力。據國外學者研究發現,獲得成功的諸因素中,興趣占25%,而失敗的諸因素中,缺乏興趣占35%,足見興趣在取得成功中所起的重要作用。
培養學生的學習興趣,首先要搞好師生之間的關系。古語云:“親其師、信其道。”師生之間感情上的融洽程度,會直接影響到學生對課程的喜好程度,以至影響最終的教學效果。要想使學生喜歡老師,教師必須從自身做起。良好的道德修養和高尚的人格魅力,認真的工作態度及扎實、豐富的知識,是愛學生和被學生愛的教師的內在需求。教師首先要自修,自身素質好的教師,才能對學生產生吸引力,有了這個吸引力,學生才會悅納老師。其次要尊重學生,關愛學生,公平對待每一個學生。只有這樣,學生才會真正喜歡上老師,進而可能喜歡這個老師上的課程。
2讓學生一開始就認識到課程的重要性
要想培養學生的學習興趣,就要讓學生一開始就認識到課程的重要性。任何人對事物的認識都是由淺入深,學生對一門課程的認識也是如此,剛開始還沒有意識到該課程的重要性或者認識不深,隨著教學的深入,學生逐漸認識到課程的重要性,等到認識全面的時候已經到了學期的期末,想要好好學習卻已經有些晚了。為此,作為教師有必要在剛開始的教學活動中,讓學生充分認識到課程的重要性,認識到該課程無論是在專業體系中還是在日常生活中都是至關重要的,讓學生在主觀上重視起來,進而有動力去學,并在學習中逐漸體會到學習的樂趣,從而對課程建立起濃厚的學習興趣。
在講授高級語言程序設計時,教師除了在第一次課上向學生介紹課程在計算機專業體系中所處的地位及作用外,還需結合課堂內容給學生列舉高級語言在生產實踐中的應用及其發展前景,使學生意識到學習高級語言確實學有所用,無論是對社會發展還是對自身就業都有所幫助,這樣學生就會對這門課程更感興趣,也更有動力去學。
3精心選擇例題
由于沒有編程經驗,大部分學生接觸到這門課程時,對編程會感到非常新奇、好玩,但隨著課程中大量的語法規則、概念的不斷引入,問題難度的逐漸加大,其中一部分甚至是大部分學生會感覺枯燥無味。為了使學生保持最初的好奇心乃至轉化為學習興趣,需要教師在教學過程中精心地選擇例題。
1) 選擇趣味性的例題。
在課堂和實踐教學過程中可選擇一些趣味性的例題,如“撲克牌洗牌”、“百錢買百雞”、“愛因斯坦階梯”等。這些充滿樂趣的問題有利于學生輕松愉快地學習、積極主動地思考,而且印象深刻。
2) 選擇能夠解決實際問題的例題。
傳統的高級語言程序設計教學主要以語法規則的逐步深入為線索來進行教學,這種方法有利于學生對語法知識循序漸進地學習,但往往是學生學了大半學期,學會了語法規則,卻不知道這些語法規則有什么用,最終的后果是所學和所用嚴重脫節。因此在教學過程中,筆者所在教學梯隊精心設計了一些能解決實際應用問題的案例,每一章安排一個比較完整而且有實際應用價值的實例,例如:求玉米地產量、求綠化帶面積、學生成績管理、圖書卡管理等日常生活中能遇到的實際應用問題。在教學過程中引導學生首先把實際問題轉換成為數學問題,再為數學問題的求解尋找合適的方法,然后為實現計算方法給出具體的算法,最后利用高級語言編寫程序、調試、測試。針對每一個問題,都引導學生學會如何分析問題、解決問題,而不是只去學語法規則。這樣學生就能了解如何利用計算機解決現實世界中的問題,從而增加他們學習的動力和積極性。當然,在案例的編排上,要注意結合語法規則的循序漸進。
3) 在游戲中快樂學習。
游戲是絕大部分學生都喜歡做的一件事情,如果能把知識的學習融入到游戲中去,就能寓教于樂[2]。高級語言程序設計的目的是讓學生熟練掌握一門計算機高級語言,熟悉利用該語言開發軟件的過程,進而解決實際問題。高級語言本身的基礎知識和基本操作的學習相對來說比較枯燥乏味,但是我們不能把枯燥乏味帶給學生,使學生對學習失去興趣,要使學生在快樂中學習。正因為這些,在計算機教學設計中要充分利用游戲的作用,利用游戲的精彩,提高學生學習計算機的興趣。
計算機游戲非常多,從掃雷、五子棋到三國等,教師可以引導學生利用所學的計算機高級語言來編寫一些簡單的游戲,不僅可以鍛煉學生的邏輯思維能力,而且可以讓學生在快樂中掌握該種語言的基礎知識、熟悉開發項目的過程,更能激發學生的學習興趣。學生在游戲過程中生動地學習,在學習過程中快樂地游戲,從而達到預期的教學目的。
在課余時間,教師要有目的地介紹一些益智類的游戲給學生,并要結合實例講解其中所蘊含的知識點,也可以讓學生成立小組,自行開發一些小型的游戲并定期組織一些比賽。學生們對其非常感興趣,在編寫游戲和玩游戲的過程中自娛自樂,同時,玩游戲本身又是對自己編寫的程序進行測試和不斷完善的過程,不僅有利于培養學生的自主學習、合作精神和探究能力,同時有利于培養學生的創新實踐能力。
關鍵詞:教學;人才培養;創新能力;學習模型
培養創新人才是我國發展戰略的內在需要,高等學校擔負著培養具有創新精神和實踐能力的高級專門人才的神圣使命,應該責無旁貸地開展創新教育,為社會不斷輸送具有創造性思維和創新能力的各種專業人才[1]。
在高等學校高級語言程序設計課程教學中,學生通常一開始就接觸具體的語法。隨著所學知識的增多,學生原有的想法都沒有了,變成了學習某種高級語言的機器。這種形而上學的教學方法往往讓學生忽視了解決問題的過程,而將注意力都集中在語言細節上。最后學生掌握了大量的語言細節,卻不會編程解決實際問題。有的學生開始學習某門課程想做許多事情,可學期結束后發現離自己的興趣越來越遠,所擁有的只是大量的知識,而學生一旦失去興趣,學習的勁頭也就少了很多。
好的人才應該能夠駕馭知識和創新知識,而不應是知識的擁有者和附從者。因此,我們要積極探索培養創新型學生的學習模型,以適應國家培養創新型人才的戰略需要。
1高級語言程序設計新學習模型
高級編程語言是為解決問題產生的,好的高級編程語言應該容易讓人理解,因此,對問題的理解有助于對編程語言的理解。學生對生活和以前所學知識有大量的體驗,也有許多新奇的想法,這些都是創新的源泉。學習高級語言程序設計不是讓學生丟掉這些想法,而是讓學生把已有的體驗和所學的高級語言建立關聯。這樣,學生既可以通過自己以前解決問題的體驗理解高級語言,又可以通過自己的體驗進行有新意的編程實踐,不僅不會扼殺已有的創造性,還會豐富自己的創造思維,掌握如何用編程實現自己的新奇想法。好奇心和興趣是學生創新的源泉[2],課程學習應時刻圍繞個學生的興趣推進。激發學生的創新意識,調動其創新的勇氣,最根本的是要尊重學生的個性和想象力[3]。
根據這種思路,在高級編程語言――C語言課程教學中,我們沒有讓學生一開始就學習數據類型、表達式等具體知識,而是在課程簡介后安排了許多有趣的程序演示,如求兩數之最大數、猜數游戲、估時游戲、輸入重現、輸入鏡像、迷宮游戲、積分計算等,這些有趣的例子使學生可以將高級編程語言和自己以前的體驗建立關聯。
學生找到自己感興趣的例子后,老師直接讓學生讀這些程序的源代碼,其中就包含著許多學生沒有學到的語句,如類型聲明、表達式、條件語句、循環語句等。由于學生對例子的功能已經非常了解,所以會根據自己的經驗和想法作出猜測,結果表明,經過努
力,學生還是基本看懂了代碼。對于復雜一些的例子,老師可以在關鍵的地方稍加講解。
學生基本理解演示例子的代碼后,老師就C語言的特點、程序基本結構和一些注意事項作出提示和補充,學生很快就能掌握基本的編程。這一過程的學習學生不是強制記憶,因此不會輕易忘掉。
對于編程語言的細節,老師只告訴學生有哪些地方值得注意,讓學生一一了解,至于具體的規定,學生可以自學,有疑問時和老師一起探討。如果學生畢業以后遇到相關問題,可以通過查閱書籍,就能夠解決問題。
2知識互動的學習模型
知識互動學習模型和傳統學習模型的不同之處在于,在知識互動學習模型中,不是直接學習新知識,而是在和舊知識的互動中學習。正因為如此,它具有以下特點:
(1) 新知識和已有知識互動,學習新知識的同時激活舊知識,舊知識和新知識相互促進,交替增長。
(2) 新知識的學習沒有壓制已有的想法,相反能保持和發揚已有的創新性。
(3) 新舊知識交叉創新。
(4) 乘積式效果,新舊知識互動產生乘積放大效應,充分調動知識張力。
(5) 學生已有的興趣獲得繼承和提升。
知識互動學習模型如圖1所示。
知識互動學習模型和傳統學習模型的不同如下:
(1) 舊的學習模型中,新學的知識壓制了學生已有的創造性。因為新知識的學習往往只注重自身的知識結構,而忽視學生已有的知識結構和體驗,雖然學生掌握了大量的新知識,卻失去了原有的創造性。而在知識互動學習模型中,新學的知識和學生已有的知識結構和體驗是一種平等的關系,新知識的學習在二者的互動中進行。
(2) 學生在新舊知識的互動中激發新想法,衍生新知識,不僅學到了要學的知識,而且舊知識也被激活。
(3) 新的學習模型更尊重學生內在的創造性,更能保持和發揚學生的創新能力,有利于培育既有知識又有創新能力的人才。
3知識互動學習模型實施方法
知識互動學習模型的實施方法如下:
(1) 在學習新知識的過程中,通過新知識喚醒舊知識,通過舊知識吸納新知識。每學習一些新知識,就及時和舊知識充分互動。
(2) 避免一次大量學習與舊知識無關的新知識,正如給草添土一樣,要慢慢添,邊添邊長,而不要一次添大量的土,把草壓住。新知識的學習不要一味追求量,即新知識的細節讓學生有選擇地接受,而不要讓學生一攬子全部接受。可以通過例子演示等方式,讓學生將新知識與已有知識建立關聯,而不要急于灌輸新知識。這樣做的另一個好處是給學生新舊知識發酵的時間,讓新舊知識產生張力。
(3) 教師就新知識的關鍵點和注意事項及時做出講解和補充。由于教學是圍繞學生的興趣進行,而不是按照新知識的體系面面俱到地講解,因此教師應在學生學習過程中就新知識的關鍵點和注意事項及時做出講解和補充。
(4) 注重學生自學與創新能力的發揮。在充分調動學生的興趣后,以學生的興趣為引導,把重點放在新知識的關鍵點和注意事項上,而讓學生在實踐中有選擇地自學細節。老師應關注新舊知識的互動,并注重學生自學與創新能力的發揮,把課堂舉例趣味化、實用化,讓學生在自己感興趣的實踐中得到提高。
(5) 計算機知識與人文知識互動。人文教育不一定必須開辟相關課程,計算機廣泛服務于社會的方方面面,尤其是非數字計算,這其中自然包含很多的文化發展教育。例如:算法是程序設計的核心,但至今為止,不是全部的算法都可以在現代計算機上實現,其原因就在于計算機空間的有限性和人類生命時間的有限性。在多重循環語句嵌套的教學中,如“百錢買百雞”案例,教師不僅教學生循環知識點的使用,而且分析算法的時間復雜度,促進學生關注程序優化的重要性。教師更可以提出“人類基因圖譜”繪制研究為什么出現在今天、禽流感基因為什么難于被繪制、感冒病毒為什么不可以提前預測等一系列問題。
4結語
高等學校擔負著培養創新型人才的重要使命,而學習模型直接影響到能否保持和發揚學生的創新性。在這方面,知識互動的學習模型具有重要的價值和意義,值得進一步深入研究。
參考文獻:
[1] 于衡,張竟洋.高素質創新人才培養之我見[J].遼寧行政學院學報,2008,10(07):143.
[2] 林崇德.培養和造就高素質的創造性人才[J].北京師范大學學報:社會科學版,1999(1):5-13.
[3] 岳曉東,龔放.創新思維的形成與創新人才的培養[J].教育研究,1999(10):9-16.
Exploration of Learning Model for Innovation Capability in High-level Language Programming Teaching
LI Xiao-dong, ZHANG Xiao-li
(Computer Science and Technology Department, Beijing Electronic Science and Technology Institute, Beijing 100071, China)
關鍵詞:C語言程序設計 教學方法 實踐
中圖分類號:TP312.1 文獻標識碼:A 文章編號:1007-9416(2013)06-0168-02
1 引言
C語言是國際上廣泛流行的計算機高級語言,自1972年問世以來,以其功能強大、使用靈活,既可用于編寫應用軟件,又能用于編寫系統軟件的特點得到迅速推廣[1]。以我院電氣工程系生產過程自動化技術專業為例,它是很重要的一門專業基礎課,一般安排52學時左右(包括上機實驗),通過該課程的學習,學生不僅能夠掌握程序設計的一些基本方法和技巧,也為后續課程的學習打下基礎。但現階段非計算機專業的C語言教學不容樂觀,為了激發學生的學習興趣,在近幾年的實際教學中不斷進行探索和實踐,得到一些有益的啟示。
2 存在問題
2.1 學習不主動,學習方法不科學
近幾年高校擴招緣故,高職學生基礎下降,自我控制能力和自我約束能力較差,對學習沒有興趣。特別是對于非計算機專業的學生認為這門課程不重要,學習時課前不預習,上課注意力不集中,只是機械的聽老師講課,課堂上也不做筆記,課后也不及時復習[2],這樣的惡性循環造成了學生對C語言越學越不會的局面。
2.2 教學方法單一,降低了學習興趣
在傳統的C語言整個教學過程中,教師始終處于主導地位,學生只是被動的接受知識,再加之教師只是一味地給學生灌輸C語言的語法知識,而忽略了編程,學生處于一種“學完忘完”的現象。教學內容的枯燥,教學方法的單一,學生難以發揮學習的主動性和積極性,降低了學習興趣。
3 改進方法
3.1 課堂多互動,調動學生學習興趣
傳統的教學主要以教師講授為主,學生只是被動的接受,我們學院一節課課時長達100分鐘,學生很難集中注意力,不能主動的去分析問題、解決問題。在講課的同時,教師可以通過提問---回答---講解的方式使學生注意力集中,還可以通過分組、進行小組討論,讓學生處于主體,提高學生興趣,活躍課堂氣氛,調動學生積極性。
3.2 教學方法和手段的改革
3.2.1 從問題入手,進行啟發式教學
傳統的教學過程是先介紹基本概念,再講解語法知識,然后圍繞語法知識進行舉例,最后上機編程運行。對于高職學生來說,邏輯思維比較差,對于純理論的東西缺乏興趣。在教學過程中要精心設計各種問題,把教學內容巧妙地隱含在每個任務中,讓學生帶著任務和問題去學習[3]。比如在講數組時先提出問題:如何編寫程序來計算全班同學的平均成績?這個時候學生進入思考過程,能力強一些的甚至試圖動手寫出程序。但由于之前只學過變量,程序中變量設置過多,比較麻煩,這個時候,教師可以引出一批相同類型的數據應該怎么解決-----數組的概念,最終成功解決問題。
3.2.2 作業布置循序漸進,由易到難
教師在布置作業時,要能夠滿足學生的成就心理,以鼓勵的方式進行作業設置。也就是說在作業布置時應該從簡單入手,必要時給出提示或相似的例子,由易到難提高作業難度,這樣可以增強學生自信心,進而解決更難的問題。例如在利用循環的嵌套打印圖形組合的作業中,作業題目由易到難可以做如下布置。
這個題目在先前題目的基礎上,進一步提高了難度,由有規律變換變成了無規律變換的圖形組合,學生通過本題目的練習有意識的會拆分圖形,把無規律變換成為有規律變換,對知識融會貫通,成功解決問題。
由此可見,從所學知識的簡單應用到復雜推廣,可在逐步增加難度的題目中逐漸提高學生的應用能力。
3.2.3 理論與實踐相結合,提高學生實踐能力
C語言程序設計這門課程是實踐性較強的課程,不僅要學習理論知識,更重要的是要學以致用,利用所學到的知識編寫程序解決實際問題。在上機過程中,學生可以通過編譯軟件掌握程序的編寫、調試、運行。在具體的操作中,發現問題、解決問題。本專業理論與實踐課比是2:1,一般兩次理論課后安排一次上機,這樣學生可以吧課堂上的理論知識通過編譯軟件進行練習,進一步驗證程序的可執行行。這樣不但能培養學生動手能力,還能培養學生獨立思考能力,理論與實踐相結合,提高學習的質量和效率。
4 結語
總之,在C語言程序設計的教學過程中,要努力提高學生對該課程的學習興趣和學習熱情,在教學方法和手段上不斷進行改革,加強實踐動手能力。C語言的教學改革是一項長期的過程,需要我們不斷改進、不斷完善,只有堅持不懈的探索實踐,才能達到更好的效果。
參考文獻
[1]譚浩強.C語言程序設計.北京:清華大學出版社,2010.2-6.
【關鍵詞】C語言 程序設計 教學方法 改革
【基金項目】湖南省大學生研究性學習和創新性實驗計劃項目(湘教通(2011)272號);湖南省教育科學“十二五”規劃課題(XJK011CJG004);湖南省教研教改基金項目:湘教通【2010】243號
【中圖分類號】G642 【文獻標識碼】A 【文章編號】2095-3089(2012)07-0022-02
C語言是國內外廣泛使用的一種程序設計語言,從匯編語言,C語言,到C++語言,VC++,Java的流行,是程序設計發展的重要過程,學好C語言是學習程序設計的重要環節之一。C語言程序設計是我校重要的基礎課程之一,被定位為各專業大學生第二門計算機公共基礎課,通過該課程的學習,一是讓學生掌握一種高級語言工具,二是了解程序設計的基本思想和方法、培養程序設計的基本能力。
由于校園文化的原因,很多新生被“灌輸”C語言很難學,特別是針對非計算機專業的學生來說,不是專業課且不用考試僅為考查,很多學生就認為不重要,這些潛在的因素將對該課程的學習積極性產生不良影響。因此,對我們任課老師在該課程的教學方法和手段上提出了更高的要求,為激發學生的學習興趣,教學效果顯得尤為重要。作者根據多年從事C語言程序設計教學的實踐,對該課程教學實踐中遇到的若干問題進行整理,并提出一些解決思路,以供同仁們共同探討。
一、培養學習興趣,增強學習信心
非計算機專業的很多學生都不知道上這門課有什么用,可以做什么。因此,第一堂課對該課程后續教學效果,激發學生學習興趣,增強學習信心至關重要。興趣是最好的老師,學習目的便是滋發興趣的源泉。第一堂課的內容:①講述學習該課程的目的:一是為了通過國家、省級計算機等級考試,根據學校的相關規定,只有取得相關證書才可以獲得學歷學位證書,專升本的必備條件之一;二是了解程序設計的基本思想和方法,為今后在學習、工作中使用計算機,解決相關問題打下良好的基礎。②通過以往學生做的程序展示,讓學生樹立能學好這門課的信心;通過代表性的案例展示,間接獲得學習C語言的成就感,讓學生建立學習這門課的興趣。③通過簡單梳理目錄,指出C語言程序設計中重點和難點章節,從一開始就讓同學們掌握這些基本信息,在后續學習中做到有的放矢。
二、教學方法和教學手段改革
以湖南工學院C語言程序設計這門課程教學安排為例,要么采用單一的多媒體教室,要么采用單一的黑板教室來授課,其實這些單一的教學方式針對該課程來說,都達不到理想的效果。作為教學方式和手段,教師在教學過程中根據教學的內容、教學對象、教學條件等因素可以靈活地選擇。教師在教學方法的使用中扮演著重要的角色。教師對所授課程是否存在明確的教學目標導向,是否明確教學過程中的重點、難點,是否能因材施教,是否能得心應手地應用這些教學方式的使用技巧等等,這些因素也會影響教學效果,因為教和學的過程確實是復雜多變的。盡管現在的教學手段已經趨向于多媒體化,黑板被投影儀所代替,但是仍然避免不了“填鴨式”教學的被動局面,老師和學生之間不能很好地互動起來,學生處于被動接受知識的局面。針對這種情況,筆者在實際教學中采用傳統教學方式與多媒體教學方式相結合。作者結合自己多年的教學經驗,采用的是有黑板的多媒體教室上課,通過與學生的交流得知取得了良好的效果。如在講授數組中排序算法(冒泡法、比較法、選擇法)時,在黑板上板書任意選取的5個數,然后分別利用各種算法思想,一步步進行排序演示,在此過程中積極與學生互動,讓學生也參與到解題過程中,一起推導,最后得到相應的排序輸出結果,與此同時總結經驗,簡化過程,采用圖示的方法來說明每種排序算法的方法,如圖1所示。然后在計算機上根據黑板的推導過程,采用C語言的語法規則進行代碼的編輯——編譯——運行——查看結果。學生和老師都全程參與到解題過程中,起到了事半功倍的效果。
三、教學內容的改革
在高校計算機語言課程的授課中,目前存在以下幾個問題:①像其他課程授課方式一樣,照目錄章節講解;②側重于語法結構,忽略程序設計思想的培養;③算法設計中數學思維能力薄弱;④缺乏綜合性項目的練習。
針對這些情況,作者根據實際情況對C語言程序設計的授課內容做了適當調整。首先,語法、規則略講,只要求了解基本的,同時也不要求學生死記硬背,而是采用項目驅動方式,安排適當的任務,在解題過程中強化語感,接觸多了就自然而然的理解了。再者,在解題之前,首先要求學生采用數學的思維方式來考慮問題,然后再轉換成C語言解決問題。最后,作者對國家級、省級等級考試的程序設計題型進行了總結歸納,重點講授典型綜合題型,按知識點逐個講解,圍繞每個知識點結合示例將各個知識點融合加強理解,然后將相關題型進行變換,布置給學生,達到舉一反三的效果。
四、緊密聯系生活實際,利用自然語言教學
在課堂上講述理論的同時,教師要通過實際案例的演示與講解,把抽象、枯燥的知識點形象化、趣味化,幫助學生理解和應用。例如學循環結構時,很多學生很難理解從什么時候開始,到什么時候結束,不知道循環體怎么寫,我們可以舉一個簡單的例子,假設給在座的所有同學倒水喝,過程就是拿杯子——倒水——給某個同學,從第一個同學開始到最后一個結束,用for語句簡單的描述為:
for(第一個同學;最后一名同學;下一個)
{
拿杯子;
倒水;
給某個同學;
}
運用自然語言的思維進行C語言程序設計教學,不僅可以降低C語言本身的抽象性、提高學生的學習興趣,而且還可以加強學生對C語言的理解和記憶,最終真正掌握C語言程序設計的方法和技巧。
五、實驗教學改革
要提高學生的編程能力和水平,上機實踐是必不可少的環節,在教學中,要特別注重教學和實踐的有機結合。C語言實際動手能力是學生的一大難題,如何提高學生的編程動手能力是授課教師急需解決的問題。上機習題的選擇要有針對性和目的性。針對不同階段的學習內容和要求,由易到難,對于學習好的學生另外增加題目,同時也鼓勵她們根據自身的興趣愛好自己設計題目,充分調動學習的主動性和創造性,讓學生感到學有所用,激發學習興趣。在具體上機過程中,要求學生做好準備,注重培養學生調試和測試程序的能力;強調編程書寫格式,增加編程的層次結構,增加必要的注釋、盡可能的采用模塊化設計,養成良好的編程習慣。
六、結束語
本文針對C語言中教與學存在的問題進行了改革探索,并在多年的教學過程中實施,通過調查發現取得了明顯成效:既降低了C語言自身的抽象性,使廣大學生克服了對C語言學習的畏難心理、增強了學習興趣,又有助于他們掌握C語言程序設計的方法和技巧。當然,作為教學改革和教學探索,在具體的教學實踐中仍需不斷總結經驗、改進不足,努力提高。
參考文獻:
[1]李蕾.多媒體和黑板式兩種教學方式的比較[J].高等理科教育,2009,88(6):51-52.
[2]譚浩強. C程序設計[M].北京:清華大學出版社, 2002.
[3]程永奇.《C語言程序設計》教學實踐探討[J]. 時代教育(教育教學版). 2010(02).
[4]朱立才,湯克明. C語言程序設計研究型教學實踐[J]. 計算機教育. 2010(08).
[5]劉澤文,劉強,彭國星. 非計算機專業《C語言程序設計》教學目標及方法的探究[J]. 福建電腦. 2010(04).
[6]曹好順,吳紹兵,劉仁菲. C語言程序設計課程的教學探索[J]. 教育教學論壇. 2011(21).
實驗目的
1、熟練掌握if、if…else、if…else if語句和witch語句格式及使用方法,掌握if語句中的嵌套關系和匹配原則,利用if語句和switch語句實現分支選擇結構。
2、熟練掌握while語句、do…while語句和for語句格式及使用方法,掌握三種循環控制語句的循環過程以及循環結構的嵌套,利用循環語句實現循環結構。
3、掌握簡單、常用的算法,并在編程過程中體驗各種算法的編程技巧。進一步學習調試程序,掌握語法錯誤和邏輯錯誤的檢查方法。
實驗內容
計算并輸出1000以內的10個素數以及它們的和。
要求:
在程序內部加必要的注釋。
由于偶數不是素數,可以不考慮對偶數的處理。
雖然在1000以內的素數超過10個,但是要對1000以內不夠10個素數的情況進行處理。
輸出形式為:素數1+素數2+素數3+…+素數10=總和值。
算法描述流程圖
Main函數:
判斷素數:
源程序
#include
#include
int sushu(int n)/* 判斷素數的函數 */
{
int t,i;
t=sqrt(n);
for(i=2;i1;i-=2)/* x為奇數時,做函數計算 */
{
n=sushu(i); /* 做判斷素數的函數調用 */
( 勵志天下 )
if(n!=0)/* 對素數的處理 */
{
a[j]=n;/* 把素數由大至小存入數組a[ ]中 */
摘要:本文根據高職學生特點,從實際教學經驗出發,分析了高職院校C 語言程序設計教學現狀,并簡單講述了C 語言主要知識點,并提出適合高職學生學習的方法。
關鍵詞 :C 程序高職院校
《C 語言程序設計》是高職院校計算機及電子信息相關專業的重要專業基礎課。該課程主要培養學生模塊化程序設計的邏輯思維能力,使學生掌握程序設計的一般方法和技巧,并鍛煉學生的思維能力和創新意識。
1 C 語言程序設計教學現狀
C 語言是理想的結構化語言,描述能力強。C 語言的教學要求教師具備良好的教學能力和清晰的程序設計思想,也要求學生有一定的邏輯設計能力。一般高職院校的C 語言設置在一年級開設,學生剛剛進入大學,還沒有從高中生的身份完全轉變過來。雖然在高中階段學習了計算機應用基礎課程,但是他們完全沒有程序設計的概念,經過一段時間的學習,覺得這門課很難學、學不會。經過兩個學期的C 語言教學,從實際教學經歷來看,主要的制約因素有以下四個:第一、學生剛進入大學,剛接觸編程語言,對計算機原理理解不深,對編程更是不了解,不具備語言編寫能力。第二、高職學生文化基礎比較差,尤其是數學基礎差,導致學生邏輯思維能力差,而C 語言的學習對這方面能力又有較高的要求,所以對于稍微復雜一點的程序學生就覺得難以理解。第三、英語基礎差,很多高職學生對英語望而生畏,而計算機語言基本都是用英語來實現的,C語言亦是。很多學生看到程序中的英語單詞就頭疼,從心理上就覺得自己學不會C 語言,也就放棄了。第四、很多學生,在上課的時候能聽懂了,但是上機的時候頭腦一片空白,不知從哪里入手編寫程序。部分能夠寫出程序的,也是按照教材或老師所講的例子進行編寫,一旦題目要求有變化,便不會做了。
2 C 語言教學規范
有一簡單C 程序如下:
int main()
{
int a,b,m;
int max(int x,int y);
printf(" 請輸入兩個數值:\n");
scanf("%d,%d",&a,&b);
m=max(a,b);
printf(" 兩個數中較大的為%d\n",m);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)
z=x;
else
z=y;
return z;
}
該程序的功能是通過鍵盤輸入兩個數值,經過程序的運行,將其中較大的數值進行輸出。該程序簡單,易于理解,但是包含C 語言中很多必須掌握的知識點。簡單介紹如下:
2.1 C 語言程序的結構通過上面簡單例子可以看出,一個C 語言程序的結構有以下特點:①一個程序由一個或多個源程序文件組成。②函數是C 程序的主要組成部分。程序的全部工作幾乎都是由各個函數分別完成的,函數是C 程序的基本單位。在設計良好的程序中,每個函數都用來實現一個或幾個特定的功能。③一個函數包含兩個部分。函數首部和函數體兩個部分構成。基本形式如下:函數類型和函數名(參數類型、參數名稱……)。函數體包含聲明部分和執行部分。聲明部分,定義本函數中所用到的變量。執行部分,指定函數中所進行的操作。④程序總是從main 函數開始執行的。⑤C 程序中對計算機的操作是由函數總的語句完成的。C 程序的書寫格式比較自由,一條語句可以分寫在多行,也可以將多條語句寫在一行。但一般習慣每行只寫一條語句。⑥所有的C 語句的最后必須要有一個分號。⑦C 語言本身不提供輸入輸出語句。輸入和輸出操作是由庫函數scanf 和printf 等函數來完成的。
2.2 掌握C 語言的基本結構大部分的語言都是由順序結構、選擇結構和循環結構三種基本結構構成的,而C語言也不例外。
2.2.1 順序結構。在順序結構中,各語句是按自上而下的順序執行的,執行完上一個語句就自動執行下一個語句,是無條件的,不必做任何判斷,是最簡單的程序結構。
2.2.2 選擇結構。在現實生活中需要進行判斷和選擇的情況很多。比如,從A 城市出發上高速公路,到一個岔口,有兩個方向,一個去B 城市方向,一個去C 城市方向。
駕車者到此需要自己根據自己的目的地進行判斷,選擇其中一個路徑。在日常生活或工作中,類似這樣需要判斷的情況很多。比如:如果考試不及格,要補考;70 歲以上的老人,乘公交免票等等。
程序中,選擇結構是一種重要的程序結構。本文前面的例子中就用到了選擇結構,如果x>y,較大值為x,否則為y。該函數中,采用了if 語句中,雙分支選擇結構。在C語言中有兩種選擇語句:①if 語句;②switch 語句。
①if 語句形式有三種形式
·if(表達式)語句
·if(表達式)語句1
else 語句2
·if(表達式) 語句1
else if(表達式2)語句2
else if(表達式3) 語句3
:
else if(表達式m) 語句m
else 語句m+1
②switch 語句一般形式
switch(表達式)
{
case:常量表達式1:語句1
case:常量表達式2:語句2
: : :
case:常量表達式n:語句n
default:語句n+1
}
2.2.3 循環結構。在日常生活中或是在程序所處理的問題中常常遇到需要重復處理的問題。比如:要向計算機輸入全班50 個學生的成績等。在C 語言中,需要多次重復執行一個或多個任務的問題可以用循環來處理。循環結構有while、do…while 和for 語句來實現。
while 語句:
while(表達式)語句
do…while 語句:
do 語句while(表達式);
for 語句:
for(表達式1;表達式2;表達式3)語句
3 怎樣學習C 程序設計
根據C 語言程序設計課程特點,結合今年來的從教經驗,綜合高職學生特點,C 語言程序設計教學應注意以下幾個方面:
①要著眼于培養能力。C 語言程序設計是一門操作性很強的課程,在教學過程中應該注意培養學生分析問題、構造算法、編程和調試程序的能力。②要把重點放在解題的思路上。初學者不要在語法細節上死記硬背。一開始學習只要能看懂程序,能夠編寫簡單的程序,然后逐步深入。
語法細節可以在后續的學習及長期的時間中掌握。③掌握基本要求,注意打好基礎。在學校學習程序設計,主要學習程序設計的方法,進行程序設計的基本訓練,為進一步學習打下良好的基礎。④重視上機實踐環節。該類課程學的好與壞,不是看你“知不知道”,而是“會不會做”。對程序而言,光靠聽課和看書是學不好的,除了學習本課程要掌握的概念,還要動手編寫程序,上機調試程序。⑤要學會舉一反三。學習程序設計,關鍵是學習程序設計的思路和方法。
學會一種計算機編程語言,在學習另外一種編程語言時應該不會太困難。各種計算機編程語言,其基本規律是一樣的,在學習時一定要學活用活,舉一反三,掌握規律,在后期學習時就:
[1]曹莎莎.C 語言教學研究與思考[J].價值工程,2012(01).
[2]雍全明.C 語言教學改革探索與實踐[J].新余高專學報,2005(02).
[關鍵詞]高職 C語言程序設計 教學模式
[中圖分類號] G712 [文獻標識碼] A [文章編號] 2095-3437(2013)22-0083-02
C語言是被國內外計算機用戶廣泛學習和使用的一種計算機語言,在我國所有高校的計算機相關專業幾乎都開設了C語言程序設計課程,被作為學習計算機相關課程的基礎,在計算機專業課程領域中占用極其重要的地位。高職教育一直提倡以“能力”為核心的培養目標,強調學生在經過學習后所掌握解決實際問題的動手能力,因此在C語言程序設計的課程教學中也應注重高職特色,在教學中應遵循實用、夠用的原則,突出技能、能力培養為主線的教學思想。但現實中,許多教師仍然沿襲傳統的教學模式,重理論、輕實踐,或者雖然認識到兩者并重,但缺乏對教學內容的有效組織,導致學生學習效果不佳。因此,如何改進C語言程序設計課程的教學模式,提高教學質量是廣大教學工作者亟待解決的問題。
一、教學中存在的問題
(一)教學內容缺乏合理布局造成學生學習效果不佳
C語言學習之初,主要是語法的學習。如果教師把握不當,很容易造成學習內容的零散和不連貫。目前教師的教學安排通常是一節理論課學習之后安排一節實踐課,實踐課學習的目的是為了鞏固理論課中對語法的掌握,這種教學思路無可厚非,但是在實踐內容的設計上往往缺乏組織性,上機案例只是單純地針對某個知識點的練習,案例之間沒有任何聯系。常常造成學生C語言學習結束后,仍然缺乏整體的設計思路,難以完成一個實際項目的設計和開發。
(二)教學方法單一使學生產生厭學心理
C語言課程幾乎是所有大學計算機專業最早開設的課程之一,有著悠久的教學歷史。在C語言理論教學過程中,很多教師仍然沿襲傳統的教學方法,以PPT作為教學演示的主要手段,教師在臺上講,學生在臺下聽,整個教學過程采取滿堂灌,缺乏有效的師生互動和交流討論,學生缺乏學習的積極性和主動性。同時,教學過程中知識點與實踐脫節,學生在課堂學習中無法體會C語言的實際應用價值,教學內容枯燥乏味,很容易產生厭學心理。
(三)高職學生更傾向具有趣味性或較直觀的操作技能的學習
C語言具有語言簡潔、緊湊,使用方便、靈活,運算符豐富,生成目標代碼質量高,程序執行效率高,程序可移植性高等諸多優點。正因為此,C語言一直是經久不衰、永遠保持著青春與活力的程序設計語言,也是編程初學者必學的編程語言之一。但是和其他的高級編程語言相比,C語言缺乏可視化的操作界面,所有功能都要求編寫代碼完成,這對很多高職學生來說是一個極大的心理障礙。相對而言,他們更易于接受簡單、直觀、界面友好、色彩豐富的操作界面,比如VB、Delphi、PB、Java等其他的高級編程語言。
二、教學模式改革策略
(一)采用項目驅動式教學
C語言介于匯編語言和高級編程語言之間,也稱為中級語言,相對高級編程語言而言,它缺乏色彩豐富的操作界面,讓初學者感覺刻板和單調,望而卻步。因此,在教學過程中應以實例為載體,將枯燥的語法學習融入實際案例中,增加學習的趣味性,引導學生逐步深入。可采用目前流行的項目驅動教學方式,以一個完整的項目案例貫穿教學始終,在學習之初,先對案例做一個整體的介紹,讓學生對項目有一個基本的認識。在后續學習中,教師可以針對各個知識點,拆分案例,按照由易到難,逐漸深入地學習編程知識。
(二)學生分組完成項目任務
在理論教學中,教師可先結合案例功能講解涉及的知識點和基本概念,然后以小組為單位完成案例功能的算法設計和實現。小組內部由組長進行任務分工,小組成員之間相互討論、互相糾錯,合作完成本次實踐單元的任務。小組之間引入競爭,最終由教師課堂點評各小組的設計和實踐成果,由教師總結歸納所用到的知識點和不同編程思想的優劣以及每個人的編程特點和需要改進的地方,并評出最優方案,優勝的小組可獲得適當加分。
(三)教學內容的選取應符合高職特色,注重差異化教學
C語言程序設計的教學切忌滿堂灌。高職學生的學習應遵循“實用為主,必須和夠用為度”的原則組織教學內容,對不同生源和不同專業的學生要結合實際情況,對教材內容進行優化,重新整合,并提出不同的學習要求。例如,對普高生,可理論和技能并重;對三校生,可側重技能的培養。對高職計算機專業的學生而言,主要學習使用計算機處理問題的方法,培養分析問題和解決問題的能力以及具有編寫程序的初步能力。而對于非計算機專業的學生而言,學習C語言的主要目的是了解軟件的特點和生產過程,使今后在實際工作崗位能與程序開發人員更好地溝通,有利于共同合作進行應用軟件的開發工作。
(四)以學生為主、教師為輔開展互動教學
在枯燥的理論教學中,教師需時刻調動學生的學習積極性和主動性。在每次上課前,可以先以項目案例為背景,提出問題,并以此為線索,引導學生思考,在學習過程中找到答案。在學習新的內容之前,教師可以針對上次實踐課學生在操作中出現的問題進行講解和討論,引導學生找出錯誤并糾正。這樣可以極大地提高學生自主學習能力,再一次鞏固了對基礎知識的理解和掌握。
(五)采用課程綜合實踐強化和鞏固所學內容
學期結束后,學生對各知識點基本掌握,但對知識點的把握仍然是零散的、片面的。任務完成的過程中,仍然是在老師的引導和幫助下完成的,綜合運用所學知識和技能進行整個項目的設計和開發的能力還有所欠缺。因此,可以在學期末安排一次課程綜合實踐任務,教師可以為所有學生準備若干個項目案例供學生選擇自己感興趣的任務,在完全沒有教師參與的情況下,分組完成整個項目的設計和開發。在此過程中要求學生們撰寫項目開發報告、測試報告,并提交源代碼和實踐總結。通過這個環節可以促使學生認真總結和歸納一個學期所學的知識和技能,并從中鍛煉了他們的自主學習能力和團隊合作精神。
C語言課程教學一直以來都存在教學手段單一、教學內容枯燥乏味的問題,導致學生缺乏學習興趣。本文通過對傳統教學過程中存在的問題進行剖析,從高職學生的學習特點以及高職人才培養的要求出發,提出了若干措施和建議,可以有效解決高職學生在學習過程中存在的問題,使學生對知識的理解、對技能的掌握和學習興趣都得到了較大的提升。
[ 參 考 文 獻 ]
[1] 劉靖.基于項目驅動的高職院校計算機基礎教學模式研究[J].職業教育,2013,(29).
[2] 張亦辰,李繼國.《C語言程序設計》課程在理論與實踐模式的探討[J].教育教學論壇,2013,(28).
[3] 鄭文斌,戰國科,王康健.面向C語言課程的多角度模塊化教學方法探索[J].教育教學論壇,2013,(19).
c語言是典型的結構化程序設計語言,是學習程序設計語言的入門課。通過學習c語言,學生能夠掌握程序設計的基本思想,鍛煉自己的邏輯思維,掌握程序設計方法,初步具備利用計算機解決實際問題的能力。
c語言涉及的概念比較抽象復雜,語法規則多且晦澀難懂。而高職學院學生的基礎相對薄弱,特別是數學功底較差,采用傳統的語言類授課方式,教學效果很不理想,筆者認為,c語言課程的教學內容、教學方法和教學手段等方面有必要進行改革。
一、教學的現狀
(一)學習目的本文由收集整理不明確,學習積極性不高
學生對學習c語言的意義缺乏深刻認識,常常會問“為什么開設c語言課”等問題,認為將來就業時用不上,沒有必要開這門課,學與不學無所謂。
(二)教學觀念陳舊
在目前的課堂教學中,多以教師講授、學生被動接受的單向灌輸為主,不能有效地綜合應用多種授課方式,沒有充分調動學生學習興趣,學生自主學習的內在動力未被激發。
(三)缺乏適合高職教學的教材
現在很多高職院校采用的教材是大學教材,有的雖然是使用標識“高職高專”的教材,但往往是大學教材“簡化版”,并不適合高職學生使用,給組織教學工作帶來了一定的困難。
(四)講授的內容脫離實際應用
傳統的教學過于注重語句、語法等細節的教學,對學生分析問題、解決問題的能力訓練不夠,很多學生在課程結束后, 依然很難獨立編寫程序。
(五)對于實踐教學環節重視不夠
c語言課程是一門實踐性很強的學科,但目前實驗教學存在一些問題:如教師布置與課本中相似的習題,學生就對著教材套用例題,學生不明確上機實驗的目的,上機前不做準備,導致上機后只會抄課本例題,不能舉一反三。甚至有學生在上機時做些和課程關系不大的活動,把“上機實驗”當成了“自由活動”,達不到預期的教學效果。
二、改革探討
高職教育不同于普通高等教育,高職教育是為生產服務一線培養技術應用型人才,而不是培養學術型人才。因此,對高職院校的學生來說, 計算機只是工具,不應該把它作為純理論的課程來學習,而應作為一種應用技能來掌握,重點是培養解決實際問題的能力。依據高職院校的人才培養目標,教學內容以培養學生基礎能力和提高學生學習興趣為原則,對教學計劃進行科學
的調整,突出c語言只是作為初學工具的作用。
(一)明確學習目的
第一次授課時,教師可從不同層面講解學習c語言的重要性。同時,讓學生知道c語言也是計算機等級考試、程序員考試的一個重要內容,學好c語言,可以考取計算機等級證書,提高自身就業競爭力。
(二)修訂教學大綱,編寫和選用適合高職院校教學的教材
根據高職院校培養應用型、技能型人才這一目標,對教材中的內容應進行適當的整合,對c語言中偏難的,對培養基礎能力沒有幫助的知識不講或略講。而對工程實際應用較多,對培養基礎能力有較大幫助的部分進行必要的加強。比如一般c語言教材中的輸入/輸出函數調用語句、分支語句、循環語句、數組、文件就是基礎,而且易學常用,用這些知識就可以達到培養學生基礎能力的要求。
在教學內容上,采用職業程序員的項目流程規范和方法去分析程序,淡化語法, 每學習新語句都是從模仿例題和畫流程圖開始,并且每個例題和作業題都要求學生按照規范的項目流程,把一個程序分為分析、設計、流程、編寫調試、測試幾個步驟來完成最終的程序。
(三)利用多媒體教學手段,把抽象的知識生動化、形象化
利用現有的教學設備與技術,通過多媒體手段,把深奧的理論通過淺顯的例子進行深入淺出的講解。比如:講解遞歸,做一課件形象地演示“漢諾塔”的動態變化過程;講解判斷循環語句時做一段flash動畫來演示這一過程。通過flash動畫演示讓學生了解程序的執行過程,這樣枯燥的理論就變得更直接,學生對知識點的掌握和理解比只是在黑板上空洞、泛泛的講解更容易接受。
(四)引入任務驅動教學方法
傳統的教學過于注重語句、語法等細節的教學,對學生分析問題、解決問題的能力訓練不夠,很多學生在課程結束后, 依然很難獨立編寫程序。任務驅動教學始終把學生作為學習的主體,以任務作為驅動,讓學生通過自己的操作,把書上死的理論變成活的應用,教師的引導、點撥更多的是把知識加以引申,使學生能夠觸類旁通,點面結合、(下轉73頁)
(上接56頁)以點帶面、以舊帶新。在教學過程中,引入日常生活工程實踐的實例,并由此培養學生分析、解決生活和工程問題的能力,提高學生的學習興趣,使學生由專業基礎課的學習順利地過渡到計算機專業課的學習,打下堅實的編程基礎,掌握編程的方法。
(五)強化實驗環節,培養學生創新能力
對學生進行嚴格管理,將上機表現與結業考試成績掛鉤,端正學生上機目的,正確引導上機實驗興趣。
對學生上機給予明確要求,上機前布置適量題目,要求學生選取適當的數據結構,設計程序核心思想,畫出流程圖,寫出完整的上機程序,而不能照搬書本身的例題。只有通過自己動手編寫程序,才能加深對所學內容理解和鞏固,調試自己程序的過程最容易暴露學生學習的不足和缺陷,它可以鞏固學生所學的知識,訓練了學生閱讀程序和編寫程序的能力,也培養了學生認真的學習態度和創新能力。