程序設計實踐范文
時間:2023-04-03 05:32:14
導語:如何才能寫好一篇程序設計實踐,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
摘要:本文針對非計算機專業程序設計類課程實踐教學中存在的不足,結合我院綜合實驗設計的初始探索、發展穩定和擴展提高三個時期的特點,介紹了我院實施綜合實驗設計改革的情況和效果。
關鍵詞:程序設計;應用能力;綜合實驗
中圖分類號:G642
文獻標識碼:B
1引言
目前,國內許多高校把程序設計課程作為非計算機專業學生的計算機公共基礎課程,目的是為了使學生掌握計算機程序設計的基本方法和思路,培養學生綜合分析問題、靈活運用知識的能力。我院也和許多高校一樣,在理科非計算機專業的學生中開設了Visual Basic程序設計語言課程。
眾所周知,程序設計語言是實踐性非常強的課程。程序設計課程的實踐教學的設置一貫地被認為是程序設計課程重要的環節。在教學過程中,為貫徹我院“發展應用性教育,培養應用型人才,建設應用型大學”的辦學宗旨,在“學以致用”的教學理念的指導下,進一步深化教育教學改革,加強實踐能力的培養,我們不斷地對Visual Basic程序設計語言課程的實踐教學進行改革和探索,在Visual Basic程序設計課程別設立了“綜合實驗設計”環節,加強實踐教學力度,增設綜合性、創新性實驗,以提高學生們綜合應用所學計算機知識解決實際問題的能力。
2開展綜合實驗設計的必要性
過去一段時期內,我們學院VB程序設計語言課程所開設的實驗多是基礎性實驗。實驗方法死板,學生只要按實驗指導上的步驟做,就可完成實驗。操作的方法一致,實驗完成后的效果基本一致,成績也差不多。學生普遍感覺實驗單調,積極性不高,有時還會出現拷貝結果應付老師檢查的現象。這種實驗模式一定程度上抑制了學生個性的發展,不利于對學生創新能力的培養,阻礙了他們獨立思考的興趣和努力鉆研知識的熱情。
我們VB程序設計語言課程設立的綜合實驗是在傳統演示實驗和驗證實驗的基礎上的一種新型實驗。
學生在教師的引導下,根據自身的能力和特點自己選題,選題一旦確定以后,學生自己設計實驗完成方案。實驗具有一定的探索性和創造性。將過去的被動實驗改變成主動實驗,能充分發揮學生的主觀能動性和獨立操作能力。培養了學生的綜合設計能力和創新意識。
3綜合實驗設計的實踐探索
我院是從2003級開始在理科學生中開設“VB程序設計”課程的。這門課程的學習目標是使學生既要學會面向對象的、可視化界面的程序設計方法,又要掌握程序設計語言的基本規則、常用算法。培養學生在VB集成開發環境下上機編制、調試程序的實際編程能力。通過本課程的學習,使學生具備可視化開發環境下的程序設計能力、良好的程序設計素養與規范的程序設計方法,從而能獨立開發出具有實際意義的程序。
為更好地實現教學目標,我們從2004級開始實施綜合實驗設計。綜合實驗設計的發展經歷了三個階段:初始探索期、發展穩定期和擴展提高期。
3.1初始探索期
實施初期,我們對VB綜合實驗設計提出了相應的要求。具體內容是要以一個具體項目為背景,運用Visual Basic程序設計語言獨立編制完成一個程序系統。該程序具有一定的規模,能滿足某種需求,實現一定的功能,解決一個實際問題。要求有文字說明(Word文檔形式)和相應的源程序代碼(工程文件、窗體文件及相應的文件)。學生自我選定綜合實驗設計的題目,自我設計方案,自我設定功能,自我調制完成整個系統。
在此階段,教師和學生都屬于探索階段。總體來說,學生設計的水平參差不齊,有些同學把書上的例題稍加組合拼湊在一起,是為了完成作業而完成作業。作品的選題范圍集中、選題面也比較窄,個性化的體現較少,高質量的作品數目不多。一方面反映了學生接觸面少、視點窄,另一方面也反映學生對所學的知識靈活運用的能力尚有欠缺,創新意識不足。
3.2發展穩定期
經過前一階段探索,我們及時分析現狀、總結經驗。針對前幾屆學生出現的問題,加強指導采取了相應的措施:
(1) 引導學生開闊視野,擴大選題面。學生的選題往往集中在“多功能計算器”、“考試成績統計”、“計算與比較大小”這樣的題目,而沒有將眼光放開,解決生活中的各種問題。
(2) 修正、細化綜合實驗設計要求,統一封面內容設計,統一評分標準。
(3) 加強輔導,及時和學生溝通,出現問題及時解決。
(4) 展示綜合實驗設計樣例和一些優秀的作品,啟發學生的思維。
(5) 嚴格檢查,鼓勵創新,對于雷同設計決不姑息。
經過學生和教師的共同努力,涌現了一些優秀的設計作品。表1列出了部分VB綜合實驗設計的名稱。可以看出,學生的設計選題豐富,有些還和專業密切結合。圖1是一個學生的程序系統的界面。創意新穎,界面友好。該學生的“花語查詢系統”在程序結構中使用了VB程序設
計語言的中分支、循環和嵌套結構,在界面設計上使用了多重窗體、菜單等,正確地運用了數據文件中讀取文本文件等命令。在系統設計上巧妙地將這些知識點結合在一起,使得整個系統的功能比較豐滿,也比較完備。
3.3擴展提高期
從2007年開始,我們進一步規范了綜合實驗設計文檔、文件的后期管理,逐一記錄每份設計的題目,按班統計。將統計后的結果提供給學生,使他們在確定綜合設計實驗題目的時候有所啟發。同時,也進行了問卷調查,調查開展綜合實驗設計對學生掌握VB程序設計是否具有幫
助。結果表明,絕大多數同學都認為是有幫助的。圖2和圖3是對2006級和2007級同學的問卷調查統計結果。很多同學都表示,通過綜合實驗設計,不僅鞏固了課堂所學的知識,更重要的是找到了學習新知識的方法和途徑,獲得更強的學習自信心和成就感,提高了自主學習能力、實際應用能力和創新能力。
4結束語
計算機基礎教育的改革在不斷深入,實施應用性教育的概念也在不斷強化。計算機基礎教育要面向應用,就是要面向各專業領域,使計算機技術更全面、更深入地與本專業結合,使計算機技術本專業化。
在這種指導思想下,為了高效地幫助學生在有限的教學時間內掌握VB程序設計語言,提高應用到專業中的能力。我們和各專業的老師共同探討,擬為學生提供一些與所學專業知識相結合的綜合實驗設計題目,提升學生對知識的復合應用能力,強化使用VB軟件進行與本專業內容相關的軟件開發的能力。
參考文獻
[1] 胡伏湘. 軟件設計類課程實踐性教學的研究與實踐[J]. 計算機教育,2008,(1):82-85.
篇2
關鍵詞:程序設計;教學改革;實踐能力
中圖分類號: G642文獻標識碼:A文章編號:1009-3044(2012)02-0366-02
Practice on the Teaching of the Programing Course
YUAN Hui-yong, YANG Si-qing, YI Ye-qing
(Department of Computer, Hunan Institute of Humanities, Science and Technology, Loudi 417000, China)
Abstract: This paper first analyses the problem in teaching of "C Language"," Data Structure" and "Algorithm Design and Analysis", and then propose a reform of teaching by improving teaching method, integrating teaching content and strengthening practice teaching. Results show that the reform of teaching can effectively stimulate students interest in learning, improve the efficiency of learning and the ability of programming.
Key words:programming; reform of teaching; ability of practice
1概述
目前C語言程序設計、數據結構、算法分析與設計是計算機及其相關專業中非常重要的專業課程。在以往教學中,這三門課程采用相對獨立、分開授課的方式,導致課程內容脫節與重復,教學效果差,學習完三門課程后卻不能編寫程序的大有人在。這三門課程都以培養學生解決實際問題的程序設計能力為共同目標,因此,如何將三門課程有機地結合起來,構建程序設計系列課程的新體系,整合教學內容,改進教學方法,切實提升學生的程序設計能力,成了當前計算機專業教學改革中亟待解決的問題。
2教學中存在的問題
在傳統的教學中,C語言程序設計、數據結構、算法分析與設計三門課程的分開授課,課程知識沒有整合,對課程知識中存在重疊的內容,只是做簡單的重復講解(如C語言和數據結構課程中都有數組這個教學內容),教學深度不夠。教學中注重講授基本理論,忽略了程序設計過程中涉及的方法和技術(如算法分析與設計課程通常是將已有的經典算法在數學模型和數據結構上給學生解釋),理論教學與實踐教學結合不夠緊密(如數據結構在講授了某種抽象的數據關系和在計算機中的表示與實現后,并沒有將這種結構用到解決實際問題中去),造成有些學生雖然具備了一定的理論基礎,但由于實踐教學薄弱,動手能力差。
3具體改革措施
我們改變了以往C語言程序設計、數據結構、算法分析與設計分開授課的模式,而是將這三門課程作為一個整體,以培養學生解決實際問題的程序設計能力為目標,從組織教學內容、改進教學方法、突出實踐教學等方面進行教學改革與實踐。
3.1整合教學內容
C語言程序設計是數據結構的前導課程之一,學生對它的掌握程度直接關系到數據結構課程的教學效果。算法分析與設計是計算機專業程序設計類的核心課程,在學習該課程之前,要求學生們掌握了基本的數據結構知識,能熟練運用一門或多門編程語言,并具備一定的編程經驗。
我校原來的C語言、數據結構和算法分析與設計三門課程是相對獨立、分開授課的,學習效果不理想。我們將這三門課程的知識進行整合,采用同一教師授課,做到了前導課、后續課的有機銜接,并重新制定了三門課程的教學計劃,以知識點為單元,將這三 門課程很好地結合起來。在C語言的教學中,以C語言為主線,適當穿插數據結構中的相關內容,使C語言與數據結構有機地結合在一起,如我們將C語言中的數組和數據結構中的直接插入排序、冒泡排序、簡單選擇排序、順序查找、折半查找方法放在一個知識單元中。在數據結構教學中,穿插了算法分析與設計的有關知識,如在講述哈夫曼樹和圖的最小生成樹時,穿插了講述了貪心算法,在講述圖的最短路徑時介紹了動態規劃算法。
我們不再把C語言當做一門語言來講解,加強了數據結構、算法設計、邏輯思維和編程方法的教學。數據結構課程不再只注重講授抽象的數據關系和存儲結構,而要求學生用C語言編程實現各種算法,并結合實際應用,在ACM/ICPC在線評測系統上完成相應的練習題目,學生不再感到枯燥無味,不僅較好地解決了數據結構教學中學生上機困難的問題,也提高了學生的程序設計能力。在算法分析與設計課程教學中,我們選擇一些難度適中、能結合實際問題和相關課程的知識來講解,使學生既能理解,又能拓展創新。
3.2改進教學方法
我校屬于應用型本科院校,其教育目標著重于培養具有實際工作能力的技術型和應用型人才。在C語言的教學中我們采用了“案例”教學方法,從日常生活中選擇能典型反映教學內容的案例,所選案例難度適中并能反映多個知識點。如選用了“學生的成績管理”,該案例覆蓋了C語言中的循環結構與數組,涉及數據結構中的排序與查找。在該案例中穿插介紹了數據結構課程中的直接插入排序、冒泡排序、簡單選擇排序和順序查找;通過介紹C++中的排序函數qsort()激發學生自覺地學習C++標準模版庫;并提出如何保存學生信息以避免重復輸入數據的問題,引導學生自學C語言中的文件操作,培養學生的再學習能力。在算法分析與設計課程的教學中,我們采用了“任務驅動”教學方法,將具體的算法設計策略融入到一些“任務”中,課堂教學以任務為主,引導學生利用算法設計策略探索解決方案,在課后的實踐環節,將結合實際應用且融入了知識點的任務放到ACM/ICPC在線評測系統上,讓學生在課后根據任務描述,自主探索問題解決方案,并提交程序代碼。
在教學過程中,對典型例題力求講透徹,并提出問題給學生思考。如斐波拉契數列,講解了分別使用變量交換的循環結構、使用數組的循環結構和遞歸三種編程方法,并比較了三種方法的優缺點,使學生深刻體會到了采用遞歸求解斐波拉契數列的低效,引導學生理解使用數組的高效是基于算法分析與設計課程中的動態規劃的思想,并且穿插介紹了數據結構課程中算法的時間復雜度與空間復雜度的度量;再提出大斐波拉契數列的求解問題,介紹使用數組進行高精度計算以及使用矩陣和二分法的求解方法,激發了學生的學習積極性。在例題的講解過程中,充分利用多媒體教學手段,加強了例題講解過程中的現場調試與分析,鼓勵學生對具體問題進行分析和研究,培養學生的邏輯分析和判斷能力,重視上機訓練,養成良好的編程習慣。
3.3加強實驗教學
這三門課程都是理論與實踐并重的課程,在教學中必須將理論教學與實踐教學緊密結合。我們從以下幾個方面來加強實驗教學:
1)重新編寫實驗指導書。按照教學內容的知識點,綜合可操作性、趣味性和適當的難度,編寫了適合教學要求的實驗指導書,既保證了實驗的可完成性,又增強了學生的興趣。
2)建立在線題庫。在ACM/ICPC在線評測系統上開設了C語言程序設計、數據結構、算法分析與設計的專題訓練,每個專欄按照教學知識點安排了不同難度的練習題,學生可以根據自身的能力,完成相應等級的題目,在探索與解決問題的過程中獲得學習成就感。
3)組織程序設計比賽。ACM/ICPC在線評測系統上安排了與教學知識點相關的競賽真題,鼓勵學生組隊、按照比賽規程進行模擬比賽。通過比賽,學生對教學知識點有了更深入的理解,不僅增強了學生的實踐動手能力,提高了學習興趣和積極性,也使學生提前了解ACM比賽的規則和比賽真題,訓練了學生的參與意識、競爭意識和團隊精神,為以后組織學生參加省程序設計比賽打下良好的基礎。
4)開設課程設計。課程設計的題目以典型的問題或實際的工程為主,如數據結構課程選用了“教務計劃編制問題”,讓學生運用圖論中的拓撲排序來求解這個實際問題。通過課程設計,培養了學生綜合運用所學知識進行分析和解決實際問題的能力,使學生不僅學到了解決問題的辦法,同時加深了理論的理解與掌握,做到了理論教學與實踐緊密結合。
3.4改革考核與評分標準
考試作為課程教學的一個重要環節,對學生的學習具有明顯的導向作用。這三門課程原來的考核分為平時成績和期末考試,這樣的考核方式很難考察學生的實踐能力,導致大部分學生只注重期末考試,而忽略學習過程,很難有效的提高學生的創新能力和實踐能力。我們認為這三門課程的考核應著重考核學生的程序設計能力,而不是死記硬背一些基礎知識。為此,我們引入了ACM/ ICPC在線評測系統及,對課程的考核進行了大膽改革,評分標準也作了修改,提高實驗考核成績在課程總評成績中的比重,以此來引導學生認真對待實驗和課程設計,切實提高學生的實踐動手能力。
4結束語
實踐證明,將C語言程序設計、數據結構、算法分析與設計這三門課程有機結合的教學改革,能夠很好地激發學生的學習興趣,學生在掌握基本理論和知識的同時,程序設計能力、數據結構和算法設計的應用能力也得到了很好的培養,我校學生在近二年的湖南省程序設計比賽中均取得了較好的成績。
參考文獻:
[1]譚浩強. C程序設計(第2版) [M].北京:清華大學出版社,2005.
篇3
關鍵詞:計算思維;實踐教學;面向對象程序設計;數據結構
中圖分類號:G642.0 文獻標志碼:A?搖 文章編號:1674-9324(2013)39-0203-03
目前,計算思維已在教學當中逐步應用,但是,其本身還未成為獨立的學科體系,教學中的應用只是少數專家學者進行小規模探索性的實驗性教學,在培養過程中沒有系統性的應用計算思維的系列方法[1]。本文對OOP課程中計算思維培養的實踐教學進行了嘗試。
一、計算思維
計算思維是當前國際計算機界廣為關注的一個重要概念,也是當前計算機教育需要重點研究的課題。2006年3月,時任美國卡內基·梅隆大學(CMU)計算機科學系主任、現任美國基金會(MSP)計算機和信息科學與工程部(CISE)主任的周以真(Jeannette M.Wing)教授,在美國計算機權威刊物(Communications of the ACM)上,首次提出了計算思維(Computational Thinking)的概念:“計算思維是運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。它包括了涵蓋計算機科學之廣度的一系列思維活動。”對于計算機科學的重要性,美國總統信息技術咨詢委員會認為:雖然計算本身也是一門學科,但是其具有促進其他學科發展的作用,21世紀科學上最重要的、經濟上最有前途的前沿研究都有可能通過先進的計算技術和計算科學而得到解決[3]。《中國至2050年信息科技發展路線圖》報告指出:計算思維是克服狹義工具論的有效工具,是解決其他信息科技難題的基礎[4]。
二、面向對象程序設計
面向對象編程技術從根本上改變了人們以往設計軟件的思維方式,降低了軟件開發的復雜度,能夠開發出具有高可靠、可重用和易維護的軟件,提高軟件的開發效率,是現今軟件開發的主流技術,對信息科學、軟件工程、人工智能以及系統科學等學科產生了巨大而深遠的影響[6]。
面向對象方法與人類習慣的思維方法一致。
面向對象的方法通過獲取客戶對系統的需求,建造需求模型;用基本的需求為指南來選擇類和對象,定義類的結構;由客觀實體的一般和特殊關系定義類的層次;而后建造對象關系模型,對象行為模型[7]。因此,面向對象軟件設計通過抽象和分解來控制龐雜的任務或進行巨型復雜系統的設計,其分析過程是一個把問題闡釋為如何求解它的思維方法。
三、計算思維培養與程序設計工程化訓練
程序設計課程中,強調學生對語言規則的掌握和對基本編程能力的培養,而不重視工程化思想的潛移默化,容易造就個體化編程思想的孕育。按照軟件工程理論,軟件研發過程中存在的軟件危機問題,一方面與軟件本身的特點有關,另一方面是由于軟件開發與維護過程中方法的不正確決定的。與軟件開發和維護有關的許多錯誤認識和做法的形成,可以歸結為在計算機系統的早期階段軟件開發的個體特點。錯誤的認識和做法主要表現為忽略或輕視軟件分析、設計的重要性,對問題和目標沒有正確認識的情況下,就匆忙進行代碼實現,認為軟件設計就是編寫程序并設法使之運行。
程序設計課程涉及到了詳細設計階段、程序實現階段的軟件開發工作。詳細設計階段的根本目標是確定怎樣具體地實現所要求的系統,經過這個階段的設計工作,應該得出對目標系統的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設計語言書寫的程序。詳細設計階段的任務不是具體的編寫程序,而是要設計出程序的藍圖,以后程序員根據這個藍圖寫出實際的程序代碼。因此,詳細設計的結果基本上決定了最終的程序代碼的質量。考慮程序代碼的質量時,必須注意程序的讀者除了計算機還有維護程序的程序員。在軟件的生命周期中,涉及測試方案、診斷程序錯誤、修改和改進程序等都必須首先讀懂程序。實際上對長期使用的軟件系統而言,人讀程序的時間可能比寫程序的時間要長得多。因此,衡量程序的質量不僅要看它的邏輯是否正確,性能是否滿足要求,還看它是否容易閱讀和理解。
因此,在語言訓練的過程中,培養學生在掌握語言規則的基礎上,先進行問題分析,算法設計,最后代碼實現的程序設計過程,與培養學生的計算思維是一致的。
四、案例教學及題解多樣性
程序設計在計算機學科知識體系中處于核心地位,對計算機專業的學生來說不僅是職業技能的培養,也體現著創造性思維的信息素質培養過程。程序設計也是有形表達抽象思維的方法,在程序設計過程中貫穿閱讀判斷、分析思考、工具利用、抽象表達、綜合創造等多項技能,對計算機專業人才素質的培養至關重要[8]。程序設計實驗教學的教育價值在于突出計算思維,培養學生的創新意識、探索精神和問題求解能力。課程目標不僅僅是培養學生的操作技能,還要通過強調算法多樣性來提高學生的計算思維能力[9]。教學過程中要使學生經歷算法化過程并體驗計算思維,它有利于培養學生的理性思維和形式邏輯能力。培養學生通過計算機編程,最終形成計算思維[10]。
下面列車車廂重排的實例,對面向對象方法來說,涉及到類的設置,類的繼承,功能的擴展等重要知識。對于培養學生的計算思維有較好的作用。一方面可以對棧數據結構算法的特點加深理解,對其的應用有較深了解,另一方面,在解決問題的過程中,引導學生形成解決問題的思路,鼓勵不同的解決方案,用一定的形式將形成的思路描述下來,最后完成程序的設計。數據結構的基本算法與程序設計課程相結合,在教學內容上相融合,加強了課程之間的聯系,將孤立的知識點聯系起來。
一列貨運列車共有n節車廂,每節車廂將停放在不同的車站。假設n個車站的編號分別為1~n,貨運列車按照第n站至第一站的次序經過這些車站。車廂的編號與它們的目的地相同。為了便于從列車上卸掉相應的車廂,必須重新排列車廂,使得個車廂從前至后按照編號1~n的次序排列,當所有的車廂都按照這種次序排列時,在每個車站只需卸掉最后一節車廂即可[11]。將在一個轉軌站里完成車廂的重排工作,假設在轉軌站中有一個入軌、一個出軌和k個緩沖軌道(位于入軌和出軌之間),如圖1所示。
任務分析:在重排的過程中,車頭只能將車廂在入軌、轉軌、出軌三者之間移動,車頭不能跳躍到車廂之間,車廂的進出操作符合后進先出的特點。因此,可以該重排可以利用棧數據結構。一般,棧的基本算法包括進棧、出棧、取棧頂元素值、棧判空、棧判滿和棧的初始化操作。進行車廂重排,需要在棧中遍歷,查找指定編號車廂的位置。因此,可以進行公有派生,在派生類中增加遍歷和查找操作。
方案一:在待排車廂中查找最小編號車廂,依次排入出軌棧。
A?搖在緩沖軌A和入軌棧查找最小編號車廂,如果所有車廂遍歷完成,轉F;
B?搖如果最小編號在緩沖軌A,則將最小編號車廂至最尾的車廂依次通過轉軌棧,進入到入軌棧;
C?搖將緩沖軌A尾車廂(編號較小)通過轉軌棧進入出軌棧,轉A;
D?搖如果最小編號在入軌棧,則將最小編號車廂至最尾的車廂依次通過轉軌棧,進入到緩沖軌A;
E?搖將入軌棧尾車廂(編號較小)通過轉軌棧進入出軌棧,轉A
F?搖重排完成。
方案二:同時在待排車廂中查找最小和最大編號車廂,小編號車廂依次排入出軌棧,大編號車廂排入緩沖軌B,待排車輛處理完成后,將出軌車輛和緩沖軌B中的車輛鏈接,即可完成重排。
A?搖在緩沖軌A和入軌棧查找最小、最大編號車廂,如果所有車廂遍歷完成,轉F;
B?搖如果最小編號在緩沖軌A,則將最小編號車廂至最尾的車廂依次通過轉軌棧,進入到入軌棧;如果最大編號在緩沖軌A,則將最大編號車廂至最尾的車廂依次通過轉軌棧,進入到入軌棧;
C?搖將緩沖軌A尾車廂(編號較小)通過轉軌棧進入出軌棧;最大編號車廂通過轉軌棧進入緩沖軌B,轉A;
D?搖如果最小編號在入軌棧,則將最小編號車廂至最尾的車廂依次通過轉軌棧,進入到緩沖軌A;如果最大編號在入軌棧,則將最大編號車廂至最尾的車廂依次通過轉軌棧,進入到緩沖軌A;
E?搖將入軌棧尾車廂(編號較小)通過轉軌棧進入出軌棧;最大編號車廂通過轉軌棧進入緩沖軌B,轉A;
F?搖將緩沖軌B中車廂順序鏈接到出軌棧,重排完成。
方案一和方案二的區別,在于是否查找最小編號車輛的同時查找最大編號車輛。方案二提高了重排的效率。
由于數據結構具有抽象性和靈活性等特點,這給教學和學習帶來一定的困難。從算法的一題多解入手,對培養學生學習興趣和提高其程序設計及編程實踐能力起到了極大的促進作用[12]。
五、結束語
程序設計課程在計算機相關專業的作用不僅是掌握一門計算機語言,更重要的是通過這樣一個平臺,理解計算機一些重要的理論和方法,并將這些方法用于實踐,解決實際問題。在程序設計課程中,有意識地將課程之間的內容融合,開展案例教學,將軟件工程的軟件開發過程和方法貫穿于課堂和實踐教學活動中,不僅有利于培養學生的職業能力,也有利于對學生計算思維的培養。
參考文獻:
[1]牟琴,譚良.計算思維的研究及其進展[J].計算機科學,2011,(3):10-15,50.
[2]Wing J putational Thinking[J].Communication of the ACM,2006,49(3):33-35.
[3]President’s Information Technology Advisory Committee. Computational Science:Ensuring America’s Competitiveness[EB/OL].http://nitrd.gov/pitac/reports/20050609_computational/computational.pdf,June 2005.
[4]中國科學院信息領域戰略研究組.中國至2050年信息科技發展路線圖[M].北京:科學出版社,2009.
[5]陳國良,董榮勝.計算機思維與大學計算機基礎教育[C].第一屆“技術思維與大學計算機課程教學改革研討會”,西安交通大學教師教學發展中心,高等教育出版社,2012.07:21-26.
[6]張海藩.軟件工程導論(第5版)[M].北京:清華大學出版社,2008.2.
[7]錢樂秋,趙文耘,牛軍鈺.軟件工程[M].北京:清華大學出版社,2007.3.
[8]耿國華.程序設計能力培養模式的探索與實踐[J].中國大學教學,2009,(3):30-32.
[9]陳杰華,戴麗娟.以培養計算思維為核心的程序設計實驗教學[J].實驗技術與管理,2011,(1):125-127.
[10]陳杰華.程序設計課程中強化計算思維訓練的實踐探索[J].計算機教育,2009,(2):84-85.
[11]曹衍龍,林瑞仲,徐慧.C語言實例解析精粹(第二版)[M].北京:人民郵電出版社,2007.8.
[12]吳紹兵.計算思維和程序設計能力的培養[J].計算機教育,2011,(16):11-14,25.
篇4
關鍵詞:翻轉課堂;教學模式;C程序設計
1概述
翻轉課堂是學生在課前采用視頻方式進行學習,在課堂教學過程中通過測試,討論多種形式對知識掌握的一種新的教學模式,它打破了傳統課堂知識老師講授方式,將知識講授和知識理解翻轉,形成“視頻———課堂———討論”的學習形式,將傳統課上學習,課下練習進行翻轉。教師將“上課內容”提前錄制教學視頻,并在課前布置學習任務清單,學生在清單的引導下自主學習視頻內容,課上內容由原來的上課改變為老師和同學們互相探討疑難問題,教師不再局限于單純的課堂教授,而是學生自主學習的指導者,學生在課堂中充分發揮了學習主動性。
2傳統教學模式的存在問題
傳統教學模式中,存在三方面的主要問題。其一是由于程序設計類大部分課程課時縮減,教師為了按照教學大綱要求完成課程內容講授,導致對學生比較難以掌握的知識點不能充分講解,學生在課堂中遇到的困難逐漸增多,慢慢也會就失去了學習的興趣;其二課堂教學目前普遍存在以教師為中心的“滿堂灌”、多采用多媒體課件授課方式更加劇了老師照本宣科的現象,課堂缺乏互動,教師和學生在整個課堂教學過程中幾乎零交流,學生自主學習的主動性幾乎被完全扼殺了;其三是傳統的試卷型考核方式,教師在考試前畫重點,學生針對重點突擊復習,應付考試,在這種考核方式下,學生的創新能力沒有發揮的空間,使得經常出現考試拿高分,但實踐能力測試時不能有滿意成績現象。
3程序設計類課程翻轉課堂教學模式
程序設計類課程翻轉課堂教學模式是結合我校計算機專業程序設計課程特點和學生特性相結合,進行翻轉課堂式教學模式研究與實踐。主要包括以下幾個方面:
3.1構建適合我校本土化的翻轉課堂教學模式和實施規則
選擇C語言程序設計課程成為研究對象,以課前教學資源設計,課堂組織活動,學生參與性,能動性以及教學效果反饋為主運用課例分析法、觀察法、歸納法等進行分析總結構建出合適我校本土化的翻轉課堂教學模式和實施規則。
3.2建設“翻轉課堂”的課程教學資源
對中國大學MOOC提供的浙江大學翁凱教授開設的C語言程序設計幕課進行異步SPOC,針對本校專業要求和學生特點,在浙大的幕課資源基礎上進行修改,增加新的視頻、課件、習題等信息資源、重構新的基于“翻轉課堂”的信息資源,形成不斷優化的資源庫。
3.3設計翻轉課堂教學模式下“課前預習菜單”
課前預習菜單是幫助學生在課前明確具體學習任務、學習方法。學生在菜單引導下,課前利用網絡學習平臺開展課前視頻自學、測試,為課堂討論做好充分準備。
3.4重建翻轉課堂教學模式下的課堂教學活動的基本結構
在翻轉課堂教學模式下,課內教師是引導者,學生是課堂的主體,教師需要提前對課堂教學活動進行總體規劃設計,設置小組討論的主題,組織學生在課堂上圍繞此主題討論,通過討論提升學生“吸收內化”學習過程效果,從而讓學生成為課堂的主人,學生在課堂上達到人到,心到,手到效果。
3.5建立翻轉課堂教學模式中形成性考核評價體系
在翻轉式教學的全過程,從線上學習、課堂小組表現、課堂個人表現、上機實驗、期中考核、期末考核等方面設立考核評價指標,目的在分析翻轉課堂教學活動中存在的問題和改進的方向,便于及時進行調整。
4C語言翻轉課堂教學實施
在借鑒各類對翻轉課堂教學模式與實踐的研究基礎上,結合《C語言程序設計》課程的特點和學生的學習特征,翻轉課堂模式組織的課堂教學組織過程一般分為兩個階段,第一階段為回顧測試,主要是對慕課學習情況總結,慕課測試中普遍出現問題講解,以及針對慕課中重點掌握的知識點進行課堂測試,培養學生掌握對自學知識的靈活運用能力。第二階段為進階學習階段,在高校教學中借助慕課讓學生在課前完成理論知識學習可以在課堂中有更多時間培養學生對知識運用能力和創造力,但同時也要考慮到如果將所有教學內容放到慕課上讓學生先行學習,學生一方面會出現因有些教學內容難度過大,學生無法掌握現象,導致課堂討論教學活動開展受限,另一方面也會打擊學生對課程學習的積極性。因此本課程的慕課的教學內容只放置容易理解的,簡單的一部分教學內容,教學重點,難點在課堂上除了講授之外,還采用多種形式引導學生深入學習。
篇5
關鍵詞:C語言程序設計;以應用為本位;啟發式教學
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2013)10-2412-03
C語言功能豐富,應用面廣,當下,很多高校依然把C語言作為非計算機專業學生的一門通識平臺課開設。然而,在C語言課程的開設過程中,教師和學生不同程度地存在著缺位和誤區,教與學的效果不盡如人意。在C語言的教學過程中,不少任課教師因循守舊,教學目標不清,教學方法單一,教學觀念陳舊,使C語言的課堂蛻化為單純的語法規則的灌輸,使C語言的學習變為簡單的語法知識的學習,學生普遍反映難學厭學。C語言程序設計課程一般面向的都是大學一年級的新生,他們剛剛結束高中生活步入大學校園,對一切充滿了新鮮感和不適應感,學習觀念、學習目的和學習方法有待轉變和調整,學習的主體意識和自覺性有待增強和提高。針對這些問題和現象,筆者在自己的教學過程中進行一些了探索和實踐,取得了一定的效果。
1 教師自覺轉變教學觀念,提高自身素質
縱觀C語言程序設計課程的教學,現在最典型影響面最大的教學模式就是由教師和學生構成一個教學體,教師在講臺上自我表演,學生充當看客或聽眾【1】。所謂知識也好、信息也好,都是一個從教師到學生的單向流動。在這種以教師為主導、以教材為核心、以課堂為中心的教學模式下,教學蛻化成為一種單純的知識傳授,學生學習的積極性和主動性的調動,學生創新能力和創新思維的培養,都無從談起。面對這樣的現狀和背景,教師教學觀念的轉變和自身素質的提高顯得尤為重要。本著對學生負責,對學校負責的態度,教師應在自身責任感的驅使下,主動了解先進的教育思想和教學理念,像教學互動性、學生主體性和知識建構性等等;認真思考大學教育的功能,比如授人以魚還是授人以漁;結合教學實際,轉變教學觀念,改變傳統的教與學的地位,由過去的“以教師為中心”轉變為“教師主導,以學生為主體”,營造民主的教學氛圍;改變課堂老師單向灌輸、學生被動聽講的授課模式,引入多元化的教學方法,比如啟發式,探究式,引導學生獨立思考,鼓勵學生主動參與學習。
2 引導學生轉變學習觀念,培養學生學習的主體意識
C語言程序設計課程的開設面對的多數是大學一年級的新生,而對于剛入校的大學生來說,受中學養成的學習習慣的影響,學習的自主意識淡薄,學習還習慣性地全部寄托在老師身上,對老師的依附心理嚴重。同時,面對大學里比中學多得多的自由學習時間不知如何有效地管理和支配,對新的學習環境和新的學習生活有不同程度的不適應和困惑。面對這樣一個處在比較特殊階段的學生群體,承擔C語言程序設計課程的任課教師要有針對性對學生進行引導和管理。首先,任課教師從一開始就讓學生明確一個觀點,即C語言是學生自己學會的,而不是老師教會的。俗話說,“師傅領進門,修行在個人”,盡管教師的教在教學活動中起著主導作用,但更重要的是學生的學,學習的主體是學生本人,只有學生充分發揮自己學習的自覺性和主動性,教師的教學思想才能得到很好地貫徹,教學效果才能得到很大的提高,整個學習活動也才會成功。其次,強化學生的責任意識。對絕大多數學生來說,如果單從年齡判斷,步入大學校園也往往意味著步入成年人的行列。而成年人也就意味著要對自己負完全責任了。教師在教學過程中要不斷強化學生對這一點變化的認知,讓他們知道要對自己負責,對自己的學習負責,而不應再完全依賴教師或家長的監督。最后,教師的指導和管理。學習觀念的轉變,新的學習習慣的養成,不是一蹴而就的事情,需要在實際的學習活動中逐步完成。課前的預習、課堂的參與、課后的作業、實驗的完成、期末的考試等是C語言教學活動不可或缺的環節,每一個環節里需要學生完成的任務,任課教師從一開始都給出一個明確的要求并嚴格按照要求去管理,將大大有益于轉變學生的學習觀念,培養學生學習的主體意識。
3 激發學生的學習興趣,調動學生學習的積極性
在C語言程序設計課程的教學過程中,往往有學生反映C語言比較抽象,課堂教學又枯燥無味,很容易喪失學習的興趣和熱情。如何激發學生學習C語言的興趣并始終保有這種興趣,也常常是教授C語言課程的老師很頭疼且又不能回避的問題。“興趣是最好的老師”,每位教師都深知學生的學習興趣對教學活動成功的重要性,但C語言程序設計課程側重思維訓練的特點又決定了在這方面留給任課教師的空間是有限的。筆者在自己的教學實踐中做了一些嘗試。
1)演示典型的完整的C語言應用,培養學生的學習興趣
學生在學習C語言程序設計課程之初,對該門課程的學習目的和學習目標多數是模糊的,對C語言的認識也多半是空白,任課教師適當的引導很容易引起學生學習的興趣和探究的欲望,因此該門課程的開篇很重要。筆者摒棄了以往通過文字抽象地介紹C語言的產生、C語言的特點和C語言的應用的做法,直接從演示典型的完整的C語言的應用開始。演示的程序有難有易,涉及的范圍涵蓋實際生活中的應用、有趣的數學問題、圖形動畫、游戲等。筆者一度選擇了圖書管理系統、文本編輯器、學生成績管理系統、兔子產子問題、百錢百雞問題、圖形時鐘、撲克牌的自動發牌、猜數游戲、五子棋游戲等應用,引起了學生濃厚的學習興趣。
2)營造輕松的學習氛圍,創造愉快的學習體驗,強化學生的學習興趣
要引起學生對C語言一時的興趣不是一件難事,但要讓學生在整個C語言程序設計課程的教學過程中始終抱有這樣的學習興趣就不是一件易事了。哪位任課教師做到了這一點,他的教學活動無疑就是成功的。C語言比較抽象,課堂教學容易枯燥無味,是一個不爭的事實。為此,在實際的教學活動中,選擇難易適中貼近生活的問題,比如利息的計算、持有的股票價值的計算、學生成績的管理、募捐活動的模擬等;涉及C語言的語法特性時,盡量使用生活化的直白的語言,少用專業術語;課堂教學的開展過程中鼓勵學生積極參與,對學生提出的任何有意義的問題都及時地給予肯定;面對問題,對學生做出的任何有價值的回答都及時地給予表揚,都有助于營造輕松的學習氛圍,有助于讓學生體驗到成功的歡樂,有一種成就感,有助于強化學生學習的學習興趣和熱情。
4 踐行以應用為本位的教學思路,有選擇性地采用以知識為本位的教學思路
C語言程序設計課堂教學的組織有兩種思路兩種模式。一種是以知識為本位的教學思路下形成的“建筑模式” 【2】,課堂教學以講授語法為主,先是提出語法概念,然后解釋該語法概念,最后舉例說明其應用,強調先系統學習理論打下寬厚的理論基礎,然后再進行應用,講究的是理論的系統性與嚴密性。另一種是以應用能力為本位的教學思路下形成的“生物模式”,課堂教學以程序設計為中心,以編程為目的,從應用的角度切入,先是提出問題,然后引導學生分析解決問題,最后著重介紹涉及的C語言的語法特性,強調結合應用學習必要的理論知識,隨著應用的展開,編程難度的逐步提高,算法和語法的學習同步趨向深入,有利于學生能力的培養。
C語言系人工設定的具有確定內涵的概念和知識體系[3],同時C語言程序設計又是一門實踐性很強的學科。為此,在C語言程序設計課堂教學的組織上,筆者始終踐行以應用為本位的教學思路,同時根據課程內容的特點有選擇性采用以知識為本位的教學思路,比如C語言中的基本數據類型、運算符和表達式、文件等基本概念和語法知識,在教學中只需把規定的內容闡述清楚,使學生理解并接受,同時又不破壞這些理論知識的系統性,就適宜采用以知識為本位的教學思路。
5 根據課程內容特征,選擇靈活多樣的教學方法
教學方法是在教學過程中,教師為了實現教學目的、完成教學任務而采取的教與學相互作用的活動方式的總稱。C語言程序設計課程的教學目的是使學生掌握用C語言進行程序設計的基本思想和方法,并具有靈活應用這些思想和方法分析解決實際問題的能力。實現這一教學目的要完成的教學任務包括C語言基本語法的介紹,結構化、模塊化程序設計思想和方法的引入,基本程序設計訓練以及程序調試方法的演示等。面對這些多樣的教學目標和任務,靈活多樣的教學方法的選擇和恰當應用成為必須。筆者在自己的教學實踐中,結合課程內容的特點,有選擇性地應用了如下的教學方法。
1)啟發式教學,引導學生思考,在應用中學習。
在C語言程序設計的課堂教學中,根據課程內容的特點,精心設計任務或場景,引導學生發現問題、思考問題,使學生在啟發誘導下獲取知識,解決學習中的疑難問題。比如,在引入數組時,筆者設計了這樣一個任務,即編寫一個C語言成績管理程序,要求能夠統計出學生C語言成績的平均分、最高分、最低分以及各個分數段的人數(為了說明問題的方便,假設當前要處理的有10個學生的成績)。第一步,引導學生描述出10個學生的成績。根據之前的學習經驗,學生很容易想到用10個float類型的簡單變量表示,比如score1,score2,、、、,score10。第二步,為節省時間,直接給出用這10個相互獨立的簡單變量實現的程序,引導學生觀察。在學生感嘆程序復雜之余,帶領學生讀程序,引導學生發現,當前的程序無論是成績的錄入、求學生成績的最高分、最低分,還是統計各個分數段的人數,對每位學生成績的處理方法都是一樣的,存在大量的相似的操作。同時提出問題,這些相似的操作能不能用循環結構描述和實現,讓學生思考。誘導學生分析發現,要想用循環結構描述這些相似的操作,學生成績的描述必須有一個統一的表示方法。適時地給出score[i]這一表示方法,指出讓i從0到9變化表示10個學生的成績,和學生一塊用該表示形式改寫之前程序的關鍵部分。讓學生比較改寫前后的兩個程序,很容易得出結論,用score[i]描述批量數據,方便和循環結合起來使用,數據的處理更為有效。最后指出score[i]這一描述形式就是數組,接下來介紹數組的定義完善改寫后的程序。
和學生一塊模擬執行該程序,由之前的知識積累學生知道,形參m、n和實參a、b對應的是不同的存儲單元,m、n和temp是自動變量,從變量的作用域和生存周期的角度,容易得出一個讓學生意外的結論,該swap函數中形參m、n值的交換影響不到實參a、b。在學生詫異之余,啟發學生思考,誘導學生嘗試給出不同的解決方法。往往有學生提出定義a、b為全局變量,誠然這不失為一種解決方法,在鼓勵學生的同時,再次誘導學生發現問題的關鍵并在此基礎上找解決方法。和學生一塊梳理思路,發現swap函數中形參m、n值的交換傳遞不到實參a、b,一方面是因為彼此對應的是不同的存儲單元,另一方面是由于變量的作用域和生存周期的問題。學生提出的定義a、b為全局變量的解決方法顯然是從后者考慮的,現在有意識地誘導學生只從前者考慮,讓學生大膽假設在什么樣的前提下形參m、n值的交換即是實參a、b值的交換。毋庸置疑,只有當形參m、n和實參a、b對應的是相同的內存單元時。在學生給出了這一假設之后,啟發學生思考該假設能不能成立以及如何成立。和學生一塊分析,要使形參m、n和實參a、b對應的是相同的內存單元,表面上看它們不能是相同的類型,但實現又要求形參m、n操作的對象是實參a、b,顯然形參m、n操作的對象和實參a、b應該是相同類型,同時形參m、n指向的是和實參a、b相同的內存單元,學生相對容易想到形參m、n應該是指向實參a、b的指針變量,問題由此迎刃而解。最后結合該任務的完成引導學生總結,在主調函數和被調函數之間雙向傳遞數據變化,全局變量和指針變量都是不錯的解決方法。
2)注重當堂實踐,現場編程互動,在學習中應用。
C語言程序設計是一門實踐性很強的課程,在踐行以應用為本位的教學思路的過程中,筆者不僅重視實驗課這一實踐環節,更是把實踐延伸到課堂教學中。在帶領學生對特別設計的問題做了充分的分析之后,引導學生當堂實踐,或者師生現場編程互動,不僅可以調動學生學習的積極性,更能培養學生解決實際問題的能力。
參考文獻:
[1] 李克東.教育技術學研究方法[M].北京:北京師范大學出版社,2003:132-137.
篇6
一、課程教學改革措施
1.選取項目要明確教學目標VB課程具有數理思維高、邏輯性強的特點,但不少學生在邏輯數理思維方面是短板,所以制定教學目標時就不能過高。在實踐中,筆者認為VB課程教學目標不是培養程序員,而是讓學生快樂學習,培養學習興趣,引導感興趣的學生入門并有所提高,拋磚引玉,指導大多數學生掌握VB的學習方法,順利完成學習任務。
2.所選項目應與學生實際能力相適應所選項目難易度要考慮學生實際應用能力,符合學生的“最近發展需要”,充分考慮學生現有的文化知識、認知能力、年齡、興趣等特點,做到因材施教。現在中技學生的數學和英語水平普遍較差,所以在理解VB程序時有一定的困難,特別是一些算法,而學生對動畫、繪畫、多媒體、游戲等比較感興趣。所以所選取項目要給予考慮,才能被大多數學生所喜愛,讓學生有自我發揮的空間,通過自己的努力能完成項目中的任務,從而使學生體驗到成功的快樂。標準要求可根據具體項目,不能制定得很高,如果學生難以完成,很容易知難而退,不利于他們自信心、成就感、學習興趣的培養。例如,讓學生完成一個如學生管理系統之類的項目。這種項目對中技學生不妥,如果教學對象是大學生,那么讓他們完成此類項目應該不成問題,但現在所要面對的是中技學生,他們的底子薄,理解力和自學能力都不如大學生,如果讓他們完成如管理系統之類的項目,那么效果肯定是不如人意的,隨之就會失去學習的興趣。
3.所選項目要分散實施的重點、難點掌握VB程序設計知識和技能是一個逐步積累的過程,項目選取時要考慮“項目”的大小、知識點的含量、前后的聯系等多方面的因素,有助于知識的理解和消化及技能的掌握。基于以上原則,就以設計學生成績管理系統項目為例來談談開發的過程。首先確定一個作品,開發一個學生成績管理系統為項目目標。教師指導全班學生成立一個VB項目開發部,教師就是開發部的經理,指導學習項目,分析資料,使大家掌握所開發的項目有哪些主要功能,然后根據系統的功能確定整個系統由幾個窗體組成,對于中技學生,一般三個窗或四到五個窗體就足夠了。現在就以三個窗體為例,也就是封面窗體,登錄窗體,主控窗體,設計一個窗體需要一個任務小組,最后還要一個整合及評估考核小組,共確定4個小組。(1)第1小組由全班學習VB成績最好的5~6名學生組成,由課代表任組長,其余3個小組任務整合完成一件完整作品的任務。(2)第2小組的任務是完成設計兩個“封面窗體”的任務。小組成員特點:12~15名同學,1名組長,其余為組員,組長有較強的學習管理能力,對VB學習興趣高,有較強程序設計能力。組員中2/3是成績中上水平的學生,負責代碼編寫與調試程序,其余的為中下水平的學生,負責窗體設計,二者在組長協調下有機結合。在組長的帶領下開展工作,分配各位組員的任務內容:①設計思路:快閃窗體(封面1),利用線條的橫向坐標X2每次增加30的方法或用進度條來產生線條延伸的動畫效果,用標簽顯示執行進度,進度達到100%時卸載當前窗體。封面2:使用定時器控制“制作人:”“張三”兩個標簽從窗體的兩側向中間移動,窗體右下角用標簽顯示系統時間;單擊“進入”標簽,調用登錄窗體,單位“取消”,退出系統。②窗體中控件:標簽、圖像、線條、進度條、定時器控件的使用、屬性設置等。③窗體的布局、屬性設置。④設計運行代碼:變量、load、unload、show方法、click事件、if程序控制語句等的使用。⑤進行運行測試,調試運行沒有錯誤。⑥寫出開發報告,供其他小組閱讀。(3)第3小組的任務是完成設計“登錄窗體”任務。小組成員特點:10~12名同學,1名組長,其余為組員,組長有一定的學習管理能力,對VB學習興趣濃厚,有很強的程序設計和理解能力。組員盡可能分配成績中上水平的學生,分為負程序代碼設計和窗體設計兩個部分,學習后進生最好不要分配到該組,二者在組長協調下有機結合。在組長的帶領下開展工作,分配各位組員的任務內容:①窗體中控件:標簽、組合框、文本框、圖像控件的使用、屬性設置等。②窗體的布局、屬性設置。③設計思路:使用組合框選擇用戶名,不同用戶在文本框中輸入不同的密碼,單擊“立即登錄”按鈕,判斷各用戶密碼是否正確。密碼錯誤時有提示,密碼正確時進入成績管理主控界面,單擊“退出登錄”返回。④設計運行代碼:load、unload、show方法、click事件、if雙分支程序控制語句等的使用。⑤進行運行測試,調試運行沒有錯誤。⑥寫出開發報告,供其他小組閱讀。(4)第4小組的任務是完成“主控窗體”任務。小組成員特點:班級中前幾個小組沒分配去的同學,1名組長,其余為組員,組長有特別強的學習管理能力,對VB學習有一定的興趣,有很強的窗體設計能力。組員可以是中等水平的學生,負責代碼設計,學習后進生負責窗體設計工作,二者在組長協調下有機結合。在組長的帶領下開展工作,分配各位組員的任務內容:①設計思路:控制功能。在窗體的右邊利用框架控件組織三組功能,分別對應窗體左邊的三組功能標簽,單擊標簽時,切換顯示不同的功能界面。②窗體的布局、屬性設置。③窗體中控件:框架、標簽、圖像控件的使用、屬性設置等。④設計運行代碼:unload、show、hide方法、click事件等的使用。⑤進行運行測試,調試運行沒有錯誤。⑥寫出開發報告,供其他小組閱讀。最后由第1小組進行整合成一個完整的學生成績管理系統,測試無誤后對工程文件壓縮,寫出完整的工程開發報告。還要通過各組開發報告對各小組進行評估考核打出分數,全班公布。通過以上的改革實踐,既讓教師解放出來,做一些更高級的項目設計分析工作,也對全班學生分層指導,對不同小組成員的有機分配,充分發揮每個人的最大潛能,使每位成員都能體會到成功的快樂,學習的快樂,而且通過項目開發,使學生通過明確任務目標的情況下,完成一個完整的作品,還可以培養一種團隊的協作意識。
二、VB項目化教學改革成效
篇7
關鍵詞:程序設計基礎;實踐教學;改革探討
中圖分類號:G423.7 文獻標識碼:A
1 引言(Introduction)
“程序設計基礎”是計算機專業的專業基礎主干課程,為計算機科學與技術、網絡工程和軟件工程方向的后繼專業課學習和獨立學習計算機高級語言打下基礎。配套的課程有“程序設計基礎實驗”,該課程配合“程序設計基礎”理論課教學,“程序設計基礎實驗”課程主要包括結構化程序設計、數組、函數、指針、結構體、共用體及文件等實驗內容。本課程擬進行的實驗,將充實課程教學的內容,提高學生的應用設計能力,它為學生學習“面向對象程序設計”“數據結構”等其他與程序設計有關的后繼課程打下基礎。
“程序設計基礎”是教學難度較大的語言類課程。作為計算機程序的入門課程,是學生進一步接觸計算機學科領域知識的首門課程,因此,學生往往對理解程序設計的思維方式有一定的困難,對教學內容難以很好的消化,對掌握良好的程序設計方法產生畏懼。通過本課程的學習,應讓學生了解計算機高級語言設計的特點,熟練掌握結構化程序設計的方法,掌握程序設計的系統分析方法和將一般的數學模型轉換為程序的步驟以及編程設計方法,使學生初步具有獨立分析和獨立設計的能力。
關于課程教學實踐中的有關問題討論,已經有若干論述[1,2]。本文就該課題進行更深入的探討,提出以下見解。
2 課程的目標定位與教學設想(Targeting andcurriculum ideas)
“程序設計基礎”課程的教學基本內容,包含了過程型高級程序設計語言的基本內容,及其程序設計方法學、算法基礎與數據結構等相關方面的初步內容。該課程定位為計算機專業的專業平臺課。本課程的培養目標是使學生掌握程序設計的基本思想和方法,并具有靈活應用這些思想和方法解決實際問題的能力。使學生具有:“較強的程序設計能力、良好的程序設計風格、優秀的團隊精神”。在教學實踐中,根據本課程教學實施過程中存在的問題,以及課程自身的定位,應該重點考慮以下兩個方面的問題:
(1)程序設計能力的培養。建立良好的編程編寫能力和實踐訓練體系,使大多數學生能達到應有的基本編程訓練,并且使那些基礎較好的學生能得到更加多的訓練機會。
(2)教學內容的傳授和組織。合理地組織好教學內容,使之更好地反映課程教學的重點和學生對程序設計方法的認知規律;從而進一步解決教學內容中的重點和難點,使學生對有關知識點能較好地理解。
3 組織教學中的探究性教學研究(Teaching and research organization teaching inquiry)
探究性學習是以培養學生探索能力、創新意識、合作精神為目的的學習方式,該模式使學生積極、主動地嘗試探究,并從中獲得大量的、各種各樣的體驗,從而提高綜合分析問題和解決問題能力,培養發散思維能力和勇于探索的良好個性品格,激發學生學習興趣,促進學生創新能力的發展及學習效果的提高。教師在課堂教學設計中要經常引導學生深入挖掘教材中每個知識點的背景,我們可以應用多媒體技術配合教學,使學生通過觀察、類比、聯想、拓展,發現新問題,對知識進行深化和再創造。在思維活動的教學中,問題是誘發思維的直接動因,創設問題情景,把學生置于問題之中,激發學生興趣,誘發學生探究動機。
“程序設計基礎”這門課程教學內容的組織方式采取這種模式進行,可以取得意想不到的效果。如我們在教學過程中可嘗試以程序語言知識為主線的方式進行探究式進行教學,這種方式主要是根據語言的表達功能,同時考慮到程序設計的相關學習進程,以較完整的語言表達模塊為基礎進行的教學探究。程序設計語言的核心主要是兩種表達功能:數據表達與控制表達。為了實現使用有限的語法表達客觀世界中的各式各樣的數據類型,程序設計語言在提供標準數據類型的同時,也提供了構造數據類型的相關手段,比如數組、結構、指針等;在控制表達語句方面,則提供了相關語句級控制(如分支、循環)和模塊級控制(如函數)。所以,以語言知識作為主線的教學探究組織方式,一般是以上述語言表達模塊為單位,并且考慮程序設計的學習進程來進行組織教學內容。典型教學內容的組織路線是:概論―數據類型與表達式(標準類型)―分支―循環―數組―函數―指針―結構―文件。
4 處理好教學中的重點與難點(Deal with importantand difficult teaching)
本課程重點為:算法設計、“自頂向下、逐步求精”的程序設計思想。包括:程序的流程控制、模塊化程序設計(函數的定義,函數間的數據傳遞,參數結合規則等)、數據組織(批量數據組織、表單數據組織、動態數據組織)。
本課程難點為:與指針相關的內容,包括變量指針,指向數組的指針,指針數組,指向指針的指針,文件指針,函數指針,返回指針值的函數,指針作函數參數,基于指針實現的動態數據結構等。
針對上述重點和難點,從思維方法入手,引導學生獨立思維,達到提高學生思維能力和程序設計能力的目的。教師應該從學生的角度體會“學”之困惑,不斷反思“教”之缺陷,才能因材施教,明了如何通過“教”幫助學生學習,樹立教育以人為本的思想。因此,教師不但要研究教學內容,而且更要研究教學的對象――學生,根據學生的學習特點,研究教學內容傳授中重點和難點的解決辦法。授課過程中突出算法概念,對C語言采取“有所取、有所不取”的策略,對與講授程序設計方法密切相關部分重點介紹;對與講授程序設計方法關系不大的部分根本不介紹;注意由淺入深地介紹程序設計知識,把難點化解和分散到各個章節中去。以多媒體為主,板書為輔,并現場編程演示等多種教學手段相互補充,使課堂教學與實驗教學有機結合。為了及時解決學生學習中遇到的問題,調動和保護學生的學習積極性,我們充分發揮網絡的優勢,借助于課程網站等網絡教學方式作為常規教學的補充,拓展“教”與“學”的空間。
5 課程與教材之間的關系(The relationship betweencurriculum and textbooks)
課程教學效果如何與教材的選取密切相關,有經驗的老師體會到,教材選好了就已經有了上好該課程50%的把握。因此在“程序設計基礎”的教材選取時,應當從教學內容的制定,學習素材和呈現方式等方面在基于我們國情的前提之下,發揚傳統教材的優點,突破其缺點,為課程與教材的有機結合做出實質性的工作。根據社會科學的發展與信息技術的漸漸普及,數學教材也要與時代緊緊結合,因此在教材的選取上應注意以下幾方面:
(1)應力求使內容全面廣泛、生動活潑,能突出所用教材的重點難點。除此外,要適當增加讓學生自己解決問題的機會。這樣才能很好的提高學生主動學習的興趣,同時注重培養學生的創新能力和動手實踐解決問題的能力,培養學生運用計算機技術進行學習的能力。
(2)盡量與生活實際相結合,所選教材內容與現實生活的聯系,體現教學與日常生活的密切聯系,杜絕出現那種理論與實際脫節的情況。
(3)要針對不同層次因材施教,每個學生的學習能力,興趣都有所不同,這樣的話,學習的層次也不可能一樣。因此對教學對象的考慮分析要全面,為不同層次的學生提供教學發展的支持。
6 結論(Conclusion)
信息技術在不斷發展,“程序設計基礎”教學實踐探討還必須通過大量的教學過程不斷總結,才能更好地指導教學[3,4]。教師在教學過程中,同時應注意與后續課程“數據結構”“軟件工程”等的聯系,通過前后教學環節的更好銜接,發揮該課程的作用。同時我們對學生,應該將學習方法的探究擺在首位,正所謂:“授人與魚,不如授人與漁”,這一精神應貫徹于整個教學過程中。
參考文獻(References)
[1] 張華,劉萬海.論“研究性學習”的課程與教學論意義[J].教育科學研究,2005,1:42-45.
[2] 張華,鐘啟泉.課程與教學論[M].上海:上海教育出版社,2003,9:37-440.
[3] 張志青.C語言可視化編程實驗在電路輔助教學中的應用[J].廣州大學學報,2007,7:28-31.
[4] 張志青.基于智能教育平臺的數學探究性學習教學模式實踐研究[J].中國科教創新導刊,2008,11:17-20.
作者簡介:
張志青(1954-),男,學士,碩士生導師,副教授.研究領域:教育信息技術.
曾細平(1971-),女,碩士,講師.研究領域:教育信息技術.
篇8
《程序設計》這門課程是一門實踐性、連貫性很強的課程。通過這門課程的學習不僅僅要求學生掌握一門計算機語言,更重要的是理解和掌握程序設計的方法和技巧,訓練學生的思維能力、動手能力、分析問題和解決問題的能力。因此,筆者在實踐內容的組織上,將實踐內容劃分為基礎實踐、綜合實踐兩個部分。
1 基礎實踐的教學設計
基礎實踐是在平時授課過程中隨課程進度而同步進行的,穿插滲透在理論教學中。基礎實踐項目的內容是一一對應理論教學模塊的。在教師的啟發帶領下,歷經模仿、改寫、提問、思考、總結等幾個環節,其主要目標是幫助學生理解掌握相應課程的基本原理和基本知識,同時驗證這些基本原理的正確性,訓練和增強學生的動手能力,激發學生的學習興趣。
另外,在基礎實踐過程中,教師也對全體學生的學習和能力情況有了一定的了解,這樣為接下來的綜合實踐的順利實施做好了準備。
2 綜合實踐的教學設計
綜合實踐內容是在綜合考量所有基礎實踐內容的基礎上精選出來的具體項目,選取的項目必須貼近學生的生活,讓學生能夠聯系實際,比如:學籍管理系統、圖書館管理系統、學生選課管理系統等等,重點考查學生的理解記憶能力和基本技能,也要考查學生認知能力、動手能力、知識轉化能力、再學習能力和創新能力,以培養學生綜合素質、開拓創新精神。
由于目前高職學生存在較大的群體差異性,他們的專業基礎知識、認知水平、能力層次參差不齊,若以統一的要求來對待每一個學生勢必會給綜合實踐項目教學的進行帶來很大的難度。以往在進行綜合實踐項目教學的時候,通常會將學生分成幾個實踐小組,每個小組會搭配不同層次的學生,希望能夠實現能力強的學生帶動能力弱的學生,希望小組的各個成員可以通過互相協作、互相學習、互相幫助共同完成綜合實踐項目的設計,從而使所有的學生都能得到相應知識的獲取與能力的提升。但是,經過幾屆學生的實際操作以后,發現總有一些學生有畏難情緒和嚴重的偷懶依賴現象存在,有極個別學生在綜合實踐的時候什么工作都不做,所有工作都是小組其他成員替他完成的。為了杜絕這種現象,以后的綜合實踐教學將不再給學生分成幾個小組,而是根據基礎實踐教學過程的摸底情況,根據機房實際布局情形,將整個班級的學生劃分成兩大組,學習情況好能力稍強的一組、差的一組,分別完成兩個難易程度不同的綜合實踐項目,每位同學都必須獨立完成自己組對應的綜合實踐項目、撰寫獨立的綜合實踐報告。
在傳統的實踐授課過程,教師往往處于被動指導的地位,許多學生往往有了問題不知道問什么、怎么問甚至不敢問,這樣一點點小問題越積越多,最后產生了畏難情緒從而失去了學習的興趣。因此,筆者在綜合實踐項目的實施過程中,采取的是以學生為主體、以學生為中心的學習過程,教師所起到的作用是組織者、指導者、幫助者和促進者。教師要充分發揮學生的主動性、積極性和創造性,最終達到使學生有效地實現對當前所學知識的意義建構的目的。
在綜合實踐過程中,教師要對綜合實踐的全過程進行掌控,即對全程進行管理、跟蹤和指導。通過有針對性、有重點的觀察學生項目的設計、制作與完成情況,對兩組分別提出各種難易程度不同的問題來啟發學生,讓學生克服畏難情緒、多多獨立思考,最終使學生能夠自己主動發現問題并解決問題、獨立完成綜合實踐項目的設計。
篇9
關鍵詞:面向對象程序設計;教育方法改革;綜合實踐能力
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2014)50-0246-02
近些年來,絕大多數的高等院校都對計算機、編程等方面的課程愈加重視,例如,C語言程序設計、計算機操作系統、面向對象程序設計等等。隨著現在學生的綜合素質逐年提高,在這些課程的教育上一些古老的方法已經難以滿足新時代學生的需要,在知識的教授方式、課程的合理安排和最后的考察方法上都需要一種新的更行之有效的方案來綜合處理上述問題,以提高學生的綜合能力和面對社會的綜合競爭力。
一、存在的問題
由于原本枯燥而簡單的教學方式已經難以跟上知識系統的更新和學生的需要,使得教學環節無法真正發揮和理論知識之間的紐帶作用。基本的教學理念和教學觀念已經無法在學生與老師之間,學生與課堂之間搭建一條合理的橋梁,這讓教學變得愈加困難,學生也無法從課堂中收獲更多的知識。這種不合理的教學問題主要表現在以下方面:
(一)教學方法的枯燥與學生的學習動力不足之間的矛盾
隨著這個社會的發展,計算機學科以及一系列的附屬學科的知識系統都在不斷地更新換代,這對正統的教學系統發起了強烈地沖擊,而最主要的影響自然是學生的學習態度和學習的動力問題。當下傳統的教學方式還是用大量的知識強迫填充學生的大腦,讓學生沒有自己獨立思考的空間和時間,慢慢喪失了發現新問題的能力,對新奇事物強烈的求知欲也在慢慢退化,只能被迫地學習枯燥的書本知識和早已定式的內容,這種傳統的教學方式極大地影響了學生對知識的興趣和學習積極性。中國有句古話“興趣是最好的老師”,這句話點明,只有先提高了學生對這門課的興趣點和求知欲,才能一步步的讓學生自然地進入知識的海洋中盡情遨游。學生能達到主動地學習才是目前教育界提倡的最好的教育理念。所以,目前,高校最冗待解決的問題便是如何激發學生主動的學習欲望。
(二)教學形式的單一與學生缺乏“實戰練習”之間的矛盾
當前計算機專業課程的教學工作主要還是依托課本作為基礎,課本上的課程目錄基本上就是教學的大致流程,大綱的知識點也基本都涵蓋在整個課本中,而學生聽授老師的教課并不僅僅是來獲取課本上的內容,這些內容有些自學能力強的學生已經可以迅速掌握,而更多的學生急迫地想要得到書本上不能得到的東西,即為這些知識真正的應用方法。就如面向對象程序設計這門科目來說,書本上的語法內容即使通篇背下也是作用不大,有些知識點需要在教師教課的過程中現場演示,才能讓學生明白如何在程序運行過程中體現這些知識的價值,這才是讓學生快速掌握知識點的最佳方法,而且更是現在教育教學方法中需要改進的問題,要讓知識點的教學與具體的實踐演示有機的結合起來,才能達到更好的教學效果。
(三)教學過程的單向性和缺乏與學生進行互動的矛盾
教育工作的主要目標就是用合理簡單的語言來讓學生掌握所需要掌握的知識。這個目標看似簡單,卻需要合理的教學方法作為依托,可是目前的教育方法主要還是強調教師單向模式的講授,而作為受體的學生只能在課堂上機械被動地聽課,這樣不僅使學生的知識接受效率偏低,長時間單一的聽課也會影響學生的學習積極性,甚至會導致學生昏昏欲睡的感覺,這是教學改革上一個相當重要的矛盾,也是現在教學理念上一個急需創新的環節。現在最新的教學目標需要教師與學生更好地互動,這樣不僅可以調動學生的積極性,使其能夠更好地投入到接下來的學習中,也能讓學生在最短時間內掌握知識,以達到最好的教學效果。
二、教學改革解決方案
(一)教學內容的改革
眾所周知,面向對象程序設計這門科目屬于大學基礎教育課程,是一種“語言工具”型的教育課程,其教學內容與許多相似的課程都相互聯系、相互影響。電子類課程極強的相關性注定了不能僅僅對單一的一門課程精通,還要對相關的課程有所了解,這樣做才能成為一個更加全面的優秀人才。為了更好地發揮學生的主觀能動性和學習積極性,我們創造性地提出了將面向對象程序設計和嵌入式系統這兩門課綜合起來學習,理由如下:面向對象程序設計這門課是一門“基礎工具”類型的科目,主要涉及的內容是一些關于基礎語法和基礎編程,可以讓學生的基本編程能力迅速地提高,對C++語法概念有一個深入的了解。可是面向對象課程設計這門科目難度較低,實際應用度不高,必須有一個更好的平臺來進行實戰演練,而嵌入式操作系統這門科目的設計便能很好地彌補這一缺憾。嵌入式系統課程是一門關于便攜式移動設備開發相關的課程,課程內容是基于嵌入式系統開發板,涉及到Linux操作系統的平臺的編程等相關問題,是應用C++編程語言進行實戰演練的最佳平臺之一。如果能通過對教學計劃的稍作變更,在面向對象程序設計課程中后期后添加部分課程用來進行嵌入式系統相關代碼的編程練習,是對學生編程能力的一個相當不錯的檢驗和提高的方法,而且可以讓學生在實踐中獲得寶貴的編程經驗,從而可以讓書本上的知識在學生的腦海中融會貫通。
(二)教學模式的改革
傳統的教學模式在教育業內已經廣受國內外教育專家所詬病,傳統的教學模式單一乏味,會導致大學課堂氣氛壓抑,學生昏昏欲睡,直接導致其學習效率過于低下。而本文便針對這一問題,提出了一個創新性的教學計劃:開放式教學理念。這一理念可以定義為學生和老師的雙向互動教學,由老師傳授學生的基本知識,由學生自己來處理問題和改進問題。例如,在課堂上老師講述C++課程中“for循環”這一語法過后,可以提出一個討論話題:如何用C++編程語言來解決著名的數學邏輯問題――“漢諾塔”問題,而后學生便可以分為若干小組,分別分析其中的數學模型,思考程序的大致運行流程圖,而后以組為單位在講臺上進行大致演示。不同小組的學生也可適當地進行競賽,在競賽中通過不同小組的展示來分析自己的思路中有什么優勢,有什么需要改進的地方,可以借助他人的思想來使自己的程序更加的完善,這樣既可以讓學生有充足的時間來對自己的程序進行總結與分析,又可以讓老師知道不同學生的知識掌握程度,而且不會壓抑學生的發散性思維。這種模式的優勢來源于同學之間的思想交流,遠比單單從課堂或者書本上的知識來的更加直接,更加易于接受。而這種教學模式的最終裁定者仍然是老師,授課老師可以將學生反饋出的思想進行評判,褒獎其中的優點,指出存在的不足,這種有的放矢的評講模式更加貼近學生的思維理念,獎罰分明的評判方式也可以提升學生的學習動力。這樣的改變既可以加強課堂的趣味性,又可以讓學生充分享受到編程的樂趣,學生與學生之間,學生與老師之間也加強了互動,是有一舉兩得的功效。
(三)教學細節的改革
著名學者汪中求說過這么一句話,“細節決定成敗”,同樣,通常情況下,在教學過程中重視細節的老師會博得學生的喜愛,相應的教學質量也會提高。而這里我們就提出兩個仍需在教學中改變的細節:課堂藝術和課前準備。何為課堂藝術?就是身為授課老師,要盡可能用自己的課堂感染力來激起學生學習的興趣,要發揮學生學習編程語言的主觀能動性。那么到底如何才能激發學生對于學習編程語言濃厚的興趣呢?這就必須要求授課講師在傳授知識時不能太過于書本化,多舉一些與生活實際密切聯系的例子。例如,在面向對象程序設計這門課上,可以通過課堂上提出上網安全密碼程序的設計問題,以及小型網絡病毒程序的開發等問題來提高知識的新鮮感,提升學生學習的興趣。這樣做的效果是顯而易見的,能讓學生從中明白到語言的實用性和趣味性,讓學生能自發地坐在計算機前面來動手實現,設計自己的程序,而不是單純模仿書本上的程序。當有了學習的興趣自然而然地有了學習的主動性,學習效率自然便有了顯著的提高。細節的把握僅是提升學習的興趣還不夠,還需要在授課的準備過程中加以變化。目前還說,語言類課程的主要授課方式還是要以PPT作為輔助,而一套PPT的設計精美程度直接影響到學生在課堂上的聽課效率,一副僅僅含有枯燥的文字和繁瑣的代碼的PPT是無論如何也吸引不了學生數個小時的聽課注意力的,所以在備課過程中,教師需要在PPT適當的地方添加一些有趣的動畫或者各種文字效果,這樣便可以盡可能地吸引學生的注意力,讓課堂不至于太過枯燥乏味。
通過大量的經驗總結和學生反饋,本文總結了現階段教學方式存在的“三大矛盾”,而為了解決這些突出的問題,本文提出了一個解決這些矛盾的方案,即對教學內容、教學模式、教學細節三方面的改革方案。當然,在實際教學過程中,這些方案還需要通過現實的驗證,不過,相信通過我們不斷的努力,改革后的高校教學成果一定會得到顯著的提高,學生也會愛學習,更愛上學習。
參考文獻:
[1]張迎新.面向對象程序設計課程的研究[J].北京工商大學學報,自然科學版,2003,(4).
[2]朱清華.面向對象程序設計的教學改革[J].教書育人:大學頻道,2005,(4).
[3]張永.面向對象程序設計的教學研究[J].電腦知識與技術,2006,(1).
篇10
【關鍵詞】C語言程序設計 實踐教學方法 實踐實踐能力 積極性
【基金項目】2013年防災科技學院教研教改項目(2013B24); 2012年防災科技學院教研教改重點項目(2012A04)。
【中圖分類號】G42 【文獻標識碼】A 【文章編號】2095-3089(2013)05-0246-01
公共基礎課程C語言程序設計是面向非計算機專業本科生開設的,這門課程的教學目標是通過理論學習和編程訓練,使學生較全面、系統地理解和掌握C程序設計的基本概念、語法知識和計算機程序設計的基本思想和方法,初步具備運用C程序解決實際問題的能力。通過本課程的學習培養學生利用計算機處理問題的思維方式,啟發學生主動將計算機引入到其他基礎課和專業課[1]。
C 語言是一門實踐操作性很強的課程,要學好C 程序設計不僅要掌握好理論知識,實驗教學更不容忽視。通過上機實驗,不僅可幫助學生消化和鞏固課堂所學知識,也可幫助學生驗證學習中的疑難問題,更重要的是可激發和提高學生學習C 語言程序設計的興趣[2]。
1.C語言程序設計實踐課存在的問題
通過進行問卷調查非計算機專業學生,有69%的學生認為C語言課程對自己今后的學習與工作中比較有用;有81.25%的學生希望理論和實驗課時比例為1:1,有56.25%的學生把影響學習積極性的主要原因歸咎于教師、課程內容等方面;主動研究、解決問題的學生僅占37.5%,68.8%的學生課下基本不看有關C語言程序設計的書籍,75%的學生基本不會進行學習小結,68.75%的學生課下基本不會主動復習、預習新課;在C語言程序設計課程學習過程中遇到的問題,出錯時希望得到教師輔導的占51.3%,只有37.5%的學生課下會花時間編寫程序。
筆者從事C語言程序設計教學工作多年,通過實際教學和綜合調查分析,學生層面問題突出主要體現在以下幾個方面:
1)對課程認識不夠重視
有的學生對C 語言認識不足,覺得沒什么用,學習上缺乏主動性和積極性;有的同學又覺得C 語言很難,學習缺乏信心,對計算機程序產生一種畏懼的心理。有的學生對實驗課不重視,抱著應付的態度,不愿投入很多的時間和精力[3]。
2)學生學習興趣有待提高
在C語言的教學中,實驗課的時間僅占課程的三分之一,明顯感覺學生無法按時完成當次實驗所要完成的任務,只能依靠學生課下自己找時間再繼續完成,這樣勢必會存在一些問題,學生可能抄襲現象嚴重,還可能因為在完成實驗任務的時候,對于遇到的問題不能及時得到輔導與解決,而會“知難而退”,大大消減了學生對課程學習的積極性[4]。
3)課下投入精力不足
有的學生只是在課堂上聽講,課下沒有進行總結歸納、認真復習、做習題、主動查閱學習資料、不能將實驗作業提前預習準備。導致知識掌握不牢固,不能有效利用實驗課有限時間。
4)有效學習方法欠缺
有的學生在實踐過程中過分依賴指導老師,有任何問題就找老師,自己缺乏必要的思考。在學生逐漸掌握并積累一些常用的編程方法和技巧后,可以把總結歸納作為一種重要的學習方法,提高學習效率。
由于以上的各種問題,使得實驗課效果不佳,從而影響了C 語言課程的整體教學效果。
2. C語言程序設計實踐教學方法的探討
經過幾年的教學實踐、觀察總結以及研究嘗試,本文針對以上問題,總結提出幾點建議來改善實踐教學的效果。
1)明確學習目的,加強對C 語言認識的重要性
讓學生認識到學習C 語言是具有普遍適用性的,根據各專業的不同特點,使學生明白C 語言作為一門基礎性程序設計語言,對理工科各專業后續課程的開設起著開路先鋒的作用,而且通過C 語言培養起來的邏輯思維和計算能力,是伴隨我們學習全程的。另外,要使學生樹立信心,使他們能正確地認識到自己在經過一段時期的學習以后是可以編寫程序的,可以通過計算機解決本專業領域的問題,從而提高學習的主動性和積極性[3]。
2)培養學習興趣
興趣是學習的最好動力之一,興趣源必須由教師來創造,并貫穿于教師授課全過程的各個環節中。針對C 語言程序設計這門課程的特點教師可采用以下方法提高學生對本課程的興趣。
教師在課程剛開始時,能夠對學生指出日常生活中哪些產品或工作可以是C語言進行程序設計完成的,并能夠演示,以便吸引學生的眼球和激發學生學習的興趣。在日后的課程中,逐漸利用已學知識來解決生活和專業學習中的實際問題。
3)充分利用實踐課程
在實驗教學中,由于實驗課時間相對有限,建議老師在布置作業時一般要難易適當,使學生在經過努力后,基本都能編程實現,這樣學生編完程序后就有一種成就感。如果作業太簡單,學生輕松實現,印象不深,成就感不強烈,覺得太容易,沒有興趣。如果作業太難,學生難于實現,就會出現放棄或抄襲現象,也會喪失學習本課程的興趣,更無從談起學生的成就感。
對于后續課程的綜合程序設計,可以將實驗任務提前布置,留給學生更多的準備和預習時間,可以要求學生將作業在實驗課之前寫在作業本或編輯為電子版,對于出現的問題在實踐課上進行獨立、求助老師來解決,這樣有助于問題的解決和提高學習效率,并且能夠督促學生利用課余時間來進行復習和預習。這樣學生對每個題目已經了解,避免學生上機時現看教材、現編程序的現象。
4)建設課程資源平臺
創建資源豐富的課程資源平臺,網站資源包含課程介紹、教學大綱、教學日歷、教學材料、課程通知、答疑討論、教學郵箱、課程作業等豐富的基本教學資源,所有資源實現資源共享,學生可以自行下載課件、學習資料,并進行交流討論,為教師的教和學生的學提供學習和交流的平臺,能更好地提高學生的學習主動性和學習效率。
3.結束語
本學期的C 語言程序設計課程在實踐環節采取了上述教學方法后,學生對實驗課的學習態度發生了根本變化,學生雖然有壓力,卻很有成就感,感覺學有所用。實踐證明,以上實踐教學方法極大地提高了學生,學習主動性和動手實踐等綜合能力,取得了良好的教學效果,在C語言程序設計實踐課程教學中切實可行。當然,要真正上好《C 語言程序設計》的實驗課,還必須將各種有效措施有機地結合起來,我們要在教學實際中總結新經驗、勤于探索新方法并不斷改進,才能在教學實踐中取得好的教學效果,提高學生用C語言解決實際問題的綜合能力。
參考文獻:
[1]王冰.C 語言程序設計課程教學方法的探討[J].計算機教育,2009 (2):142-144.
[2]程志梅,劉光萍,李榮.非計算機專業C 語言程序設計實驗課程教學探討[J].電腦知識與技術,2009(7):1649,1660.