二級c語言程序設計范文
時間:2023-04-07 03:16:35
導語:如何才能寫好一篇二級c語言程序設計,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
關鍵詞:教學改革;C程序設計語言;教學探討
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2014)03-0589-02
1 概述
目前,C語言程序設計課程幾乎涉及了高等院校的所有專業,是各類專業學生必修的一門計算機基礎課程。重慶郵電大學的C語言程序設計課程從1994年起就作為管文類專業學生的公共必修課程。對于管文類專業的學生來說,通過該課程學習,可以提高學生的計算機思維方式,為學生用計算機語言編程解決實際問題提供了思路和方法,為后續計算機相關理論和實踐教學課程打下基礎。同時,它也是計算機二級等級考試所要求的考試內容之一。
2 存在問題
2.1 專業復雜、多樣化
管文類專業C語言程序設計課程涉及的學生專業復雜、多樣化,包括信息管理與信息系統專業、電子商務專業、經濟學專業、工商管理專業、會計專業、工程管理專業、外語專業、法律專業、體育專業等多種專業。不同專業的學生計算機水平參差不齊。信息管理與信息系統專業和電子商務專業的學生計算機水平稍微好一些,學習起來容易一些。外語專業、法律專業和體育專業的學生計算機水平相對薄弱些,而且不需要必須過計算機二級等級考試,因此這些專業的同學學習積極性相對差一點,學習起來稍微困難一些。
2.2 教學計劃不合理
管文類專業C語言程序設計課程教學計劃設置不合理。不管是什么專業的學生,C語言程序設計課程學時都是48學時(理論32學時+上機16學時),而且統一命題、考試,沒有考慮學生專業的復雜、多樣化。
2.3 學生學習積極性不高
就管文類專業學生來講,絕大多數學生學習C語言程序設計的目的在于考證(計算機二級等級考試),只停留在學習語言本身,考過了就仍到一邊,再也沒有用了,根本沒有設計的能力,由于管文類專業學生缺乏計算機知識,教師在授課時也只能講些淺顯的知識,很難培養程序設計能力。因而,導致學生學習積極性不高。
2.4 課堂教學與實驗教學脫節
C語言程序設計課堂教學由一位老師擔任,而實驗教學由實驗室老師承擔。從而,理論老師不知道學生實驗環節的情況,而實驗老師也不考慮理論教學的進度,導致課堂教學與實驗教學脫節。
3 對策及建議
3.1 合理安排教學計劃
針對不同專業群設置不同的教學計劃。對于偏計算機技術方面的信息管理與信息系統專業和電子商務專業,單獨設置64學時(理論48學時+上機16學時),獨立命題考試。其他專業48學時(理論32學時+上機16學時)。其中,對于計算機水平相對薄弱的外語專業、法律專業和體育專業的學生,由于不需要過計算機二級等級考試,因而也單獨命題考試。
3.2 激發和增強學生的學習積極性
興趣是最好的老師,學習興趣是學生積極主動學習的直接動力。在第一節課就讓學生明確C語言學習的目的,明白C語言的重要性和實用性。可以適當調整教學內容,增加有趣的游戲實例教學,例如“猜數字游戲”、“石頭、剪刀、布游戲”。從而激發和增強學生的學習積極性。
3.3 課堂教學與實驗教學相結合
改變原有的課堂教學與實驗教學方式,課堂和實驗教學都由一位任課老師擔任,避免課堂教學與實驗教學脫機。另外,組成實驗小組,相互討論,學習成績好的、動手能力強的同學幫助帶動相對弱一些的同學。
4 結論
管文類專業C語言程序設計課程由于涉及的學生專業多,各專業學生計算機水平參差不齊,因而教學相對困難,遇到的問題頗多。為了提高該課程的教學效果、學生的學習積極性,提高學生利用計算機解決實際問題的能力,專門對管文類專業C語言程序設計課程進行改革,取得了一定效果。同時,對其他課程的教學改革有一定的指導意義。
參考文獻:
[1] 牛熠,董阿妮,吳燕玲.C語言教學中學生興趣的培養[J].東莞理工學院學報,2006(1):110-113.
篇2
關鍵詞:高職;c語言程序設計;教學改革
0 引言
c語言程序設計課程是高職計算機類專業的核心基礎課,也是電類相關專業的專業基礎課,對后續課程的學習起著舉足輕重的作用。學好c語言程序設計課程也會增強學生的學習自信,但是該課程傳統的教學效果不盡如人意,學生第一次上課時會滿懷信心,可隨著c語言各種數據類型、語法規則的不斷呈現,以及c語言本身的靈活、語法限制不嚴等特點,使多數學生逐漸失去學習的信心,最終的結果是大家一致反映c語言難學,學不會,只有一個辦法:放棄。對于高職院校來說,c語言程序設計的教學已到了非改不可的地步。因此,如何改便值得我們研究與探討。筆者從教與學兩方面分析問題,探討解決問題的辦法,并進行相關實踐,取得了一定的改革成效。
1 問題分析
我們從教與學兩方面進行分析,主要有以下幾個問題:
(1)教學內容不能滿足學生后繼課程學習的需要。長久以來,該課程的教學多數選擇譚浩強教授主編的《c語言程序設計》作為教材。該教材理論體系完備,但是遵循該教材體系所開展的教學,不太符合高職學生的認知特征,并且教材的重點是對c語言本身的語法規則進行講解,而對于程序設計方法、程序設計思想沒有特別重視。另外,c語言的教學考核標準也是參考全國二級C語言考試大綱。全國二級C語言考試同樣是較多地強調了c語言本身的語法規則。即便二級考試中有機考,但由于受閱卷等限制,并不能全面考核學生的編程能力、程序調試能力。因此,這樣的教學內容不能滿足高職學生后續課程學習的需要,不能起到專業基礎課程的實際作用。
(2)教師缺乏改革思路。目前高職院校的教師可分為三類:一類是老教師,從內心不太樂意進行教學改革,對改革有畏難情緒,認為延續傳統的教學比較輕松方便,而對于課程的教學效果不好,更多從學生身上找原因;第二類是從學校畢業直接走上講臺的新教師,沒有太多的教學經驗,主要把自己在大學里學到的知識、教師的教學方法沿用到自己的教學中,還沒有來得及思考改革的問題;第三類教師是學校教學的中堅力量,意識到需要改革,甚至也做過嘗試,但是,缺乏清晰的改革思路,對存在的問題及教學目標分析不透徹,改革不易收到理想的效果。
(3)不能針對學生的學習特點開展教學。我國延續了30多年的高考選拔方式仍然以筆試為主。根據多元智力理論,我們可以知道,這樣的選拔方式使進入高職院校的學生的動覺智力、空間智力、人際交往智力較強,數理智力、語言智力相對較弱,再加上高職學生普遍自尊心、進取心較強,往往是不甘落后,但是學習較情緒化,對感興趣的東西、實踐性環節的學習積極性較高,而對枯燥的理論知識學習興趣不濃,甚至是有些抵觸。而c語言語法規則需要強化記憶與理解,教學過程中,多數采用理論講解加上機實踐的教學方式,較少地從激發學生優勢智力的方面開展教學。這樣隨著教學的難度增加,往往會令學生逐步失去學習的信心。
2 解決辦法
1)準確定位教學目標。
高職院校的總體教學目標是讓學生在獲取專業文憑的同時掌握一項或多項專業技能,為更好地實現就業做好準備,因此每門課程的教學既有理論目標也有技能目標。c語言程序設計課程的教學目標應該定位為:通過本課程的學習,學生要建立起結構化程序設計的思想,養成良好的程序設計風格和嚴肅認真的工作作風,掌握c語言基本語法規則和結構化程序設計方法,逐步積累常用算法和程序設計的技巧,并能初步運用c語言編程解決常見的簡單應用問題,為后續的數據結構、Java編程、嵌入式應用編程等課程打下良好的基礎。c語言程序設計是一門核心基礎課,其教學主要是為后續的課程服務,因此我們的教學重點應該是教會學生如何運用C語言編寫應用程序,而不應該放在相對枯燥的C語言語法規則的學習上,注意把握“為用而學”的原則,使學生學了就會用,并且能做到越用越熟越精,而不是使學生越學越沒有興趣,越學越沒有信心。因此準確定位課程的教學目標,將決定后續教學方法選擇和所達到的教學效果。
2)強化教師教學改革意識。
意識決定行動,教師有了教學改革的意識,才會努力想辦法改革教學,發現問題并進行分析,尋找解決的途徑。教師教學改革意識的強化,可通過參加校內外的培訓、參觀、講座、各類有關改革的會議等,多渠道多途徑讓教師接觸了解一些教學改革的思路、方法,在思想上對教學改革有所認識,并能結合自己所授課程目前的教學狀況進行分析,逐步認識到c語言程序設計課程必須進行教學改革。同時改革是一個系統工程,教師還必須從教學目標、教學內容、教學方法等多方面進行改革。學校作為改革的倡導者,也需要出臺一些教改政策,鼓勵教師進行教學改革,以提高教學效果。
3)改革教學方法,全面提高教學效果。
在解決了教學目標、教師改革的主動性問題之后,現在要解決的就是具體教學方法問題。教學方法得當,將會收到事半功倍的效果。前面已經分析,高職學生對于邏輯性強的知識學習較為困難,更擅長動手操作和形象思維知識的學習,另外他們好勝心強,但缺少毅力,因此只有選擇了正確的教學方法和教學模式才能收到理想的效果。任務教學法、項目教學法是改革的主要教學方法,這些方法強調學生學習的主體性,教師教學的主導性,結合理論實踐一體化的教學模式,充分發揮學生學習的優勢,能有效地調動學生學習的主動性和積極性。在采用較為有效的教學方法的同時,配合教學考核方法的改革,將過程性考核融入任務與項目教學中,對學生在學習過程中表現的能力和知識水平的提高,及時給予肯定與鼓勵。教學中還要注意,改變學生的學習意識,引導學生建立主動學習的意識,變中學時期的被動學習為主動學習,變被動地學習知識為主動地對學習知識的方法的學習和技能的訓練,教師要靈活運用多種教學方法,真正做到授人以漁。只有這樣,才能真正發揮教與學的雙主作用,真正提高教學效果,使該課程真正受到學生的歡迎。
3 實踐效果
關于C語言程序設計課程,在2006年我們曾經有院級立項教改課題,確定的教學改革目標是提高全國二級c考試通過率。經過第一輪的教改實踐后,雖然全國二級c考試通過率有所提高,但是對于后續課程學習的支撐效果并不理想。學生通過了全國二級C考試,可仍然不會應用c語言編寫相關的應用程序,程序編寫能力不能滿足后續課程的教學需要。經過再思考,并對高職教學改革的理論進行再研究與分析,我們提出了解決c語言程序設計教學改革辦法,并開展了教學改革的系列工作,收到了較好的效果。
1)精選教學內容,編寫教學講義,出版教材。
根據確定的教學目標,重點培養學生規范的程序編寫能力,對于c語言相對復雜的語法規則及技巧性表達方式,則進行簡化,以滿足編程需要為原則。在這樣的原則上,精心選擇教學內容,將教學方法的改革融入教學內容中,形成了由9個任務和3個項目組成的教學內容(如表1所示),并最終出版了教材。整個教學內容的編排思路是:先引導學生認識c語言及集成調試環境,然后是強調編程的規范性,第3個任務是教會學生學習c語言程序設計的方法,從第4個任務開始,由易到難逐步展開教學內容,最后通過3個完整的項目,同樣由簡單到復雜、循序漸進地講解如何使用c語言編寫應用系統。教材內容的呈現方式上,堅持以程序設計思想、方法以及運用c語言編程解決問題為主線,把講授語言的概念轉變到講授語言的運用上,把抽象的概念用實例進行展示并通過實踐進行體驗。為了保證知識的完整性、系統性,設置了拓展閱讀欄目,對c語言復雜的語法規則、程序測試的概念、快速排序算法、自我學習與團隊學習等知識進行講解。
2)充分考慮學生的特點,靈活運用各種教學方法與手段。
本課程的教學內容中已經融入了任務驅動教學法和項目教學法,充分考慮高職學生學習的特點,我們給學生提供了自主學習的機會,而不是被動地接受知識。當然,由于學生的層次差異,以及自我管理能力的不同,同時也為了進一步強化知識和技能,每次任務和項目進行過程考核外,還會靈活地采用傳統的教學及考核方法。例如,開始入門的時候要求學生抄寫一些典型程序,以理解程序編寫的思路;中間的時候,對于常用的算法,要求學生理解的基礎上加強記憶,因此默寫如冒泡排序等典型算法也是一種考核方法,這些方法的綜合運用,收到了較好的教學效果。
教學中,還要考慮各種教學手段的運用,例如,常用的多媒體課件能夠將難于理解的抽象概念及過程,解釋得更加形象生動。其實,在我們身邊還有更好的可以用來解釋抽象過程的資源,那就是學生。例如,冒泡排序算法,這是教學的一個難點,除了用多媒體課件進行演示外,可以請學生把這個過程進行更加生動有趣的演示,增強算法講解的趣味性,使學生在活動的過程中,掌握冒泡排序算法,加深理解與記憶。
3)集體備課,發揮教師的創新精神。
頭腦風暴法越來越得到人們的認可。通過教師課前集體頭腦風暴,共同討論教法、教學難點,鼓勵年輕教師多聽有經驗教師的課,并且課后及時總結,進行優勢互補,發揮教師的創新精神,把c語言程序設計課程的教學改革真正落到實處。例如,通過頭腦風暴,我們提出了程序設計的三部曲,即輸入數據、輸出結果、中間處理過程。過去我們的學生拿到編程題,往往無從下手,通過三部曲,結合高中數學的解題過程,將三部曲的輸入數據對應到數學題的已知條件,輸出結果對應到數學題的結論,中間處理過程對應到數學題的證明或解題過程。經過這樣的關系對應后,學生明白了程序設計其實就是將數學的解題過程,用計算機的語言表達出來,最后讓計算機來進行計算。學生一下子覺得程序設計并不神秘,只不過是把數學家已經解決的問題用計算機語言描述而已,這樣使學生有種親切感,再通過由易到難循序漸進的教學過程,逐步建立起學生學習的信心。
4)建立立體教學環境,拓展學生的學習時空。
隨著信息技術和現代教育技術的發展,網絡、手機、電腦的便捷使用,我們建立了課程網站,將課堂講義、課件、習題解答指南、應用項目開發案例、自我測試題等上傳到網上,并且實現網絡答疑,網上提交作業,開展網絡討論,拓展了學生學習的時空,使學生任何時刻只要有網絡,即可進行學習交流。另外學校還定期開放機房,安排專人進行現場輔導答疑,給學生提供了一個立體的教學環境。同時還鼓勵學生參加藍橋杯、IATA程序設計大賽,以賽促教、促學,形成良好的學習氛圍。
篇3
關鍵詞:C語言 教學改革 教學方法
中圖分類號:G642.0 文獻標識碼:C DOI:10.3969/j.issn.1672-8181.2013.17.119
1 C語言教學中存在的問題
C語言程序設計作為普通高等院校理工科各專業的一門程序設計入門課程,有著其特殊、重要的地位。對于絕大多數同學來說,學習C語言是他們第一次接觸計算機語言。作為一種計算機語言,C語言對于初學者來說比較抽象,很多知識點在教學中很難讓學生理解透徹。在我們實際的教學實踐中發現,學生們普遍認為這門課難度大、不易學,即使同學們學了但不會靈活使用的現象也十分嚴重。與此同時,任課教師們也認為該門課程教學課時少,教學效果不理想。那么,在C語言教學過程中主要存在什么問題呢?究其原因主要有以下幾點。
第一,學生的學習目的不明確。很多學生認為學習C語言沒有用,跟本專業結合不緊密,學習缺乏積極性跟主動性。還有很多同學認為學習C語言就是為了通過全國計算機二級考試,通過了計算機二級考試,畢業后就有了求職的敲門磚。面對這種形勢,教師們為了提高學生的考試通過率,往往在講課時過分注意語句和語法細節,與程序設計的實際要求偏離甚遠。因此,同學們學到的只是枯燥語法跟一些無用的解題方法,卻沒有真正學會程序設計的基本思想和方法,也就更不可能真正學會用C語言這門工具來解決實際問題。
第二,教師的教學方法過于傳統陳舊。在我們目前的教學環節中,絕大多數教師還是以講授為主,這種傳統的填鴨式教學,讓學生感覺學習枯燥乏味,不能充分發揮學生的學習主動性,學生沒有學習的興趣,久而久之導致學生不愛學也學不好。因此,改變傳統的教學方式迫在眉睫。
第三,教學實踐環節重視不夠。程序設計是一門實踐性很強的課程,課堂上的理論學習對于學生學習C語言遠遠不夠,課后大量的上機實踐是非常必要的。但是在我們日常教學中,同學們在機房上機練習時,由于教師人手、精力不夠,導致學生們往往在遇到大量語法錯誤或邏輯錯誤時對調試喪失信心,失去學習動力,更有部分同學把寶貴的上機時間用于娛樂游戲,最后的結果就是,課程上完了,很多同學卻連基本的操作也不會。
第四,考核方式落后。我們現在許多學校的考核方式十分單一,往往都是教師出卷子,學生用筆作答。這種考試方式,往往造成學生只要背幾道例題就可以考試得高分,沒有真正考核學生的實際的編程能力。因此,期末考試的方式改革也勢在必行。
2 解決方案的探討
分析以上原因,我們發現要解決C語言教學中的種種問題,首先要從培養學生的學習興趣入手。只有學生對對所學的課程產生濃厚的興趣,才可能去積極主動地學習。同時要積極改變教師教學過程中一些傳統陳舊的做法,使用一些新穎的考核辦法來提高學生的學習主動性。為此我們提出以下幾點改革措施:
第一,讓學生明確學習目的,培養學生對C語言學習的學習興趣。學生一開始學習可能不一定對此門課程感興趣,我們可以著重給學生講授C語言的發展歷史,C語言在計算機語言中的重要地位,C語言在生產實踐中的具體實例。最重要的是拿一些C語言程序設計的小實例,通過這些實例所表現出的動畫、界面來讓學生對課程產生濃厚的興趣,讓學生認識到,C語言程序設計不僅僅是枯燥乏味的語法和代碼。
第二,教學時采用那些能夠培養和吸引學生的學習興趣,能夠啟發學生編程思維的教學方式,比如在課堂上可以適當減少老師講授的時間,老師只講授基本的概念、語法和一些解決問題的基本思路,主要發揮學生的主觀能動性,由過去的以老師為主,填鴨式的教學方式,變為討論式、對話式和辯論式等以學生為中心的教學方式。讓學生從問題入手,主動去尋找解決問題的方法,老師只在一旁進行必要的點撥,讓學習過程變得有趣,讓知識變得有吸引力,讓學習由“要我學”變成“我要學”,讓學生在學習過程中得到極大的滿足感,從而提高教學效果。
第三,加強實踐教學環節的教學。首先,老師在上機實驗時多選擇一些趣味性強的題目,激發學生去主動學習。可以先通過一個或幾個實例,從問題的提出、分析到方案的具體設計,讓學生了解解決問題的全過程,來指導學生在遇到問題時該如何解決。然后提出一些與演示問題相似的案例,讓學生利用自己所學到的知識去解決問題。在學生自己上機實驗時,可以充分利用計算機網絡,使老師與學生之間以及學生與學生之間形成良好的互動,提高學生的自學能力和團隊協作能力。
第四,充分利用網絡教學。比如我校就設計開發了“C語言程序設計”課程網絡教學平臺,模塊包括教學大綱、實驗大綱、電子教案、精選習題、教學錄像、網上答疑、在線編程及BBS等。學生可利用這些網絡資源進行自主學習、互相交流,提高學習效率。C語言程序設計網絡教學平臺內容豐富、特色鮮明,滿足現代教育技術中的交互性、協作性、個性化、及時反饋等原則,能有效激發學生的學習興趣,符合網絡教學先進性、科學性、多樣性的基本要求,為廣大師生創建了一種全新的教學環境,使學生的學習突破傳統的時空限制,變得輕松、靈活。
第五,改革傳統的考核方式。傳統的考核方式形式單一,不能夠真正衡量學生的實際編程能力。C語言程序設計課程的教學目的,就是培養學生熟練運用計算機語言編制和調試程序,解決實際問題的能力。只有通過上機考核才能真正考查衡量學生的實際上機編制和調試程序的能力,督促學生在平時的學習中就時刻注重調試程序。為此我們將考試分解開來,期末考核方式以機考成績為主,在這種考核形式的促進下,學生程序編寫及程序調試能力將會有普遍、較大提高,不局限于以往的死記硬背課本,有效地提高了學生的學習興趣及程序設計能力。
3 結束語
總之,在C語言程序設計的進教學過程中,我們要根據實際情況,把多種教學方法結合起來,因材施教,著重發揮學生的主體作用,培養學生自主分析問題、解決問題的能力,才能讓教師教得好,學生學得好,為學生后續課程的學習打下一個良好的基礎。
參考文獻:
[1]皮連生.學與教的心理學[M].上海:華東師范大學出版社,2001.
[2]牛熠.C語言教學中學生興趣的培養[J].廣東:東莞理工學院學報,2006.
篇4
關鍵詞:教學資源建設;c語言程序設計;網絡資源建設
中圖分類號:TP3-4
1 引言
1.1 課程介紹
《c語言程序設計》課程是我院警察技術系司法信息安全專業、計算機應用專業和計算機網絡專業等專業一般學習領域課程,是學生進入大學所接觸的第一門專業課,同時,這門課程也是《數據結構》和《軟件工程》課程的前導課程。教學實踐證明,該課程對學生是否可以形成編程思想,能否建立利用計算機求解問題的邏輯思維能力是至關重要的,也將直接影響后續課程的教學效果。因此,改進教學方法、提高教學質量是高職高專教學課程改革的一項艱巨任務。
傳統的c語言教學模式側重于c語言語法知識的講授,學生的關注點集中于語法知識的記憶和理解中,無法形成真正的編程思想[1]。這使得學生很難自己寫出程序,一味地“照貓畫虎”,甚至有學生出現死記硬背程序才能記住的情況。這樣就導致了學生的學習興趣不濃,學習停留在表面,學生學起來枯燥,教師也教起來費勁。
1.2 傳統教學資源的不足
傳統的《c語言程序設計》的教學模式是以課本為主,輔以PowerPoint課件,由老師向學生講授相關程序設計知識,教師占據主導地位,學生普遍反映“老師講的都懂,例題也能看懂,就是不會編程”的困惑。我們必須開發多層次的教學資源,讓學生成為主體。
2 多層次的教學資源建設
伴隨著現代教育技術的發展,高等學校教學資源建設正在從傳統的紙質教學資源向數字化、電子化方式轉變,從單一載體向多媒體產品和多樣化教學資源服務方式轉變,從而形成了以紙質教學資源和數字化教學資源相結合的立體化教學資源。這不僅給高校教學工作提供了強大的技術支持和資源保障,也在迅速改變著學生的學習內容和學習方式[2]。
我系多層次的《c語言程序設計》課程的教學資源除了常規的教材外還包括教學參考書、電子教案、多媒體課件、試題庫、網絡資源建設以及在線練習系統等。
2.1 教材與教學參考書
我系為司法信息安全專業、計算機應用專業及計算機網絡專業的學生選擇的教材是北京郵電大學出版社出版的《c語言程序設計案例教程》,該書采用案例導入的形式展開知識點,重難點突出,講解清楚細致。
另外,我系學生要求在畢業時必須獲得全國計算機等級二級證書,教學參考書的內容就是緊跟當年的二級考試大綱所出臺的考點解析與訓練,從計算機二級(c語言)所重點考查的閱讀程序能力、改錯能力和編程能力一一解讀,總結出相應知識點,并對歷年真題進行詳細分析,最后自測題可供學生自行檢查自己對知識點的掌握情況,查漏補缺。
2.2 電子教案建設
依據教材內容和學生實際,我系教師編寫了與紙質教材配套的電子教案。電子教案按照所分配的學時數進行模塊的分類,反映了教師的教學思路、對知識點的把握及所采取的教學方法,體現了教材內容的精華,也是學生復習的重要指南。
2.3 多媒體課件
多媒體課件作為教師上課的重要方式,在我院得到了足夠的重視。我院每年都進行一次多媒體課件大賽,教師們互相溝通、互相學習,極大的提高了自身創作課件的能力。
配以光投影設備和蘇亞星教學系統,通過屏幕廣播功能向學生播放已制作好的多媒體課件,不僅能節省教學時間,增強理論教學的直觀性,而且能讓學生看到老師對于操作步驟的演示,重、難點也能生動地加以表現。
2.4 試題庫
我系司法信息安全專業、計算機應用專業和計算機網絡專業的學生要求雙證畢業,即畢業證和全國計算機等級二級證。筆者收集了歷年的二級筆試和機試真題,緊跟二級考試題型的變化,按照知識模塊,根據我系學生的實際,針對相同知識點歸納設計了一套試題庫,利于學生練習及查漏補缺。
同時考慮到一些有能力的同學“吃不飽”的情況,筆者收集了我系學生曾參加過的由工業與信息化部主辦的第二、三、四屆“藍橋杯”軟件人才與設計大賽中的較為合適的填空題和程序設計題,以擴寬學生視野,并有助于選拔競賽學生。
2.5 網絡資源建設
在我院創建示范性高職院校的契機下,我院與清華大學教育技術研究所合作,共同開發了一個教師、學生可以共同參與的網絡教學綜合平臺。網絡教學綜合平臺按功能分為了精品課程、研究型教學和教學資源中心。在這個系統里,教師可以申領課程,并把自己有關課程的所有相關資料上傳,比如課程介紹、教學大綱、教學日歷、教學材料、答疑討論、課程問卷、教學筆記、課程作業、在線測試和試題試卷庫等內容。教師通過上傳教學資料,梳理了本門課程的所有已有資料,為今后的精品課建設提供了資料保障;答疑討論區給教師和學生提供了一個不受時間和空間限制的平臺,學生們可以在上面對疑難問題進行討論,老師對集中出現的問題進行答疑,不必局限于課堂。教師也可以在網上總結出學生反映比較突出的重、難點,在課堂上集中答疑,使學生的問題得到及時解決,以達到較好的學習效果;課程作業也不必拘泥于課堂和書面的形式,學生在網絡教學綜合平臺上在復習過老師講授的內容后對作業予以解答,便于學生掌握相關知識。
2.6 在線練習系統
為貫徹落實《國家中長期教育改革和發展規劃綱要(2010-2020年)》和《國務院關于印發進一步鼓勵軟件產業和集成電路產業發展若干政策的通知》有關精神,加快高等院校IT類專業教學創新與改革,提高學生自主創新意識和工程實踐能力,促進高校IT類專業就業指導工作,工業和信息化部人才交流中心自09年起舉辦了“藍橋杯”全國軟件和信息技術專業人才大賽。經過了5年的發展,2013年“藍橋杯”在其官網上開辟了一個新模塊――“藍橋杯”全國軟件和信息技術專業人才大賽練習系統。本系統主要面向參加“藍橋杯”的老師和同學,幫助參賽的同學熟悉比賽試題的形式和解題方式。通過使用這個系統,同學可以學習到一些重要的編程方法,提高編程水平。系統中的試題集中分為入門訓練、基礎練習、算法訓練、算法提高和歷屆試題共5個部分。
在實際授課過程中,筆者在網絡教學的基礎上,借鑒了這套在線練習系統,取得了較好的效果。具體來說,筆者給學生安排入門訓練和基礎練習的試題,由于練習系統的測評功能對程序的格式、注釋等要求較高,這樣就對學生形成的編程風格有一個很好的監控,有助于培養學生良好的編程習慣。在線練習系統把相同難度和特點的試題形成一組,同組的試題具有相關性,幫助同學學習與提高程序設計、算法和數據結構的知識。采用這樣的在線練習系統,能建立起《c語言程序設計》與后續《數據結構》和《軟件工程》課程的銜接,有助于學生綜合素質的提高。
3 結束語
2006年開始,教育部與財政部全面實施“國家示范性高等職業院校建設計劃”,啟動了高等職業教育專業教學資源庫建設。這項工程為全國高職院校提供一個經驗交流和資源共享的平臺,更重要的是通過建設專業教學資源庫,帶動全國高職院校專業教學模式和教學方法改革。我系在這樣的大環境下,對專業領域的教學資源進行開發,取得了一定的成績,但是跟示范性院校還有差距,今后還有很長的路要走。
參考文獻:
[1]胡楓.《c語言程序設計》的案例式教學的設計[J].青海師范大學學報(自然科學版),2010(4).
篇5
[關鍵詞]C語言程序設計 改革 實踐
引言
C語言程序設計課程足以C語言為平臺,使學生全面了解程序設計的總體思路、程序沒計的基本算法、C語言的語法規則以及使用C語言進行構化程序沒計的方法,并具有一定的程序設計和程序調試的能力,為今后使用C語言解決實際問題打下良好的基礎 由于C語言涉及的概念比較復雜,規則繁多,使用靈活,容易出錯,同時該課程又是學生首先接觸的第一門程序沒計課程,所以很多學生學習起來都感到困難和吃力.并不同程度產生畏懼心理。
在C語言程序設計的教學工作中,我們發現,學生的學習熱情不高,更談不上綜合應用能力的培養與提高。我們C語言課程教學組通過對我校C語言程序設計課程教學現狀的調查分析,總結出了教學效果較差的主要原因,并從教材內容、教學方法、教學手段和、上機實踐和考核評價體系五個方面進行了大膽的改革與實踐,并取得了較好的教學效果。
一、C語言程序設計課程教學現狀分析
為了實時掌握學生的真實學習情況,任課教師對學生進行了問卷調查。根據問卷結果及各位教師的教學經驗,總結出我校C語言程序設計課程教學效果較差的主要原因有以下幾點。
(1)內容抽象、枯燥,學生學習興趣度低。相比第一學期已經或多或少有所接觸并有一定基礎的大學計算機課程而言,第二學期開設的程序設計課程是一種截然不同的全新的課程,出現了大量的新概念、新名詞和新方法。上機時好不容易敲上了一個程序,一運行就會出現一堆錯誤。62.4%的學生看不懂錯誤提示,84.76%的同學不會使用單步跟蹤、Watch窗口等基本調試工具,22.3%的同學竟然根本不知道這些調試工具。于是學生對該課程的學習舉步維艱,學習的熱情急速降溫。
(2)實用性不強。近80%的同學認為C語言的語法知識學了一大堆,但不知道學這些語法有什么用,和自己的專業知識有什么聯系。因此,多年積累下來,對C語言程序設計課程的普遍看法是:這是一門無用的公共課,混混過去就算了。于是,很多同學上課不聽講、下課不預習、不復習,周而復始,形成惡性循環。
(3)進度過于緩慢。C語言程序設計每周4學時,其中,2學時多媒體教室的課堂教學,2學時計算中心機房的上機實踐。計算中心機房為多個班級公用,且無屏幕轉播設施,因此教師的教學僅限于2學時的課堂教學。課時太少,加上學生興趣度低,往往一學期下來指針剛講了基本概念就結束了。有些為參加全國計算機等級二級c語言考試而努力學習的同學也因為指針內容學習太少而難以過關。
針對上述C語言程序設計教學效果差的原因,我中心C語言課程組的各位教師認真研讀了“研究式學習”、“CDIO教學模式”、“計算思維”等理論及各種教學方法和實踐方式,借鑒了哈工大全國精品課程“C語言程序設計”課程的先進教學經驗,并結合各位教師多年的教學經驗,制定了C語言程序設汁課程教學體系的改革方案。該教學體系改革方案從教材內容、教學方法、教學手段、上機實踐和考核評價體系五個方面展開。
二、編寫優質配套教材,實施教材改革
我們按照研究性學習的內涵編寫了《研究式學習——C語言程序設計》教材,目前正在進行面向“計算思維”的新版教材的編寫。該系列教材具備以下特點:
(1) 編寫理念科學性強
整套教材的編寫以“研究式學習”理念為指導,研究性學習是一種建構性的、追求協商的、尊重個性的、以人為本的“體驗式學習”。在2006年的《國家精品課程評估指標》中新增了一條指標:“重視研究性學習、探究性學習、協作學習等現代教育理念在教學中的應用;能夠根據課程內容和學生特征,對教學方法和教學評價進行設計。”所以研究性學習是以人為本的高等教育價值觀的體現,是社會變革和教育發展的要求,也是精品課程的要求。研究性學習的關鍵是要在學習的各個階段提出適當的研究問題,以便在學習過程中為學生創造能親臨體驗地進行研究學習的平臺,問題的提出貫穿在課堂教學、實驗教學、課后作業、綜合性作業以及評價的整個教學過程中。我們自2004年開始就致力于打造C語言程序設計精品課程,所有的教學和改革都圍繞該指導思想進行。2007年以C語言程序設計為主體的“程序設計與計算機語言”被評為省級精品課程,2010年由教材主編主持申報到了省級質量工程教改項目“Inquiry Learning體系在程序設計課程中的運用”研究。這一系列的改革和研究都是以學生為主體,以培養和提高學生的計算機素養為最終目的而制定的。在教學過程中我們經常與學生座談和交流,了解學生的需求,完善我們的教學,使我們的教材和教學模式能與時俱進,保持很好的前瞻性和科學性。
(2) 內容組織創新性強
本教材用“提出問題—分析問題—給出相關知識—舉一反三”的研究式學習方式來組織“C語言程序設計”這門課程,在注重語言知識培養的同時,更注重邏輯思維能力、程序設計能力及創新能力的培養。內容組織方式新穎,符合認識規律,富有啟發性,便于學習,有利于激發學生學習興趣及各種能力的培養。本教材每章都通過4個步驟來完成學習:
第1步,通過提出問題、分析問題來激發學生的興趣,引起學生的思考。
第2步,通過問題的解決、相關知識點的跟進,使學生能逐步提升程序設計的能力,掌握C語言的知識,引導學生深入思考。
第3步,用一定數量的編程實例使學生深入理解和掌握所學知識,用具有趣味性的綜合應用編程實例培養學生的邏輯思維能力和編程能力,挖掘學生的創新能力。
第4步,對每部分的知識進行小結,以便學生進一步鞏固應掌握的知識。
每章后面都有“綜合應用”部分,讓學生對所學知識的具體運用有明確的認識,并能在此基礎上進一步鞏固和提升。
三、采取多樣性方法,實施教學方法的改革
(1)任務驅動教學方法
大多數學生反映C語言概念眾多,許多知識點抽象且難以理解,學生不能將理論和實際應用結合起米, 任務驅動教學法是一種建立在建構主義學習理論基礎上的教學法,它將以往以傳授知識為主的傳統教學理念,轉變為以解決問題、完成任務為主的多維巨動式的教學理念;將再現式教學轉變為探究式學習,使學生處于積極的學習狀態,每一位學生都能根據自己對當前問題的理解,運用共有的知識和自己特有的經驗提出方案、解決問題。在c語言程寧沒計課中.體現“任務驅動”就是讓學生在一個個典型的程序“任務”驅動下,教師引導幫助學生完成一系列程序“任務”,把知識的學習和知識的應用有機地融合在一起,讓學生達到融會貫通、一點帶面的效果。例如,在講授C語言循環語句的教學時,按任務驅動教學模式不是孤立地介紹格式、作用和使用方法,而是將這一知識點設計為“計算1+2+3+……+1 00=?”這一具體的任務。首先,教師通過提出“任務”讓學生把握教學內容,同學們會想象怎么完成這個任務,頭腦里對前而的所學內容進行回顧,但前面學過的知識沒法完成這種任務。接下來教師再講解如何使用循環語句等具體操作方法,這樣教學,學生學得快、學得牢。通過實踐發現“任務驅動”法有利于激發學生的學習興趣,培養學生的分析問題、解決問題的能力,提高學生自主學習及與他人協作的能力,縮短了學習周期。
(2) 項目教學法
很多學生在學完C語言程序沒汁課程后,其結果是聽得懂、卻編不出程序來。針對這一情況,我們在教學過程中采用項目教學法。項目教學法是通過實施一個完整的項目而進行的教學活動,其目的是在課堂教學中把理論與實踐有機地結合起來,充分發掘學生的創造潛能,提高學生解決實際問題的綜合能力。在課程初期.主要是進行單項的編程練習,重在掌握C語言的基本數據類型、語句與程序結構等。在進入函數、數組、指針、結構體和文件內容教學時,開始綜合實訓項日的編程設計,每一個實訓項日都呵以用前一個實訓項目為基礎。通過一個項目的層層遞進,引入課程內容,使得學生的學習循序漸進,螺旋式地上升,效果很好,開闊學生的思維,使得學生在課堂上真正地成為“主體”,教師則扮演“主導”角色。該教學方法使學生積極參與到教學過程中,變被動為主動,有效地調動了學生學習的積極性,深受學生好評。
(3)比較教學法
C語言中的概念比較復雜,規則繁多.而且內容前后聯系緊密,教學過程中教師通過對比的方式對相關的概念或類似的程序代碼進行比較,進而明確差異,然后進行歸納總結,方便學生理解,將會收到事半功倍的效果 例如,C語言中的指針是教學中的一個難點.這一部分涉及的概念較多,如指向變量的指針、指向數組的指針、指向字符串的指針、指向函數的指針等。這些概念很容易混淆,但是將這些概念對比起來講解,學生就很容易理解了。這些概念的共性都是指針,那么它們不同的地方在哪呢?關鍵在于指針變量的指向不同,指針所指向變量的數據類型決定了指針變量的用法。通過這樣的講解,概念的定義就很容易理解,概念的用法也就可以統一了。再如,數據的排序問題有多種算法,典型的有冒泡排序、選擇排序、插入排序等,求解方程的根的算法也有多種,有迭代法、牛頓迭代法、二分法和弦截法等。這些算法之間既有聯系又有區別,講清楚了算法的聯系和區別,也就解決了整個問題。
(4)啟發式教學法
啟發式教學法就是通過教師的啟發教學充分調動學生的積極性、主動性和創造性,引導學生主動學習。例如,在學習printf()和scanf()函數時,通過比較式啟發方法講解兩函數的功能、格式、使用特性等方面的異同,通過比較使學生更好地把握兩函數的特征。在學習選擇排序算法時,使用模擬式啟發方法,讓l0個學生隨機坐在相鄰的l0個位子上,然后現場模擬排序過程;在學習數據交換算法時,使用比喻式和問題式啟發方法,將兩個變量比喻成兩個瓶子,將里面存放的數據比喻成醋和醬油,然后提問:如果將兩個瓶子中的醋和醬油交換一下,應如何操作。
(5)“魚漁兼授式”教學方法。C語言只是一種表述工具,如果只有扎實的語法知識,沒有程序設計思想,根本就不可能寫出程序;而如果有程序設計思想,但語法知識不扎實,勢必在程序的編寫、運行過程中遇到一系列的問題,從而影響學生的學習熱情。而“魚漁兼授式”教學方法可以在基礎語法知識和程序設計方法之問找到一個平衡點,使之相輔相成。例如,在講解數據類型時著重講解為什么數據要分不同的數據類型,需要從哪幾個角度學習不同數據類型的特性;講解具體算法時著重講解遇到類似問題時應從哪些角度分析問題,用什么方法進行程序設計從而解決問題;在課前精心設計一些錯誤,尤其是邏輯錯誤,然后講解遇到錯誤可以采用什么手段去剖析、定位錯誤。
四、建立立體化教學體系,實施教學手段的改革
我們從2006年就開始了立體化教學體系的建設,我們建立了精品課程網站,實現了“在線教育”,現在我們課程的課件、課堂教學錄像、軟件、二級等考及相關閱讀等教學資源都放在了網絡上,作業也通過網絡來實現布置、提交和批閱。師生之間可以通過教學郵箱和課程論壇進行交流,任課教師可以自己定制調查問卷,隨時了解學生的動態和需求,還可以隨時進行在線測試,課程考試已經完全實現了網絡無紙化模式。學生可根據自身的情況進行課后自主學習、自測學習、互相學習或下載資料、上交作業,有助于學生的個性化發展和創新能力的培養。設計出包含驗證型、引導型、擴充型和設計型等多種類型的實驗,在實踐中充分體現學生的自主性,有目的、分層次地培養學生的實踐能力,使學生學會從實驗過程中獲取知識,積累經驗。通過綜合設計,為學生自己構建、發展并完善自己的知識體系創造機會,使學生具備獲取知識和應用知識的能力,激發學生的創新精神,培養學生的團隊精神和協作能力,全面提高學生的實踐能力。
教學實踐證明:學生在課程網站上作業及報告的提交率達到98%以上,問卷調查的訪問量達到了85%以上,優秀設計作業的訪問率達到90%以上,其他資料的訪問率也高于60%。由此可見,立體化教學體系很好的實現了不受時間、地點限制的開放式教學。
五、上機環節的改革與實踐
上機環節是教學活動的重要環節,是對學生進行基本技能訓練、增強學生實踐能力的關鍵環節,是培養學生創新精神的重要手段。本科實踐教學的目的是優化學生的素質結構、能力結構和知識結構,讓其具備獲取知識、應用知識的能力和創新能力。對于《程序設計與計算機語言》課程,以往的實踐教學內容和題目以驗證型和設計型為主。驗證型的題目只要求學生按照書本上的指示,輸入程序,填寫結果即可,學生處于被動接受的地位,學生覺得無趣,毫無創意;設計型的題目對于非計算機專業學生來說,難度太大,學生無從下手。為了全面提高學生的實踐能力和應用能力,使實踐教學能滿足不同層次學生自主學習的需求,我們制定并實施了以下改革措施:
(1)改革上機實踐的教學模式:將以理論教學為主的教學模式改為由理論教學和實踐教學相互聯系、相互交叉、彼此滲透、有機結合、同步發展的教學模式,確立了實踐教學在《程序設計基礎》課程中的重要地位。
(2)設計多種類型的實驗題目:針對學生存在基礎不同、接受能力不同、個性有差異等問題,設計出包含驗證型、引導型、擴充型和設計型共四種類型的實驗,題目盡可能做到覆蓋知識點,切合實際、生動有趣。通過完成不同類型的實驗,有目的、分層次地培養學生的實踐能力,使學生學會從實驗過程中獲取知識,積累經驗。
(3)在實踐中充分體現學生的自主性:實驗課的實驗任務由規定實驗內容和自主實驗內容兩部分組成。學生在完成規定的實驗任務后,可根據自己的興趣和愛好,自主設計一些實驗任務,在教師的指導和幫助下加以完成和實現。通過自主學習和自主設計,能有效地培養學生應用知識的能力和探索精神,極大地激發學生的學習主動性。
(4) 啟發引導學生的創造性,培養學生的團隊協作精神:本課程要求學生以小組(3~5人)為單位進行綜合性程序設計,設計題目主要由學生自己按綜合設計要求來確定,每個小組推選出一名小組長,負責協調程序的開發、與教師和組員的聯系、提交總的設計報告和完整的源程序等工作。在綜合設計過程中,學生處于主導地位,是核心。學習小組的組建,綜合設計題目的選擇或確定,各組員任務的分配與協調,任務完成后的總結與成績的自評等,主要是按學生的意愿來進行。教師只負責宏觀指導和一些條件支持。當學生的選題不符合要求或系統功能設計不合理時,教師會立即指出,并幫助他們修改和完善;當學生調不通程序或程序中有錯誤時,教師會向他們介紹調試方法和查錯方法,教會他們調試程序。對學習好、能力強的優秀學生,教師會注重開擴他們的思路,啟發他們的思維,引導他們去獲取新知識、去探索新問題,激發他們的創新欲望,使他們能完成高水平的綜合設計。通過綜合設計,可充分體現以學生為中心的教學方法,為學生自己構建、發展并完善自己的知識體系創造機會,使學生具備獲取知識和應用知識的能力,激發學生的創新精神,培養學生的團隊精神和協作能力,全面提高學生的實踐能力,從而有效地提高《程序設計與計算機語言》課程的教學質量。
六、考核評價體系的改革
我校C語言程序設計課程的成績分為理論和實踐兩個分數,各2個學分,兩項成績都合格即可獲得該課程的4個學分。其中:
理論課綜合成績(百分制)=平時(百分制)*(50%)+末考(百分制)*50%;
上機實踐綜合成績(百分制)=平時(百分制)*(60%)+綜合設計(百分制)*40%;
理論成績由平時成績和末考成績組成。其中:平時成績由上課考勤、作業提交、階段性實驗報告組成,占總成績的50%;末考指的是期末閉卷無紙化考試,末考側重于基礎知識測試,考核學生對基本概念的掌握。題型包括:判斷題、選擇題、填空題和編程題,判斷題題型重點考察學生對基本知識點的掌握程度,選擇題和填空題重點考察學生對程序的閱讀、理解和分析能力,編程題則重點考察學生編寫程序的能力。
無紙化考試采用的是我們中心自己研發的考試系統,但該系統存在一點缺陷,就是編程題需要人工閱卷。因此,我們于2012年開設了一個試點班,本著提高學生編程能力的目的出發,從平時的教學和最后的考試都試用了哈工大研發的《C語言編程題自動評分系統》。該系統允許學生借助于 C編譯系統調試程序,學生將自己編寫并調試過的程序由客戶端提交給服務器端后,服務器端立即根據學生程序的結構和語義進行評分,并將評分返回給客戶端,使學生在提交程序之后立即看到自己的分數。
上機實踐成績則由平時成績和綜合設計成績構成。其中:平時成績由上機考勤、在線單元測試組成,占總成績的60%;課程最后提交的綜合設計則占到了40%。
該考核評價體系涉及到教學實施過程中的每一個環節,有利于對學生進行科學、客觀的評價,從而避免了一張考卷定乾坤帶來的弊病。
該體系在實施過程中顯現出了其科學性,但是目前存在的問題就是教師的負擔太重。一個學生一學期一般要提交12份報告,每位教師一般帶兩個班,每個班約88位同學,這樣每位教師一個學期只報告一項就要批閱約2000份,工作量太大。現在正在努力尋求更加合理的解決方法。
七、結束語
教學實踐證明,以上改革措施能夠有效解決我校C語言程序設計教學過程中存在的問題。此教學模式下,教學內容符合學生專業特點,能夠滿足理工科專業學生對計算機技術的需求;教學方法行之有效,教學效果有明顯提高;教學實踐方法與措施切實可行,能夠有效促進學生分析問題解決問題能力、實踐能力及團隊合作能力等能力的培養與提高。當然,該模式仍然存在一些不盡如人意的地方,這就需要我們堅持不懈,繼續努力去改進和完善。
項目來源:云南省高校質量工程教改項目“Inquiry learning體系在程序設計中的運用”(云教高[2010]96號)。
[參考文獻]
[1]王剛.CDIO工程教育模式的解讀與思考[J].中國高教研究,2009(5).
[2]謝延紅.C語言程序設計公共課教學模式改革與實踐[J].計算機時代,2010(12).
[3]馬新.《C語言程序設計》課程教學方法與手段的改革與實踐[J].科技信息,2010(33).
篇6
關鍵詞:程序設計;項目教學法;任務驅動
中圖分類號:TP312.1-4 文獻標識碼:A 文章編號:1007-9599 (2012) 13-0000-02
《C語言程序設計》是各類院校各類專業學習計算機語言的一門啟蒙課,也是國家計算機等級考試可選編程語言之一。掌握好C語言的編程技術,將為學生學習后續各專業課奠定堅實基礎。C語言算法比較復雜,規則繁多,使用靈活但容易出錯,學生掌握具有一定的難度。通常該課程被作為一門公共基礎課,參加整個院校的統一考試,授課方式為每周一次理論課和一次上機課。學生普遍反映理論較抽象,課堂教學課時不夠,很難達到精通的程度,導致學習后續諸如《數據結構》、《高級程序設計》等課程時較為吃力。
針對上述情況,我院采取了各種措施,比如邀請在計算機語言教育領域有獨到見解的專家和優秀教師一起討論、專家隨堂聽課等方式,最后以我院電信專業為改革試點,針對專業和獨立學院學生的特點,對學生有針對性的講授,同時從以下幾個方面進行改革:
一、增加理論課課時量
以前的課程安排為56學時,課堂講授和學生上機練習的課時數分別為32和24學時,對函數和模塊設計這一部分講解較淺,且對于指針、結構體和聯合體及文件這三部分只進行概念介紹,但實際上這些內容非常重要,不僅計算機等級考試C語言考核這些內容,后續軟硬件實踐課程也均以此作為基礎。由于這部分內容的缺失導致學生對許多實際問題不知如何編成實現。因此從2011級學生開始理論課課時增至40學時,上機課課時維持24學時不變。
二、改革授課方式
以前該課程的教學方式,主要是教師課堂講授、學生課下練習。學生的積極性和主動性都不高,而且感覺到該課程枯燥乏味,老師的教和學生的學都有很大的難度。采用項目驅動教學法之后,主要是教師提出問題,給定開發目標,學生在教師的引導下,和教師一起共同完成項目的開發。在項目具體實現的過程中,需要用到的知識點,比如要處理的數據及其數據的類型,在此處給學生詳細講解,這樣學生對C語言中數據的類型就有了深刻的認識。學生通過親自參與、體會和實踐,提高學習積極性和主動性,并更好的接受和掌握了新知識。這樣“以學生為主體、以教師為主導”的教學模式,能使學生最大限度地貼近實際問題,從而達到該課程的教學目標。
(一)項目導向、任務驅動教學法
所謂項目導向、任務驅動教學法,是在整個教學過程中選擇一個可行的、學生感興趣的實例,提取典型工作任務,將工作任務合理有序化后,對每一項工作任務分析所涉及的相關知識,設計相應的學習情境;針對每一種學習情境以項目為導向,以任務為驅動,逐步細化,構成一個由淺入深的知識學習與技能訓練有機結合的學習體系。
根據本門課程的特點和學生的實際情況,在整個課程教學中,以開發學生熟悉的和感興趣的“教務系統”為項目實例進行講解,將枯燥的理論教學轉變為直觀的實踐操作,培養學生學習計算機語言的興趣。
(二)案例教學法
在每次課堂教學中,以項目的一個實例來推進來課堂教學的開展。通過采用案例教學,講解與任務相似的案例,使學生掌握完成任務所需的知識和技能,從而實現知識點的有效過渡和深化。由于C語言是大學中接觸的第一個編成語言,因此案例的選擇一定要接近實際,讓學生對問題的定義有明確地了解,這樣在講具體的程序設計時學生才容易理解。比如在講程序的分支結構時,以超市的結賬系統為例來進行,超市推出的一系列優惠策略,比如達到68元給5%的優惠,達到98元給10%的優惠等,這些優惠條件就構成了分支結構的條件,通過這些實際問題的講解,使學生實現對各個知識點的理解及深化。
三、改革教學手段
以前的教學手段主要采用多媒體教學,但由于程序設計課程的特殊性,僅用多媒體或傳統的板書很難達到該課程的要求,因此在該課程的教學中,要求將傳統的板書與多媒體相結合,在講解算法思路時采用板書,而講解具體實現代碼和執行過程時采用多媒體,將執行過程采用動畫的方式實現,這樣不僅能讓學生快速掌握課堂知識,而且會節約課堂教學時間。
語言學習僅靠課堂教學很難讓學生達到精通的程度,而《C語言程序設計》學習的目的之一就是要讓學生能獨立編寫程序解決具體問題,因此我們充分運用網絡資源,將上課的課件和作業的參考答案等放在服務器或局域網上,讓學生復習時有資料參考,同時通過QQ建立討論組,教師與學生可實時交互,及時解決學生編成中遇到的實際問題。
四、改革考核方式
以前的考核方式為平時成績占30%,期末考試成績占70%,但忽略了對上機實踐環節的考核。然而,電信系各專業的上機實踐非常重要,通過實踐才能提升學生的實踐能力。大部分學生在大二下學期會報考全國計算機等級考試二級C語言,而且電信系在《C語言程序設計》課程后開設了《數據結構》、《單片機原理》、《嵌入式系統》等以C語言作為基礎的課程。因此,培養學生熟練掌握C語言,并強化動手能力對學生的繼續深造和就業起到非常重要的作用。鑒于此,考核方式改為平時成績占15%,上機實驗占25%,筆試成績占60%,并增設期中考試。期中考試采用隨堂考核形式,成績以5%的比例記入平時成績中。
在本年度《C語言程序設計》課程教學中,針對電信11級學生實施了該改革措施,將項目導向、任務驅動和案例教學法應用到教學設計中,并結合課程的特點,對該教學方法進行了不斷的改進和具體化,實踐證明,教學效果顯著。
參考文獻:
[1]熊芳敏,許爍娜.C語言課程教學探討[J].計算機教育,2010(13):105—106
[2]邵玉祥,陳青.“案例教學+項目教學法"在計算機語言教學中的互補應用[J].高教論壇,2012,2
篇7
關鍵詞:指針變量 數組 字符串 函數 常見問題
中圖分類號:TP312 文獻標識碼:A 文章編號:1673-9795(2013)08(b)-0163-01
指針是C語言中廣泛使用的一種數據類型。運用指針編程是C語言最主要的特點之一。利用指針變量可以表示各種數據結構,也能很方便地使用數組和字符串,更加能像匯編語言一樣處理內存地址,[1]從而編寫出精練而高效的程序。
1 指針變量的使用優勢及常規用法
(1)使用指針指向數組首地址,簡化了數組相關的程序內容的書寫,避免了整體使用數組,在程序執行中減少了先找數組元素的地址再取數組元素內容的過程,直接在數組所在的地址范圍內操作數組元素,提高了程序的執行效率。(2)使用指針指向字符串(即字符數組),把一個字符串整體當作一個數組元素,多個字符串的指針變量就構成了指針數組,不僅節省了內存空間,還大大地提高了程序的執行效率。(3)指向單變量的指針變量作為函數參數,可以在程序執行過程中及時轉向調用函數的入口。節省內存空間的同時,把指針變量替代單變量作為直接變量在調用函數執行過程中執行相應程序操作,免去了返回值的執行時間與過程。(4)指向結構體復合變量的指針變量作為函數參數,可以通過變化結構體變量靈活使用指針變量在調用函數中執行函數的程序操作,不僅節省內存空間與執行時間,而且方便程序變量的修改,提高了程序的可移植性。(5)指向函數的指針變量作為函數的參數,可以在一個主函數中實現多個自定義函數功能間的調用,大大地提高了程序的靈活性與可移植性及程序執行的效率。(6)使用指針指向文件類型結構體,可以找到與之相關的文件,實現文件的訪問,在主函數執行過程中靈活轉向其它文件的執行。
2 指針變量使用常見問題及解決方法的探求
2.1 指針變量的初始化
同其他變量的初始化相似,在指針變量的定義之后就應該給指針變量賦一個初始的地址值。如果沒有給定義的指針變量賦初值的話,指針變量的值不定,可能會導致一些隱藏在某些地址號的內存中的難以跟蹤的漏洞(bug)運行。如:
int *p; *p=100;
p定義為一個指向整型變量的指針變量,但是卻沒有給p賦予一個初始的地址值,只是把一個存儲100的常量的存儲單元的首地址賦給了p,而這個存儲單元的首地址可能在程序其它位置另作它用,就會產生隱形的難以追蹤的bug的運行。因此,為了避免可能性的發生,就要和其他變量的使用一樣,在定義指針變量的時候就要同時給予指針變量一個初值,以確定指針變量的初始的地址,即指針變量的初始化。將上述例子修改為:
int a=100; int *p=&a;
還要注意把“int *p=&a;”和“*p=&a;”混淆,前者是指針變量的初始化語句,即定義的同時給指針變量賦初值,而后者是一個旨意錯誤的賦值語句,把整型變量a的首地址賦給了p所指向的整型變量。
2.2 指針變量的賦值
給指針變量賦予的初值一定是地址。同樣,在程序中給指針變量重新賦予的值也只能是地址或使指針變量指向同類型的變量值的首地址。如:
int a,*p; p=a;
要使p指向a,就要有地址運算符&對a取首地址后賦給p,或者把變量取內容賦給p,而不是直接把a賦給p。C語言編譯器會提示指出這是個語法錯誤,給指針變量賦予的內容和指針變量不匹配。正確的賦值一般形式為:
int a,*p; p=&a;
或 int a,*p; *p=a;
還要說明的是指針的指向要有具體類型說明。不能給指針賦予與其基類型不符的地址,否則也會出現語法上錯誤。如:
int a=100; double *p; p=&a;
在給指針賦值時,不只要求是地址,還要是一個與該指針類型相符的變量或常量的首地址。而上述例子中,a是整型的變量,p是基類型為雙精度型的變量。二者不相匹配,這種賦值在編譯時就會發生語法錯誤。因此,給指針變量的賦值要注意指針變量的基類型,即指針變量能夠指向的變量類型。
2.3 指針在函數之間值的傳遞
#include “stdio.h”
void swap(int *a, int *b)
{int t; t=*a; *a=*b; *b=t;}
void main( )
{int x,y; printf(“請輸入兩個整數:”);
scanf(&x,&y); printf(“x=%d, y=%d\n”,x,y);
swap(&x,&y); printf(“x=%d, y=%d\n”,x,y);}
函數間的值傳遞也可以通過實參的地址單向傳遞給形參的指針變量,直接調用函數,完成函數間數據傳遞的目的。主函數main( )在調用函數swap( )的同時,把變量x和y的地址分別單向傳遞給了指針變量a和b。也就是主函數中對整型變量x和y的操作,通過地址的傳遞,雖然在調用函數過程中形式上是對指向整型變量x和y的指針變量a和b的內容(即x和y)的操作,實質上仍然是繼續對整型變量x和y調用函數的操作。也就沒有必要給主函數返回x和y的值了。省去了返回的時間和操作過程,提高了程序的執行效率與正確率。
2.4 指向指針變量的指針變量
*p,**p,***p分別叫做一級指針、二級指針和三級指針。如果這樣定義:
int a, *p, **q, ***r;
則第一個*p中的p可以用來存放普通整型變量的地址,例如賦值:p=&a。第二個**q中的q可以用來存放整型變量地址的地址,例如指針變量p的地址,p是指針變量,變量的值是整型變量a的地址,那么p這個指針變量的地址就需要一個比p高一層的指針來存放。因此可以這樣賦值:q=&p。第三個***r,道理相同,可以這樣賦值 r=&q。指針的嵌套使用,使程序在執行時更靈活,更有效率。
3 指針的使用是C語言程序設計中最重要的一環
能否正確理解和使用指針是我們是否真正掌握C語言的一個標志。C語言中指針的使用比較靈活,很多人在實際編程中很容易出錯,而且這種錯誤恰恰又難以發現,所以建議初學者大量地上機調試程序,以弄清一些細節,并積累經驗,為后續編程內容的學習打好堅實的基礎。同時,指針也是C語言中最為困難的一部分,在學習中除了要正確理解基本概念,還必須要多編程并上機調試。只要做到這些,指針也是不難掌握的。
參考文獻
篇8
關鍵詞:C語言;教學模式;教學改革
0 引言
C語言程序設計不僅是計算機專業的必修課,而且是很多非計算機專業的公共基礎課。它通常是高校學生所接觸到的第一門程序設計語言,其重要性可見一斑。由于是“第一門”,學生的學習熱情高漲,但當碰到數據類型繁多、語法結構復雜的計算機語言時,學生的學習興趣很快就消退了。如何結合現有的教學模式,改進C語言的教學效果,提高學生的學習興趣,讓學生能較快地掌握程序設計基本方法,一直以來都是值得探索的問題。
1 C語言的多維立體教學系統
樹立一個正確的教學目的和學習目的分別是教師教好和學生學好一門課的根本所在。教師和學生都應向這一目標努力。傳統的教學模式存在交互性弱、理論與實踐缺乏聯系等缺點。筆者結合多年C語言程序設計課程的教學經驗,在傳統教學模式的基礎之上,提出多維立體教學系統,如圖1所示。該系統由多元學習系統、實例分析系統、成功激勵系統3個子系統構成多維度、立體化的學習模式。多維立體教學系統為C語言學習者定制完全個性化的學習模式,能全面提升學習者的C語言運用水平,真正實現學知所用、學有所用、學會所用。
1.1多元學習系統
高校制訂教學計劃時,通常將該課程安排在大學一年級開設,而這一時期,學生剛剛由高中進入大學,對專業方向以及后續要學習哪些專業課程還不了解。學生們會疑惑:這門課對后續課程學習到底有什么用?這時,他們根本不可能認識到將這門課作為專業基礎課的真正用意,而從輔導員及學長那里得到的信息是計算機二級證書對于就業大有裨益。于是,學生在學習這門課伊始,心里便有了目標:通過計算機二級考試。對此,教師首先要做的是明確教學目的并調整教學目標,及時引導學生,讓學生明確學習C語言的終極目標是“學以致用”。
多元學習系統是以多媒體教學為基礎,并采用正常學習課、主題沙龍課、學習輔導課相結合的教學環節,幫助學生學習C語言。正常學習課就是教師采用傳統的教學方法,以正常的多媒體及板書形式授課,使學生在短時間內獲取大量信息的教學方法。這種方法雖然存在大家所都熟知的諸多缺點,但要使幾十甚至上百名學生能較快地掌握課程內容,傳統的教學方法不可或缺。教師應在講授這門課程伊始就清楚地告訴學生:學習這門課的主要目的,是通過學習C語言,了解基本的算法,掌握正確的編程思想和編程方法,提高計算機的應用水平,為后續課程打下良好、堅實的基礎。教師在講授這門課的同時,也要注意適時引導,不要過分強調計算機二級考試和期末考試的重要性,應本著實用的目的,讓學生活學活用。至于計算機二級考試,其實與我們上面指明的學習目的并不矛盾,如果學生的學習目標真正明確了,順利通過二級考試也是自然而然的事情。
主題沙龍課和學習輔導課是正常學習課的重要補充。教師在正常學習課環節的基礎上開展主題沙龍課,將正常學習課的重要知識點進行提煉,提出一定主題下的拓展命題,可以訓練學生對知識點的認知能力,使其進一步加深在知識點應用層面上的體會,并促進學生對知識進行消化和吸收。學習輔導課是針對學生上課(包括正常學習課及主題沙龍課)、作業及答疑過程中存在的不足,為學生擴展和補充C語言語法特點和應用案例等方面的知識,幫助學生快速積累知識。由正常學習課、主題沙龍課、學習輔導課構成的多元學習系統如圖2所示,三者相互促進且互為補充,是C語言多元學習中必不可少的環節。
1.2實例分析系統
美國著名的教育家喬伊斯在《教學模式》一書中,將教學模式分成4類。信息處理模式注重幫助學習者獲取信息,并發展學習者獲取信息、加工信息、觀察問題和解決問題的能力;歸納模式側重信息的獲得和加工;概念獲得模式主要是幫助學習者有效地學習概念;探究模式主要在于培養學習者探究的技能。
結合喬伊斯的教學模式理論,筆者提出實例分析系統。該系統以幾個完整的案例為總線,從工程實踐的角度出發,首先提出問題:我要編寫一個什么樣的程序,該程序要實現什么樣的功能;其次再進行功能模塊劃分,引出模塊化的思路;最后以案例為向導實現每個功能模塊,而每個模塊所涉及的知識點也被順理成章地引出來。傳統的C語言程序設計教學以填鴨式教學為主,強調教師“如何教”,忽視學生“如何學”這個問題。教學基本上都是在講解基本語法,配套教材中的案例也只是為了說明語法而已,缺乏趣味性。然而興趣和愛好卻是最好的老師,瓦特發明蒸汽機、牛頓發現萬有引力定律都是興趣的指引。
實例分析系統首先用生動的實例告訴學生這門課的學習目的是什么,避免了是什么、怎么用的介紹方式,而采用提出問題、分析問題、解決問題的方式;其次,掌握枯燥難懂的語法是實現案例功能的重要途徑,采用實例分析系統可以讓學生以輕松和主動的態度學習與掌握知識點;最后,將工程應用能力和創新能力的培養滲透于日常的實踐教學中,這也符合“卓越工程師教育培養計劃”(簡稱卓越計劃)的提出。實例分析系統在具體實施過程中還要注意把握以下幾個方面。
1.2.1多媒體教學結合案例教學
目前,C語言教學大多采用多媒體形式,因此教師應充分發揮多媒體的視聽優勢,注重選用集實用性、趣味性、一致性于一體的案例,通過多媒體演示程序執行流程、數據類型存儲過程、函數參數傳遞過程等。除了貫穿全局的大案例選擇,小案例的選擇也很重要。所選案例既要與教學目的相吻合,又要是學生易于接受和感興趣的案例。
教學選擇“智力大通關游戲”作為貫穿始終的大案例。該游戲由用戶選擇1、2、3、4、5、6(用戶可通過擲骰子選擇點數),然后進入相應的游戲環節,有算術游戲、智力問答、五子棋等游戲。教師通過程序展示環節,讓學生對C語言編寫的應用程序有一個初步了解,然后隨著學習內容的深入,學生從最簡單的模塊開始,不斷完善程序功能。
例如,學生在學習輸入輸出函數時,利用輸出函數輸出一個算術題或智力題,加深對打印輸出函數printf()的理解;利用輸入函數輸入數值,加深對輸入函數scarlf()的理解;學習選擇結構時,利用if-else結構判斷輸入的答案是否正確,若答案正確,輸出“恭喜你,答對了”,答案錯誤則輸出“下次再努力吧!”;利用switch()結構可以選擇游戲類型,練習多分支結構的使用;學習循環結構時,可用“當型循環”或“直到型循環”循環地出算術題或智力問答題,直到用戶選擇退出游戲;在學習函數知識時,可以用函數調用的方式練習出題過程。
至此,“智力大通關游戲”的基本程序框架已搭好。學生對于數組、結構體、共用體及指針內容的學習,可以以教師選擇的信息管理系統為案例進行學習。學生可利用數組的知識,練習編寫計算每門課平均成績及每名學生平均成績的程序;用結構體和共用體及指針的概念來存儲和管理每名學生的基本信息,在此基礎上,逐漸增加該程序的難度,并利用前面所學的函數知識,實現成績查詢、學生基本信息查詢等功能;學習文件時,可編寫如何將學生信息保存到文本文件或如何從文本文件中讀人信息的程序,使學生掌握有關文件處理函數的使用。相關內容學習結束后,一個簡單的信息管理系統程序設計也就完成了。
1.2.2課堂討論與實踐教學相結合
人的能力是在實踐中形成的,實踐是實現由知識到能力轉化的重要過程。要實現具有一定理論基礎、創新能力和扎實的動手能力的應用型人才培養目標,加強實踐教學尤為重要。教師在講課時也可以把一些富有啟發性的問題編成思考題,要求學生查找資料、獨立思考,然后再組織學生就這些思考題進行討論,在討論中鞏固所學內容。
學生有了學習興趣,自然就能積極自主地學習,教師也轉變為學習的輔助工具,從而逐步完成從“做中學”到“學中思”的過渡。在實現“智力大通關游戲”程序后,教師可以給同學留下一些討論題,如增加菜單的功能、增加用戶密碼的功能等,要求同學分組討論(即主題沙龍課環節),利用所學知識完善程序。教師在學生學會設計學生信息管理系統程序后,要求學生實現圖書信息管理系統或飛機訂票系統的程序設計,以激發學生的創造性。課堂討論不僅能拓寬學生的思路,使學生高質量地完成學習任務,而且還可以提高學生的綜合素質。
1.2.3多媒體教學與傳統板書教學相結合
教育心理學研究表明:人獲取的外界信息中,83%來自視覺,11%來自聽覺,3.5%來自嗅黨,1.5%來自觸覺,1%來自味覺。顯然,增加視覺和聽覺信息量是多獲取信息的可取方法。多媒體恰好在視聽方面具有顯著優勢,因此,從教育心理學角度看,運用多媒體輔助教學對提高教學效果必然大有好處。但多媒體教學不只是教師用電子教案取代紙板教案、用電子板書代替粉筆板書,而是在充分理解媒體語言、掌握其傳播特性的基礎上進行設計。
在眾多的教學媒體中,文本擅長表述高度概括、極為抽象或結論性的內容,我們通常將文本用于概念的表達,如語句的基本語法介紹等;圖形、圖像形象直觀,能夠直觀并生動地傳播信息,因此結合文本進行合理的頁面布局可以起到畫龍點睛的作用;動畫是以視聽的方式進行表達,恰當的動畫成分可起到強調主題、增加情趣的作用,如采用動畫方式對指針的應用進行講解,使學生了解每一條語句在執行過程中的作用,增強學生的直觀感受。
教師在利用多媒體技術輔助教學時需要注意以下方面。
1)在教學過程中,不建議一味追求視覺效果,而忽視教學本身,對多媒體類型的選擇要慎重。
2)多媒體技術是教學的輔助手段,因此不能本末倒置。幻燈片相比傳統板書方式包含的信息量大,教師容易忽視學生對知識的消化能力。因此,多媒體教學要有重點地與板書進行結合,有的放矢地利用傳統教學手段強調關鍵內容。
3)制作課件時,避免將課本內容原樣拷貝到課件上,這會使學生難以領會重點。多媒體教學只有與傳統板書教學有機結合,才能使課堂教學環節集知識、專業、趣味于一體。
1.3成功激勵系統
西方教育“以人為本”,從課程學習與實踐上升到人的全方位成功。成功激勵系統幫助學生實現自我認識、自我定位、自我成功等。編程是一種技能,學習C語言的關鍵是將C語言運用到實際應用當中。首先了解你自己,在此基礎上,設定C語言學習目標,以案例為驅動力,嘗試新的挑戰,不斷地從錯誤中總結并提高自己,追求卓越,這是一個不斷循環的過程。成功激勵系統如圖3所示,它可以是C語言學習的成功激勵系統,同時也與“卓越計劃”的初衷一致。
2.1重視買踐環節
通過課堂的理論學習,學生掌握了C語言的語法知識,但是編寫的程序是否正確并符合要求、能否運行,就需要通過上機調試環節來驗證。上機調試可以使學習中的疑點或問題得到明確解答,使學生更好地理解和鞏固課堂內容,并且能培養學生編程和調試程序的能力,因此必須重視上機實踐環節。作為教師,結合學生在課堂上所學的知識,對上機實驗內容進行精心設計,以便學生更好地消化和理解知識;還要盡量結合學生的專業,注重內容的實用性。
C語言是一門實踐性很強的課程,學生僅通過幾學時的上機環節還是不了解到底怎樣編寫一個能夠應用的完整程序。基于此,教師增設了課程設計環節,首先合理選題,題目既要起到訓練的目的,又不能難度太大。從以往的課程設計情況來看,信息管理類的題目比較適合做C語言程序設計題目。另外,考核方式也應靈活,教師不應以成敗論英雄,應摒棄以往以程序是否調通為依據,并將其作為最終成績的做法。實踐證明,“成敗論”有損學生對C語言學習的積極性。考核應以學生的考勤和鉆研精神、所做程序的完整性和運行情況、最終的簡要答辯為依據,著重鼓勵學生通過課程設計掌握編程知識和技能。
2.2教學、實踐與創新的關系
教學環節是知識積累的基礎,而實踐環節是教學環節的必要補充,兩者相輔相成、缺一不可。教學、實踐與創新的關系如圖4所示。實踐環節是學習能力與創新精神的集中體現,是訓練學習能力和創新能力的最佳途徑。教學、實踐、創新,進而促進教學及實踐環節,這樣不但可以促進學生鞏固課堂知識,而且可以激發學生在課外學習自己感興趣的知識,為以后學習專業知識打下堅實基礎。
篇9
(武漢鐵路職業技術學院 湖北 武漢 430205)
摘 要:對C語言的有關方面展開分析,介紹了C語言的基本程序形式、C語言中的語句分類、C語言與其他許多語言相比具體有什么特點,C語言的開發基本流程、C語言常見的錯誤簡析及修改。最后對學習C語言給予總結和提示。
關鍵詞 :C語言;語句分類;C語言流程;常見錯誤
中圖分類號:TP312 文獻標識碼:A doi:10.3969/j.issn.1665-2272.2015.10.048
收稿日期:2015-03-16
1 初識C語言程序
從這個簡單的C程序可以看出,C程序結構由頭文件、主函數、系統的庫函數組成,但程序功能不能,C程序的組成也有所不同,有時需要自定義函數來完成必要的功能。其中main主函數時每個C語言程序都必須包含的部分,而且main主函數的位置在程序中是任意的。
2 C語言的特點
與其他許多語言相比,C語言的特點有:①語言簡潔靈活。C語言只有32個標準關鍵字,9種程序控制語句,程序書寫形式自由;②數據類型和運算符十分豐富。既有系統定義的簡單類型:整型、實型、字符型等。又有用戶自定義的構造類型:數組類型、結構體類型、共用體類型等;③數據結構豐富。C語言提供了整型、實型、字符型等基本數據類型外,還提供了用基本數據類型構造出的各種復雜的數據結構,如數組、結構體、共用體等。另外,C語言還引入了與地址密切相關的指針類型,使得C語言的計算功能、邏輯判斷功能非常強大;④允許直接訪問物理地址。C語言中的位運算和指針運算符能夠直接對內存地址進行訪問操作,可以實現匯編語言的大部分功能。即直接對硬件進行操作;⑤它提供了大量的庫函數供調用。簡化了程序設計工作;⑥生成目標代碼質量高。一般只比匯編生成的目標代碼效率低10%~20%。C語言提供了一個相當大的運算符集合,而且其中大多數運算符與一般機器指令一致,可直接翻譯成機器代碼,因此,保證了C語言編寫的程序生成的代碼質量高,從而帶來了編譯和執行的高效率;⑦用C語言寫的程序可移植性好。C語言提供的與硬件有關的操作,如數據的輸入輸出等,都是通過調用系統提供的庫函數來實現的。庫函數本身不是C語言的組成部分,因此用C語言編寫的程序能夠很容易的從一種計算機環境移植到另一種計算機環境中;⑧C語言學習難度較大。特別是指針、地址、函數調用等內容較難度大,需要認真學習才能掌握。
3 C語言程序的開發流程
從編寫一個C語言源程序到得到最終的結果一般需要經過4個基本步驟:程序編輯、程序編譯、程序鏈接、程序運行(見圖1)。
4 C語言常見錯誤及分析
4.1.1 遺漏分號出現的錯誤
這個錯誤一般常出現在初學者所編程序中。
5 結論
C語言程序設計是一門強調實踐練習的課程,沒有捷徑可走,只有不斷地實踐、練習、發現問題,不斷解決問題,才能孰能生巧,舉一反三才能將所學知識鞏固發揮,最終掌握結構化程序的精髓,獨自編寫優秀高效的C語言程序。
參考文獻
1 孫麗云.C語言程序設計教程[M].北京:化學工業出版社,2013
2 王立. 二級C語言程序教程[M].武漢:華中科技大學出版社,2014
篇10
關鍵詞:精品課程建設;教學改革工程;C語言程序設計
中圖分類號:TP434文獻標識碼:A文章編號:1672-7800(2013)006-0189-02
基金項目:黑龍江省高等教育教學改革項目(JG2201201256)
作者簡介:高巍巍(1976-),女,碩士,黑龍江外國語學院信息科學系講師,研究方向為軟件工程、數據庫、教學管理。
0引言
教育部于2010年頒布了我國精品課程建設的評審體系,該體系面向高職、高校本科和研究生等多個層次,涵蓋了幾乎所有的教學學科。精品課程建設評審體系要求各教育機構結合自身特點,規劃符合自己學校辦學理念和學生實際情況的精品課程教學改革方案[1]。《C語言程序設計》是計算機專業的一門重要課程,是學習計算機編程的基礎課程,黑龍江外國語學院信息科學系通過多年的教學研究和教學實踐,將其打造成為學院精品課程體系中的重要課程之一。
1精品課程建設思路
C語言程序設計作為計算機專業學生的專業基礎課,為學生學好程序設計和編程思想的形成起著重要的作用。筆者所在院系為了響應教育部建設精品課程規劃和倡導質量工程的新教學理念,組織教師總結多年的教學經驗,并根據目前最新的人才需求,對《C語言程序設計》進行教學改革實踐,完成精品課程的建設。
以往的C語言課程教學普遍存在如下幾個問題:①教學內容復雜、難以理解,無法兼顧基礎各不相同的學生;②知識體系龐大,授課學時不足;③教材建設和教師知識結構很難適應C語言的最新發展和社會對人才的要求。針對上述問題,筆者所在系(以下簡稱我系)根據應用型人才培養目標的定位和通過校企合作企業了解到的用人需求為依據,經過反復研究和探索,總結出一套涵蓋教師隊伍建設、課程內容、教材建設、教學方法和手段等方面的精品課程建設體系,該體系與學校的應用型人才培養策略和優秀教師團隊建設的總體要求相對應。
根據精品課程評審體系的要求,我系首先對C語言程序設計的教學體系進行改革,不再采用照本宣科、直上直下的傳統教學路線,提出了三步走的教學方式:
第一步是基礎知識普及,把C語言中的所有概念按照編程思想涉及范圍集中進行講授。這部分內容大概占總學時的六分之一,目的是在進行進一步的學習之前,消除因為教育背景和知識面不同而造成的學生基礎的參差不齊。教師要根據最新的技術發展和用人需求,詳細介紹日后程序設計和編程開發中遇到的重點難點問題。這樣做的目的是為了讓學生了解C語言、喜歡C語言。所以課后習題和上機實驗環節的內容要豐富而有趣,教師也要積極調動學生的學習主動性。
第二步是進階學習階段,這里采用項目式教學手段,用一個或多個貫穿C語言程序設計和開發整個流程的項目為主線,講授編程思想相關的教學內容。這里要強調的是思想的形成,比如面向對象、軟件工程和網絡編程思想等,這些對于學生養成良好編程習慣和計算機思維都有很大的促進作用。這部分的學習是對學生編程技能的提高過程,所以教師在完成教學內容的同時,還要講授包括軟件健壯性、系統測試以及程序優化等相關軟件設計和開發的重要內容。這部分的教學活動占總學時的二分之一。這個步驟中學生應成為課堂教學和實驗教學的主體,讓他們自己通過實踐把所有教學內容都融會貫通,教師要做好答疑解惑的工作。
第三步是課程設計階段,將學生按照知識掌握情況組合成若干小組,每個小組設計和實現一個小型軟件系統。課程設計的內容要包括前兩部分的知識點和重要編程技術,并要能體現系統的軟件開發生命周期。這部分的教學活動占總課時的三分之一,目的在于為以后的程序設計相關課程打好理論和實踐基礎。這部分的教學活動應全部由學生完成,他們以小組為單位共同討論協商包括需求、設計、開發、測試、版本控制等軟件設計的各個環節。最后提交的除了具有可運行程序之外,還需要有完整的軟件開發文檔,這些程序和文檔要在最后的課程設計評審中供所有教師和學生評價,最后打出分數,計入最終的課程評分中。《C語言程序設計》精品課程建設課程體系“三步走”示意圖如圖1所示。
2精品課程建設實例
教育部對精品課程的定義是具有一流教師隊伍、一流教學內容、一流教學方法、一流教材、一流教學管理等特點的示范性課程。借助現代計算機網絡技術,精品課程的相關資料和方法將在網上公開和共享,實現教學資源的共享和共建。精品課程資源作為優質的教學資源,是提高教學效果和辦學質量的重要基礎內容。
我們認為,精品課程建設首先要有明確的定位,要符合所在學校的辦學理念,適應社會的發展和科學技術的變革,并在教學實踐中不斷發展進步。要逐步形成一套科學完整的課程體系,包括教學內容、教學方法、教學手段和考核方式的改革。不但要有知識的教育,更要體現對學生認知能力的培養,培養他們自主創新的能力。同時通過精品課程的建設,形成一支優秀的教師隊伍。還要研究如何建設和利用網絡支撐環境,促進課程建設,利于通過網絡共享教學資源。
2010年頒布的精品課程評審體系分為5大體系指標,若干分支指標,其中教師隊伍建設和課程內容設計是最重要的指標[2]。精品課程評審體系示意圖如圖2所示。
2.1教師隊伍建設
精品課程的核心內容就是建設一流的教師隊伍、一流的教學內容和教學方法、一流的管理模式等,可見教師隊伍建設是精品課程建設的重點。目前我系《C語言程序設計》教學組有教師5名,包括3名講師、2名副教授。教學組5人均為碩士以上學位,年齡結構也是以中青年教師為主,具備知識結構快速更新的特點。任課的教師都具有國內知名學校相關專業的研究背景,并都有兼顧學術研究和技術應用的人才素質。在總結以往經驗和不斷探索中,我系采取了一系列有利于教師隊伍建設的措施。
(1)集體備課。主要采取群策群力、以老帶新的形式,組織教師進行學術調研和討論的活動。教師之間可以暢所欲言,在介紹自己教學經驗的同時把自己解決不了的問題提出來供大家討論解決。這種傳幫帶的形式可以很好地幫助年輕教師適應崗位。
(2)教學研究。鼓勵教學研究,年輕教師可以根據最新的教學理念自己探索和總結研究方向,把研究成果作為補充教學內容的主體。并組織年輕教師進行定期培訓,不斷提高他們的理論水平和授課能力。
(3)良性競爭。組織教師參加教學大賽,通過比賽發現自己的不足和他人的優點,取長補短。
(4)督導觀摩。為了讓年輕教師盡快地適應崗位,學院安排了由老教師組成督導觀摩小組,以聽課和公開課的形式指出他們的不足,幫助他們盡快成長。
(5)考察進修。安排教師參加國內外各類相關學術會議,進行卓有成效的學術和教學交流活動。通過教學交流,我系在學習國內外知名院校的教學經驗之后,引入了任務驅動式教學等先進教學方式,取得了良好的教學效果。
(6)教材編寫。為了讓教材的內容符合我系的精品課程建設體系,組織教師編寫相關的授課教材和實驗指導書。
2.2課程教學內容
《C語言程序設計》課程的教學內容,是在充分考慮了學生基礎、學校人才培養目標定位、社會人才需求等多個因素之后制定的。教學內容強調實踐教學的重要性,讓學生邊學邊練,以戰代練,在知識學習的基礎上,養成良好的程序設計習慣和思想,具體的做法如下:
(1)任務驅動教學。教學的目標明確,根據學時要求將課程分為48講,每個階段的學習都有一個教學目標,所有的教學內容和課堂活動都圍繞這個目標展開。
(2)應用性教學。為了貫徹學院應用型人才培養的教學理念,教學內容要做到少概念和公式,多思想和技巧,把培養學生的思維能力和實踐創新能力作為教學的主要目標。
(3)情境教學。教學內容要豐富有趣,可以通過創設任務情境的方式展開教學內容,激發學生的學習主動性。例如:在講解二維數組的定義和引用時,在問題深化部分,為了講解二維數組的應用,我們創設情景,舉例如下:做一回黃蓉,幫靖哥哥填九宮圖。為逃避裘千仞的追殺,靖哥哥背著黃蓉逃進瑛姑的住所,瑛姑出了一道難題,要求靖哥哥將1~9這9個數字填入九宮圖中,使得橫向、縱向、斜向的數字之和均為15。通過這樣的問題描述,學生的興趣馬上就被調動起來,課堂活躍有序,教學效果自然會好。
(4)邊學邊練。教學組編寫了同步訓練指南,根據每個教學章節安排練習內容,分為基礎訓練和能力提高兩種,學生可以根據自己的學習情況自主選擇。同步訓練的內容都是根據實際的程序設計內容和部分計算機二級題目制定,讓學生在學習之后可以有一個好的復習和能力提高過程。
(5)實踐教學。作為精品課程建設的重點之一,實踐教學必須得到足夠的重視,實踐教學環節占總學時的三分之一。實踐教學包括上機實驗和課程設計兩部分,上機實驗根據我系教師參于編寫的《C語言程序設計題解及實驗教程》進行,共分為12個實驗,每個實驗分為:實驗目的、重點內容提要、實驗示例和實驗內容4個環節。實驗前,要求學生預習實驗,填寫分析結果;實驗后,填寫運行結果。避免學生上機盲目性;課程設計則是安排學生組成若干個小組,每個小組都有各種能力水平不同的學生,讓他們互相學習和討論,讓落后的學生盡快趕上來。這樣不僅培養了編程能力,對于團隊精神和軟件開發思維的形成也有很大幫助。
3結語
C語言程序設計精品課程建設中關鍵問題探究是建設好精品課的靈魂,有了思路,在實踐中就有了一個方向,在精品課程建設中才能取得一個好的效果。隨著我國新教育改革的展開,會有更多更好的精品建設思想出現,需要我們廣大教育工作者好好學習和總結,真正把教學改革工作落到實處。
參考文獻:
[1]張麗萍,劉東升.程序設計精品課程建設的研究與實踐[J].內蒙古師范大學學報:教育科學版,2007(1).