前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇計算機程序設計論文范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。

力學、熱學課程是師范院校物理教育專業的專業基礎課程,在大學一年級開設,而緊跟力學、熱學課程而開設的計算機程序設計課程是培養學生計算機程序設計能力的重要課程。物理教育專業學生在計算機程序設計課程學習中,隨著課程的深入,遞歸循環、指針等難度較大內容出現,一部分學生感覺較難理解,更難自己編寫計算機程序實現某些略為復雜的算法,容易產生計算機程序設計課程學習無從與物理專業課相聯系、枯燥無味的感覺,降低了計算機程序設計課程的積極性、主動性。然而大學物理與與計算機的關系密切,物理教育專業本科畢業論文、物理學科碩士論文,都涉及大量的計算機編程,因為物理學復雜的非線性問題已經無法找到理論精確解,只能利用計算機進行計算、求解、分析、預測,另外計算機仿真實驗提供了驗證物理學理論、探測真實物理實驗方案的可行性、驗證物理數據的一種實驗成本低廉、快捷的方法[1-3],因此,物理教育專業學生計算機程序設計能力的強弱,直接影響到其本科畢業論文研究以及將來可能的碩士論文研究。現有的教學研究論文中,未見定量分析大學物理基礎課程成績對計算機程序設計課程成績的影響[4-6]。因此,選取論文作者所授課的廣西師范大學物理教育專業4屆5個班本科生的力學與熱學課程期考成績、計算機程序設計課程的段考與期考成績,利用相關系數法定量分析力學、熱學課程成績對計算機程序設計課程成績的影響。
2實驗對象與分析方法
實驗對論文作者所授課的廣西師范大學物理教育專業4屆5個班本科生,其中1997級81人、1999級78人、2000級65人、2001級1班59人、2001級2班55人,選取大學一年級的力學、熱學的期考成績,力熱課程開設之后的計算機程序設計課程的段考、期考成績。利用相關系數法反映計算機程序設計課程成績與力學、熱學課程成績之間線性關系的密切程度[7,8]。
3實驗結果
分析所選取的計算機程序設計課程成績比例分布,考慮優秀、不及格兩端的學生人數相對較少,進行相關分析的誤差較大,而良好、中等、及格分數段的學生人數較多,因此將分數S分為優良分數段(S≥80)、中等分數段(70≤S<80)、及格與不及格分數段(S<70)三段,三段中的學生人數相差不大,分別計算計算機程序設計課程成績全部、優良分數段、中等分數段、及格與不及格分數段與力學、熱學課程相對應成績的相關系數,結果見表1、表2。可以看出,表中所有相關系數均為正值,除個別外主要分布在0.40~0.80之間,絕大部分相關系數均大于0.45,大于0.8的相關系數很少,沒有大于0.9的相關系數,說明力學、熱學課程成績對計算機程序設計課程成績有一定的影響,但影響并不是特別顯著,有一定的正相關性,但相關性并不是特別高,計算機程序設計課程成績還受其它因素的綜合影響。
計算機程序設計課程成績在優良分數段、及格與不及格分數段與力學、熱學課程相對應成績的相關系數幾乎都低于全部分數段的相關系數,甚至出現相關系數為0.20~0.39,極低無顯著性意義的現象,而中等分數段的相關系數幾乎都略大于全部分數段的相關系數,說明中等分數段的計算機程序設計課程成績受力學、熱學課程相對應成績的影響要比優良分數段、及格與不及格分數段顯著一些,即有一些計算機程序設計課程成績優良的學生未必對應力學、熱學課程成績優良,也即有一些計算機程序設計課程成績較差的學生也未必對應力學、熱學課程成績較差。力學、熱學兩門課程成績各自與計算機程序設計課程成績的相關系數整體差異不大,影響的顯著性相差不大。
關鍵詞:計算機語言;邏輯性;抽象性;過程;對象
中圖分類號:TP311.1 文獻標識碼:A文章編號:1007-9599 (2010) 05-0000-01
Teaching Reform in Computer Program Curriculum
Wu Wenyun,Deng Yaming
(Hunan Biological and Electromechanical Polytechnic,Changsha410127)
Abstract:How to do a good job teaching computer program is the teachers embarrassing question.In this paper the author many years teaching experience,teaching on the characteristics of computer programs, teaching problems,reform needs of teaching and teaching methods to make plain the reform of areas for reference.
Keywords:Computer language;Logic;Abstract;Process;Object
一、計算機程序課程教學的特點
計算機語言具有很強的理論性、抽象性,學生學習起來難度大,很難激起他們的學習積極性;并且計算機語言發展速度非常快,種類繁多,并且都有各自的適用范圍。基于各個學校的實際情況,課堂教學內容也遠遠滯后于計算機發展速度,只能將那些具有代表性的語言(面向過程程序設計語言如c語言、面向對象程序設計語言如C++等)引入到教學課堂。因此,搞好計算機程序課程教學難度很大,如何上好計算機語言課程也是大家都在探求的問題。
二、目前計算機程序課程教學中存在的問題
(一)教學方法存在有問題
在計算機程序的教學過程中,傳統的教法是按照教材編排的順序講授,即先介紹一條條語句及語言的語法規則,然后做適當的練習和實訓。這種傳統的教學方法存在以下幾方面的問題:
1.堆積的語法規則和語句學生很難在短時間內消化;
2.學生不能明確課程的學習目標和方向;
3.按步就班的教學順序會導致學生的厭學情緒;
4.達不到預期的教學效果。
(二)計算機程序課程教學中存在的客觀問題
實際中的語言程序課程教學又存在幾大棘手問題:
1.眾多的語言規則讓初學者望而生畏;
2.靈活多變的使用方法又令人捉摸不透;
3.課堂講授時間非常短暫,所學知識得不到及時鞏固;
4.學生不好的學習態度:學習思維、行為懶惰。
基于以上存在的問題,計算機程序課程教學改革勢在必行。我們在教學中應該有的放矢,不斷探索新的教學理念和方法。
三、教學改革方法
(一)突破傳統的思維方法,根據市場人才培養需求確定課程目標體系
1.認知目標:通過項目實踐,掌握程序、程序設計的基本概念、程序設計思路與方法;
2.能力目標:小組合作或獨立操作,簡潔明快,易于識別,寓意準確,內涵豐富,特征明顯,編寫精細的應用程序;
3.情感態度目標:培養學生的學習情趣,通過觀察,實踐,感受成就感,設計感,空間感,體驗程序設計的樂趣。
(二)精心選取教學內容
課程教學內容可以模擬一個軟件公司的設計部門,以一個普通的設計人員在工作中所遇到的實際問題為主線,將客戶的要求轉化為實際的任務,要求學生解決。整個教學過程共模擬若干個工作場景,設計教學過程于工作(生產)過程中的職場環境,將課程教學內容和要求都融入到這些案例中。
(三)認真設計并精心組織實施教學過程
本課程基于案例模擬真實公司環境的情景下,以項目案例驅動學生動手操作,進而對項目中的知識點進行總結。具體內容包括:
1.實訓項目:可根據課程教學需要來確定
2.實訓目標:掌握模塊結構設計、面向對象程序設計及程序設計風格,掌握程序基本結構設計及實現方法。
3.基本做法
a參與人員:全體學生(分組)
b實訓地點:教室+專業機房
c實訓途徑:設計+上機操作
4.實施步驟
策劃:情景引出―明確任務―教師引導分析任務,設計討論具體的解決方案。(由于學生初學,對代碼設計的掌握還沒有達到游刃有余的狀態,所以前期以教師引導,幫助設計解決方案為主。后期可減少策劃時間,將實施時間延長,讓學生自由發揮)
實施:事前要求學生分組設計模塊流程圖,設計實施方案,動手設計代碼,完成項目,鞏固知識點。(巡查學生的掌握程度,對實施過程中出現的問題進行輔導)
總結:小組互評設計的優劣
a緊扣實訓目標,總結達標程度。
b思考與互動:你學會了這個實訓項目,對你的畢業論文/設計,職業資格證書考試有什么幫助?
(5)課程評價
a教學效果考試方式
平時成績:考察學生的學習態度(20%)
學生自評:緊扣實訓目標,總結項目達標程度(20%)
老師評價:理論考試和實訓評價(60%)
b教學效果評價:
i組織學生參加軟件水平考試的合格率
ii畢業生在相關行業就業情況:畢業生就業信息反饋獲取數據
四、教學改革過程中應該注意的問題
(一)注重學生計算機思維的培養
在講課中,應集中精力對章節的知識結構進行詳細闡述、對所要解決的實際問題進行深入剖析,不應花太多的時間放在對語句語法的過多講解。當遇到實際編程時,需積極引導學生把“要想干什么”的問題,直接轉化為“要解決什么”的問題。當問題確定以后,必須選擇正確的算法。當然,計算機編程中的算法和數學中的算法存在很大區別,需要教師對學生們的計算機思維進行長期而有針對性的訓練和培養。
(二)啟發式教學激發學習主動性
計算機語言教學的關鍵是培養學生的編程思維,我們可以大膽采用啟發式教學,引導學生盡快明確編程思路,掌握基本編程方法。在課堂上,可以嘗試讓學生自己去編程實現,教師只扮演“打字員”的角色,直接把內容輸入到語言環境中,一邊輸入一邊和大家交流,如果實在有困難,教師停下來再加以詳細分析,直到程序編譯、運行和顯示出正確結果。啟發式教學很容易讓學生掌握程序設計的完整過程,也可以大大提高我們授課的效率。
(三)抓住重點、化解難點
講授重點內容時,應放慢速度、加重語氣,從而吸引學生的注意力。當遇到難點時,善于化解,把問題逐漸細化,所有小問題解決了,難點自然就解決了。
(四)強化實踐
計算機語言的實踐就是上機編程,是培養學生綜合運用相關知識解決問題的重要途徑,也是我們了解教學反饋信息的直接渠道。只有親自動手、親自實踐,才能真正體會到語言編程的樂趣,才能發現自己的智慧閃光點。通過上機練習也可以進一步加深對理論知識的掌握,也將有利于培養學生的創造思維、獨立分析問題和解決問題的能力以及培養學生實際編程的能力。需要強調一點,實驗內容安排上應由淺入深,開始時給出引導性實例,后期提出問題,讓學生分組自主發揮,教師抽空進行總結講解,這樣更能激發他們自主學習的主動性和積極性。
(五)搞好總結
課堂教學以后,授課教師特別年青教師多寫寫教學心得體會,多回憶回憶課堂情況,多和授課對象交流反饋,成功的有哪些,不足的有哪些,以后就能做到有的放矢,揚長避短,更好更快地提高我們教學能力和業務素質。
總之,要教好計算機程序課程,不能按照單一的“黑板―書本”教學模式,應大膽進行課程教學改革,采用豐富多彩、滿足學生需要的教學模式,精心設計并認真把握各個教學環節。只有如此,教學質量才會有本質的提升。
參考文獻:
[1]吳振峰.信息技術基礎,北京理工大學出版社,2001,9
[2]彭邵東.信息技術教育研究,湖南師范大學出版社,2002,6
[3]龍佑喜.C語言程序設計教程,湖南人民出版社,2004,9
〔論文摘要計算機程序設計課程是中職學校計算機專業的主要課程之一,曾受到各中職學校的高度重視。但程序設計課程教學設計、教學目標及教學方法遠遠跟不上形勢,怎樣調動中職學生對程序設計語言的學習興趣與提高他們的學習效率成為中職計算機教師們的共同關注的焦點。
程序設計課程作為計算機專業的一門基礎課程,它有利于提高學生的思維能力,對學生深人學習計算機專業知識有很大的幫助。其目的就是通過學習程序設計語言的基本思想、語法知識和編程方法,提高學生的程序設計能力、分析解決實際問題的能力,并培養形成嚴密的邏輯思維能力。那么如何根據社會經濟發展變化,對程序設計語言課程的教學內容、教學方法、考核方式進行相應的改革,實現培養高等技術應用型和高技能型計算機人才目標,已經成為廣大中職教師普遍關注和重點研究的課題。
1程序設計語言教學中存在的問題
1.1教學課時少
目前我校計算機專業的學制2+1的模式,學校開設的程序設計語言課程的課時(包括理論課時和實踐課時)較少,這就導致實際教學中存在理論課時和實踐課時不夠的情況,學生只能掌握最基礎的程序設計知識,理解書本上現有的一些設計實例,而不能用該程序設計語言進行實際問題的處理。
1.2學生基礎參差不齊,學習程序設計的信心、興趣不足
因為學習程序設計需要較強的邏輯思維能力和較扎實的數學功底,而中職學校的學生普遍數學基礎較薄弱,導致在學習程序設計時顯得力不從心。由于缺乏對計算機本身解題的認識和了解,有些基礎較差的學生還對計算機程序產生一種莫名其妙的神秘感和畏懼感,人為的給自己學習程序設計語言設置了一道門檻。學生對程序設計課程的學習興趣不高,課堂教學中反常行為較多,如卜課睡覺、講話、玩手機、不配合老師、不交作業等。學生普遍反映難學,提不起學習興趣,感覺學不到知識或學的知識沒用。
1.3學校對程序課程的重視程度不高
計算機程序設計課程注重對學生的思維能力的訓練,這與圖像處理,動畫設計等培養學生動手能力的課程不同,不能立竿見影的看到學生的學習成果。這就導致一些領導對這門課程不夠重視,從而使部分教師對這類課程的教學參與興趣不濃厚,甚至有些學校以取消了程序設計語言的課程設置。
1.4教學方法落后
中職程序設計語言課程一般采用的教學方法是教師課上講授加學生實驗的形式,學生在上機實驗時僅僅是對書本上現有的一些實例進行編輯調試,一旦調試成功就完成任務。這種教學方法實際上只是讓學生掌握了一些程序設計的語法知識和調試技巧,而達不到培養學生利用該程序設計語言從一個實際問題人手分析問題、解決問題的能力。
1.5考核方式較簡單不能全面檢驗學生的學習效果
目前的考試方式以試卷為主,無法全面檢驗學生的學習效果,對學生的實踐能力考查無法體現學生的真正學習效果。
2間題分析
是什么原因造成了以上這些問題那?隨著高中教育不斷普及,中職生源及綜合素質急劇下降。普遍特點是他們基礎薄弱,尤其數學和英語,這是學好程序設計的最大障礙。教材不能適應中職教學的要求。現今中職程序設計語言教材存在的普遍問題是實踐性教學和實訓內容不足,沒有體現教材的實用性和職業性,不能保證對學生實踐能力的培養,不能體現技術應用型人才的培養要求,缺少中職教育特色。面對這些問題,我們不能望而卻步,一味地去埋怨是起不到效果的,要真正想解決問題,最好就要去不斷地摸索,尋找解決問題的突破點,探索適合學生發展的教學方法和教學內容,以充分調動他們的學生積極性和主觀能動性。
3解決間題的關鍵在于教育方法的創新
古人云:“知之者不如好之者,好之者不如樂之者。”興趣對學生的學習有著神奇的內驅動作用,能變無效為有效,化低效為高效。充分激發學生的學習興趣是當前開展素質教育,優化課堂教學,減負提質的最根本、最有效的途徑之一。興趣的產生來源于興趣源,興趣源必須由教師來創造,并貫穿于教師授課全過程的各個環節中。針對程序設計這門課程的特點教師可采用以下一些方法提高學生的對本課程的興趣。
(1)基于問題的教學。提出問題,以學生獨立完成為主,教師只提供必要的輔導,培養學生探索問題和解決問題的能力,更有利于創新能力的培養。
(2)“項目驅動”教學。在理論教學中采用“項目驅動”教學法,整個課程教學圍繞一個“工程項目”進行,通過逐步拓展的實訓項目和設計,將每一階段的學習進行小結性的貫穿與能力提高,將知識點都溶化到一個個實訓項目的程序編寫中。
(3)討論教學法。在教學過程中,充分發揮學生的積極性與主動性是非常重要的一環。程序設計有一個最大的特點,一題多解。針對這個特點,教師在習題課的教學中,可以采用討論式教學方法。在此過程中,學生們通過提問、答辯、論證、反駁、判斷等激烈的討論,互相啟發、相互協作去分析問題、發現問題、解決問題,總結經驗。不僅可以讓學生獲得課外的知識,同時也利于充分挖掘學生的學習潛力。
(4)歸納教學法編程語言有很多的定義、概念、語法規則,它們使用靈活、難以記憶,也特別容易出錯。如果能夠引導學生進行歸納,將會起到事半功倍的效果。編程語言的定義、概念、語法規則有許多相似的地方,例如:for ……to……與do……w hile等命令,有很多語法規則是一樣的,對它們進行歸納之后,學生只要記住其中一個,另一個自然就會使用了。
(5)分組教學法。注重培養團隊精神,以“競”求進上機編程實踐是學好程序設計語言的關鍵。但上機實踐過程中如果“各自為戰”,或在教師的統一“指揮”下以完成不同題型的任務為實踐內容,對于中職學生而言很容易失去上機興趣,也很難達到上機實踐之目的。因此,不妨針對中職學生的特點,適當轉變上機實踐的形式。以組建團隊的形式上機實踐,事前分配給每個學習小組不同的實踐任務。組長負責本組學生利用課余時間去思考、收集資料,上機時各組先分別完成相應任務,然后相互演示成果,評判優劣,最后再進行任務交換,討論編程心得。在此過程中教師主要充當協調者的角色,對確有疑難的地方可適當加以指導,主要過程可由學生自行解決,則學習能力強的學生自然會成為教師的助手。
(6)案例分析教學。對程序設計語言的教學,不僅僅是教程序設計語言知識,更重要的是讓學生學會如何利用程序設計語言知識去編程,去應用于實際需求中。采用案例教學,可以實現課堂內外的有機結合,實現理論與實踐相結合。結合學生自學,讓學生帶著疑問進行案例分析,教師在分析過程中穿插講授專業理論知識,學生在分析案例的時候,一方面增長知識視野,豐富分析應用技巧;另一方面,在探索思考如何把知識運用于實踐,從而及時有效地促進學生對知識的消化吸收,真正達到理論與實踐相結合的目的。當然在案例的選擇上應結合學生的專業實踐,讓學生能學以致用。
【關鍵詞】程序設計;以賽促教;啟發式教學;趣味教學
一、課程定位
程序設計基礎這門課程是在學院第一個學期開設,共有56個學時,這門課是學校計算機應用技術專業的一門基礎課程。學院對此專業的培養方案的初次崗位定位中有軟件開發技術員崗位。根據計算機程序員崗位的職業要求,具體工作流程總共分為五部分:需求分析、系統設計、程序設計、程序調試、交付與維護。不難看出程序設計在其中占有至關重要的地位。程序設計基礎課正是來源于此,該門課程是培養程序設計員基本程序設計能力的一門基礎課程,在計算機應用技術專業人才培養方案的課程體系中屬于專業技術課程中的基礎課。
《程序設計基礎》是直接面向程序員職業崗位的一門課程,課程的學習目的是使學生掌握結構化程序設計的基本方法,培養程序設計的思維能力,為后續課程《C#程序設計》、《數據結構》、《WEB程序設計》、《面向對象程序設計》等課程的學習奠定基礎。
二、課程設計
為了符合學院提出的“走進校門的是大學生,培養出來的是職業人”的育人理念,和計算機應用技術專業要培養具有優勢職業品質與技能,面向現代服務業培養管理、服務第一線崗位的高素質技能性職業人的專業目標,《程序設計基礎》的課程設計思路是以培養程序設計能力為目標,以實戰項目為載體,實現教、學、做一體化。
在教學過程中以案例為先導,學生完成演練為手段。這門課程要達到的品質目標是以能力與知識相結合、以培養全面發展的具有優勢品質與技能的高素質應用性職業人為培養目標,培養學生嚴謹細致、求真務實的工作作風和良好的團隊協作精神。技能目標是掌握結構化、模塊化程序設計方法與技能、培養自主學習獨立思考能力。知識目標是學會C語言的基本語法,掌握基本的算法、能夠編寫基本的C語言程序。
課程內容的選取依據計算機程序員崗位需求、典型工作任務、行業技術動態發展趨勢、高職學生特點,分為理論教學和實踐教學,課時分配是1比1,其中實踐教學每一個模塊都以項目案例為導向,案例大多選自杭電的ACM平臺,同時也配備了為了激發學生學習興趣老師自己創作的案例,比如剪刀石頭布游戲,猜數字游戲等。
高職學生屬于高考最后批次,文化基礎知識相當欠缺,體現在C語言上,英語出錯提示看不懂,甚至有學生反映在C語言中的英語語句關鍵詞都不認識,在數學上同樣存在基礎相當差的問題,成為學習C語言的極大障礙。學生從小接觸計算機就在Windows下運行,習慣了用鼠標,而C語言運行在用鍵盤的命令行界面上,一個字都不能輸錯,對初學者有一定難度。這門課程的重點是:三大基本語句程序的設計、數組的定義與引用、函數的定義與參數傳遞;課程的難點:選擇與循環的嵌套、函數嵌套與遞歸調用、指針等。針對學院高職學生的特點,對于重難點的解決方法是從提高學生學習主動性方面突破首先,要激發學生的興趣,包括兩方面的內容:第一興趣教學,盡量選取學生感興趣的題目或項目進行教學,如猜數游戲,石頭剪刀布游戲等。第二實用教學,解決學生學了有什么用的困惑,盡量選取貼近生活實際的題目,如百元錢兌換方案、誰是騙子等,讓學生感受到學后能解決問題的小小成就感。
三、教學實施
教學實施流程分為三個階段:準備階段,實施階段和總結階段。在準備階段中,根據課程標準,主講教師組織任課教師討論,選擇典型的工作任務,制定教學計劃。實施階段以學生為主體,以教師為主導,以職業能力培養為中心,融‘教、學、做’為一體教學。總結階段主講教師組織任課教師討論,提出存在問題,找出解決方案。
針對課程特點,靈活使用“啟發式教學”、“趣味教學”“任務驅動”等方法,突出“理論教學構筑學生的知識結構,實踐教學構筑學生的職業技能結構”的教學原則。課程教學全面推行“學中練,練中學”教學思路。
接下來以循環結構的第一次課為例來闡述一下教學流程:學生對循環結構沒有概念,對while和dowhile語句也不感興趣,為了提高他們的學習積極性,首先使用五分鐘的時間情境導入,選取杭電ACM平臺上面的三個案例:猜數字游戲,百錢百雞問題,誰是騙子,在學生對將要學的知識有了一定的期待后,用十五分鐘的時間講解相關的語法知識,接下來通過解決案例的方式教師給學生示范編程,并且給學生留出一定的時間自己動手實現,最后十分鐘進行總結反思。
這門課程的教學評價由三部分組成:其中平時成績和課內實驗成績分別占20%,期末筆試成績占60%。
四、教學條件
程序設計課程有一支不論是年齡結構還是職稱結構都比較合理的教學團隊,每個老師都有自己的優勢,有的具有多年的企業編程經驗,有的主持多項相關的省級課題,有的對指導學生程序競賽有豐富的經驗。此外課程聘請杭電ACM集訓隊教練劉老師擔任學校ACM集訓隊特聘教練,劉老師也參與系相關的實習實訓活動。
該門課程的教學資源也很豐富,主要包含以下幾個部分:教學大綱、授課計劃、教材、實驗實訓項目指導書、多媒體教學課件、網上C語言精品課程、試題庫、圖書資料等。教材選用譚浩強教授編著的《C語言程序設計》,系周岳松老師自主研發了客觀題在線測試軟件,該軟件分為教師版和學生版,教師版可用于平時隨堂測試,學生版可用于學生自主學習,網絡資源主要有C語言網等。學院也提供了相應的硬件支持,設有軟件開發實訓室、大學生程序競賽實訓室等多個實訓室。
五、教學效果
校內督導組和校外專家都對《程序設計基礎》這門課程給予了充分的肯定,專家評語是以項目為導向,以任務驅動,符合高職教育教學特點,以提高學生的編程能力為宗旨,能較好符合企業對軟件人才的需求。
迄今為止,該專業共有一千七百余人修了這門課程,取得了豐碩的成果。我校代表隊參加了十屆浙江省大學程序設計競賽,共獲32塊獎牌,尤其去年今年連續兩次獲得專科組的特等獎,同時四次獲得優秀組織獎。除了ACM競賽,在藍橋杯比賽中我系學生也取得了不錯的成績。
通過這門課的學習,鍛煉了學生的邏輯思維能力和基本程序設計能力,為以后的工作和創業打下了堅實的基礎,2008級計應學生林清瑞,曾經參加ACM競賽并獲得銀獎,自主創業,建立了杭州安豆信息技術有限公司,從事手機游戲開發。2003級計應學生黃道笑,自主創立了杭州五角星科技有限公司,從事網站開發。2010年公司銷售額超過了200萬;2011年被評為杭州市高新技術企業;2012年被評為杭州市雛鷹計劃企業。
六、課程特色
這門課程特色:以賽促教,賽教結合。把ACM競賽平臺里面的題目融入到平時的教學過程中,也會把平時表現好的學生充實到競賽集訓隊伍里面;教學結合,學以致用,教師指導,學生自主研發一些小游戲,比如石頭剪刀布的游戲。
參考文獻:
關鍵詞:VBA;計算機基礎教學;教學策略
中圖分類號:TP311.1 文獻標識碼:B 論文編號:1674-2117(2015)01-0110-02
VBA程序設計與其他程序設計方法相比較,最大的不同有兩點:第一,VBA程序的開發環境非常普及,學生個人使用的電腦、學校機房、實習時的辦公電腦基本上都安裝有Windows操作系統和Office辦公軟件;第二,VBA程序設計方法比較簡單,在語法上零基礎的學生也可以通過錄制宏的特殊方式來實現程序設計。
筆者在高校擔任《VBA程序設計》課程的授課教師,在課程教學內容的選擇、教學實驗的設計等方面做了大量的調研和嘗試,在實踐過程中總結出了一些針對本門課程的教學策略。
選取由淺入深的理論教學
筆者所教授的《VBA程序設計》是面向全校學生的選修課,對選課學生要求的是先學習過《計算機信息技術基礎》課程。上課的學生大部分都有較好的辦公軟件使用基礎,但是沒有程序設計類課程的學習經驗。基于以上的學生基礎知識分析,筆者在理論教學中選擇了由淺入深的教學內容,以VBA語法為主,少量篇幅介紹課程中涉及的辦公軟件使用方法。
本門課程中講授VBA語法的目的是讓學生學會看懂錄制宏形成的代碼,并且能夠根據需要進一步地修改代碼。基于這樣的教學目標,筆者把理論教學分為六個部分,分別是數據類型與運算、選擇語句和判斷語句、Excel常用對象與事件、界面設計、代碼調試等。每部分都選取和實驗相關的內容詳細講解,學生如果想了解更深入的相關課程內容,則可以通過自學教材完成。例如,在“Excel常用對象與事件”這一章中,筆者只介紹了application對象、workbook對象、worksheet對象和range對象。學生熟悉掌握了這幾個常用對象的使用方法后,對其他對象就能夠快速的進行自學了。
本著“授人以魚,不如授人以漁”的態度,筆者在教學中非常重視教授學生如何靈活自如地使用VBA程序自帶的“幫助”工具。在教材主要使用的Excel軟件中,VBA“幫助”工具就提供了幾百個Excel對象模型參考,這些對象不可能在課堂上講授完畢,因此,只有學會看懂“幫助”工具才能明白隨時查找對象的使用方法。例如,在VBA程序設計中要使用到圖表對象,但是課程介紹的Excel常用對象中沒有包括圖表,學生可以通過“幫助”工具搜索到Charts對象的所有屬性和方法,也可以在“Excel對象模型參考”中查找到Charts對象。學生在“charts對象成員”中可以學習到Charts對象的使用方法,點擊每個方法都有參數說明和示例,如Charts對象的Add方法的示例為:
ActiveWorkbook.Charts.Add Before:=Worksheets(Worksheets.Count)
從這個示例中可以分析出新建圖表工作表的語句是ActiveWorkbook.Charts.Add,參數Before是指定新建的圖表工作表插入到最后一張工作表之前。學生如果不明白Worksheets.Count的含義,用同樣的方法可以去“幫助”工具中查找Worksheets對象的說明,其Count屬性的含義是“返回一個Long 值,它代表集合中對象的數量”。學生在上機實驗中通過多次使用VBA“幫助”工具,可以快速提高應用能力。
從錄制宏的上機實驗入門
考慮到本門課程的學生大部分沒有學習過程序設計類課程,筆者在學生前兩次的上機實驗中安排了錄制宏的實驗題目。這樣既避免了學生對程序設計語法的畏懼心理,又增加了學生對VBA編程的自信心,學生可以通過這兩次實驗體會到VBA中宏的妙用。
第一個宏實驗是在Excel中自動生成工資條,實驗要求是在Excel工資表中,給每一條記錄插入一個工資表的表頭,如果有100條工資記錄就要復制粘貼100次表頭記錄行,通過錄制一次復制粘貼表頭的宏,并把宏指定給新插入的按鈕,學生就可以通過一個按鈕完成重復工作了。
在Excel中錄制宏是一個重要的VBA編程技巧,學生在熟練掌握語法后,也可能遇到生疏的對象和事件,通過錄制宏后查看代碼,就可以清楚地知道該對象和事件的對應代碼,相對于查找“幫助”工具更為快捷。例如,在VBA中進行單變量求解是使用Range.GoalSeek方法,在Range對象中屬于不常用的方法,通過錄制一次單變量求解的過程,再查看以下代碼:
Range("A1").GoalSeek Goal:=10, ChangingCell:=Range("A4")
就可以清楚地知道Range.GoalSeek方法是單變量求解,目標值用Goal參數設置,可變單元格用 ChangingCell參數設置。
第二個宏實驗是在Word中設置按鈕或快捷鍵來轉換字符的大小寫狀態。該實驗通過錄制宏新建按鈕或快捷鍵,使用方法和在Excel中相似。通過先后在Excel和Word中錄制宏并查看宏代碼,學生可以了解到VBA程序設計的顯著特點就是不同軟件中的VBA有不同的對象和事件,Excel和Word都有各自的對象模型。
訓練學生完成實用性實驗
筆者在安排學生的上機實驗時,為了激發學生的學習興趣并能夠學以致用,專門挑選了一些實用性的實驗題目。實驗內容主要包括三個部分,分別是Excel VBA、Word VBA和PPT VBA的程序設計。下面舉例說明這三部分實用性實驗的內容。
1.在Excel中,要求學生制作一個人員信息管理界面,該實驗可以擴展為通訊錄人員管理、人力資源信息管理等相關的程序設計。實驗內容是通過新建的界面完成信息錄入、增刪改和查詢,把Excel工作表作為保存數據的數據庫。這個實驗涉及ExcelVBA的界面設計、工作表對象、單元格對象、find方法等內容。
2.在Word中,要求學生制作一份合同模板。該實驗可以擴展到要求固定格式的報告模板、簡歷模板等。實驗內容是通過在Word中插入日期選取器、格式文本、組合框等控件來固定合同的樣式,讓學生熟悉Word特有控件的使用方法。
3.在PPT中,要求學生制作一份銷售數據月報的幻燈片模板。該實驗可以擴展到展示Excel數據源的其他類型的幻燈片模板,如產品成本數據月報模板、員工工資數據月報模板。實驗內容是通過VBA把PPT的文本、圖表等對象的數據源指定到Excel工作表中,通過修改Excel工作表中的數據源就可以及時更新PPT中的內容。
結束語
國內各大高校越來越多地開設了VBA程序設計的相關課程,這對普及計算機程序設計基礎知識有很大的好處,無論文科還是理工科的學生在學習和工作中都離不開Office辦公軟件,學習VBA程序設計可以提高大學生的信息素養。
筆者在兩年的授課過程中也體會到了該課程對提高學生的計算機實用能力的作用,但作為教師還應清楚,該課程還需要在結合學生需求的案例設計上更下功夫,如結合Excel的規劃求解、數據透視表等功能,這樣才能更深入地發揮VBA的功能。
參考文獻:
[1]梁輝,李花.基于計算思維能力培養的Excel VBA教學研究[J].工業和信息化教育,2013(6).
[2]陸漢權,何欽銘,徐鏡春.基于計算思維的“大學計算機基礎”課程教學內容設計[J].中國大學教學,2012(9).