摘要:本文對目前中職院校開設程序設計課程進行分析,指出程序設計課應將案例教學與系統開發結合運用,二者相得益彰,能夠提高教學實效。
關鍵詞:程序設計課程;系統開發;案例教學
程序設計課程具有較強的工具性和實用性,注重培養學生敢用、會用并主動用所學的語言知識去解決具體問題,強調實際的動手能力和創新能力。在以往的教學中任課教師往往采用案例教學,學生能明白案例中體現的知識點,但如果要將這些知識點串起來共同使用或讓學生用幾個知識點設計一個小程序,學生常感到困難。學習程序語言最重要的目的就是讓學生通過這門課程的學習,切實地擁有開發程序,設計實用軟件的能力。因此,教師有必要在程序設計課中將案例教學與系統開發結合起來,實踐證明:教學效果良好,學生不僅掌握了知識點,而且知道如何去用。
一、案例教學與系統開發結合教學的特點
1.明確的目的性。
案例教學可以將課程中的知識點以案例的形式生動形象地表述,使學生學起來不悶,容易理解。而程序設計課不僅讓學生理解單個案例中的知識點,還要求學生通過案例的學習并融會貫通,在課程結束之后能開發出屬于自己的小軟件。這樣,方向明確了,學生會帶著目的和任務有重點去學習。
2.較強的綜合性。
開發系統不是幾個案例或幾個知識點的簡單羅列,它要求學生根據模塊的需要將多個案例或知識點綜合起來運用。例如,要做一個登錄窗口的模塊,有標簽、文本框、按鈕等控件的使用,還用到If…Then…Else…End If 這個條件判斷語句。這樣不僅能靈活掌握運用知識,學生的思維能力也會得到提高。
3.深刻的啟發性。
案例教學與系統開發過程由于帶有個人的創作過程,因而不存在絕對正確的答案,其目的在于啟發學生獨立自主地去思考、探索,注重培養學生獨立想問題的能力,引導學生在學習和實踐中建立一套屬于自己的分析、解決問題的能力。
4.突出實踐性。
想要掌握一門真正的學問,最重要的就是實踐。學生通過系統開發可以將理論知識融于實踐、可以碰到很多學習中意想不到的難題。學生之間可以通過討論研究、上網查找、翻閱書籍來共同解決問題。不僅增強了認真的學習態度、嚴謹的思考,還可以在共同努力中取長補短、增長智慧、促進友誼。
二、案例教學與系統開發教學法的實施
(一)開發系統的選擇。
程序設計課程教學最終的目的是要讓學生學會設計系統及開發系統,培養學生的實際動手能力和探究、創新能力,所以系統的選取至關重要。教師應準備好一個具有實際應用功能,適合學生掌握并理解的開發系統,系統不能過于復雜,系統里涉及的內容是學生接觸過或是比較熟悉的,系統的功能不要求很全面,只需含概課程中所學的知識點,在講解時可選用有代表性的功能模塊。下面,筆者將采用VB設計中的圖書管理系統具體說明。
(二)系統開發步驟與教學法具體實施。
學生在系統設計之初一定要清楚開發一個實際工程的基本流程,這樣才能在實踐中系統學習,全局把握設計方向。
1.前期準備。
系統開發講究過程,教師在正式講課之前首先要做的兩點是要告訴學生開發這個圖書管理系統的目的是方便使用者查書、借書、還書;方便圖書管理員管理圖書。因此,對于使用者和管理員來說所需要功能是不一樣的,這就是“需求分析”階段。需求分析是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、具體的要求。這一步是判斷系統開發好與壞并能否長期使用的關鍵,以及將來的使用過程中能否帶來預期的效益(給借書者和管理員帶來方便和快捷),即“可行性研究”階段。可行性研究最根本的任務是對以后的工作提出是否可行的建議。程序開發的目的是能讓工作變得更有效,人們用起來更方便。在教師的引導下,學生分成幾個小組討論圖書管理系統的功能模塊,即系統能給圖書管理員帶來哪些工作上的便捷、使用者如何方便迅速找到自己想要的圖書。最后確定如下表:

2.學習階段。
教師要將圖書管理系統這個大工程細分成一個個子窗體(每個子窗體實現一個功能),明確每個子窗體的作用并安排布局,即“總體設計”,階段,總體設計是要確定系統實現方案及系統的結構。總體設計就是要站在全局的高度,花較少成本,從較抽象的層次上分析對比多種可能的實現方案和系統結構,從中選擇最佳方案和最合理的系統結構,用較低成本開發出較高質量的系統。然后根據每個子窗體所含的知識點選擇典型案例和設計任務進行詳細系統教學,讓學生將理解到的知識點運用到系統中,這一步進入“詳細設計”階段。詳細設計是對系統結構細化,得到系統詳細的數據結構和算法。在這兩個設計階段中,主要工作是通過“案例教學”來講解VB中的知識點,案例的選擇既要包含本節課講解的內容,又要有一定的擴展性和深度,配合著系統開發的需要進行設置,即要以系統開發為中心,圍繞它展開學習。調動學生將學過的內容運用于開發自己的圖書管理系統中去。
在教學過程中,教師根據需要可實施如下幾種案例教學法:(1)案例講授法。教師在授課中,將知識點融入案例中,通過對案例的講解應用來說明知識點的用法,并舉一反三達到靈活運用。例如在講解在VB中“”和“+”字符串運算符的運算時,就可以通過列舉一些算式123”“456”、“Abs” 123、“123”+“456”、 “123”+456進行講解區別用法,還可以繼續思考“abc”+123、“ab”+”cd”的結果,達到掌握并區分知識點的作用。
(2)案例討論法。這是對某一知識點內容進行講授后,為了加強學習印象,鞏固學習效果,檢驗學習水平而組織學生進行的討論。它要求教師必須事先準備好有一定針對性和難度、有不同意見和結論的案例。可分小組討論,也可以全班討論,要讓大部分學生都有表達自己見解的機會。最后教師還要對學生中出現的不同意見進行評析。它有利于充分調動學生的主動性和積極性,增強參與意識,提高學生獨立思考、分析問題和解決問題的能力,也有利于訓練和提高學生的表達能力,創造生動活潑的教學局面。
(3)案例模擬法。教師先講課堂案例,然后出類似題目讓學生模擬操作。例如:在講到整型變量、單精度變量、雙精度變量所能保存數據范圍的不同時,教師先講5!代碼如下:
dim I as integer dim x as integer x=1
for I=1 to 5x=x*Inext Iprint \"x=\";x
按下F5求出正確結果,然后讓學生模擬求“10!”,這時有的學生會認為只有改一下for I=1 to 10就可以了,但是在求結果時卻出現“數據溢出”對話框,提示學生將x的變量integer改成single(單精度型)則結果出來。同樣在求“100!”的時候,學生應該知道要改x的變量integer為double(雙精度型)。通過案例模擬,讓學生在實踐和解決問題中自己去體驗知識點的應用,能達到更令人滿意的教學效果。
此外,案例中代碼的編寫對大部分學生來說是最難學的一塊,有些學生直至學完都看不會、讀不懂代碼。筆者認為代碼的學習要分三個階段:
(1)學會讀懂別人的代碼。代碼猶如文章,讀一段好代碼更像讀一篇好文章,可以得到很多的啟示和教育。引導學生多讀多思,在讀中理解別人的設計思想獲取更多解決問題的途徑。(2)自己試著寫簡單的代碼。學生不僅要學會模仿別人的代碼,還要嘗試多角度多方法對代碼進行適當改寫以觀察產生的效果,從而加深對程序的理解,提高創新能力。(3)學會自己編寫修改代碼。通過教師引導,學生大膽嘗試,使他們在嘗試中體會、感受和領悟不同代碼的運用。這期間,學生的理解掌握能力和創新能力各不相同,一定會遇到一些問題。對學生存在的共性問題,可由教師統一示范,集體解決;對個別學生的個別問題可作單獨輔導,并鼓勵學生要通過各種渠道如查看圖書、網絡、計算機雜志去尋找所需要的資料及解決問題的辦法。
3.程序的測試階段。
按照測試方案和流程對系統進行功能和性能測試,也就是看以后能不能滿足工作的需要。由于實例多、工作量大,難免會在程序的編寫中出現問題而導致不能正常運行或運行出錯。這要發揮小組同學的力量,一個學生不會的可能另一個學生會,學生之間的互助能解決更多出現的問題,同時,教師在適當的時候給予點撥。
4.程序的演示與評價階段。
到了學期末,每個小組都做出了成績,教師可以讓每個小組的組長作為代表進行演示。在演示過程中,每組的組長要在總體上說明自己的系統要實現哪些功能,如何實現的,還有哪些需要修改的地方。其他組的成員要發表觀點評價系統的可用性、可觀性及存在的不足。期末評價考核要采用靈活多樣的辦法,將平時作業上交情況、小節綜合測試成績、小組課程設計個人完成情況及個人平時的課堂表現綜合起來進行評價打分,要讓學生注重的是學習的過程,而不單單是考試的結果。
教學過程中,系統開發和案例教學是貫穿使用的,系統開發是個大框架,它離不開案例的講解,案例的講解能夠加深對知識點的消化吸收乃至整個系統的完成,所以我們要不斷收集學生在完成案例過程中的反饋信息,從而動態地調整兩者之間的使用。
(三)實施案例教學與系統開發結合必須加強教師素養及能力的提高。
在教學實施過程中,對教師的專業素質提出很高的要求,只有教師的程序語言使用經驗豐富,才能精選切實可行的案例達到培養學生應用編程能力的目的。學好一門語言最好的方法就是多實踐多參與程序設計,這樣才能遇到更多的技術難題,積累更多的解決問題的經驗。因此,要想順利完成案例與系統開發的結合教學,教師一定要提高自己程序語言設計能力,有機會多參與項目開發。事實證明:教師的實踐經驗越豐富,講法越靈活,對案例和內容的選擇越精準,講課效果越生動,越能夠拓展學生的編程能力,提高學生編程水平。
三、學校提供程序設計專業所需要的配套設備設施
程序設計專業有時要運行較大的程序,這就要求配套電腦的內存要足夠,以免運行時經常發生死機、慢機等情況,影響教學進度。由于代碼多,經常要改寫錯誤,因此對屏幕的要求最好是液晶顯示屏來保護眼睛。有能力的學校可以單獨準備1~2間機房供編程專業學生學習,以免在共用機房里經常發生模塊和代碼等被惡意刪除的現象。
四、結語
案例與系統開發相結合,使教學與實踐相結合,學以致用,提高了學生動手動腦的能力,在比較真實的環境中,既學到了知識,又學會了分析問題解決問題的方法。雖然在運作上難度較傳統教學規模要大,但明顯的效果還是值得推廣應用,也需要教師在教學中進一步去實踐和摸索更多更有效的方法。
(作者單位:廣東省嶺南工商第一技師學院)
參考文獻:
[1]林陳雷,郭安源,葛曉東.Visual Basic 教育信息化系統開發實例導航[M].北京:人民郵電出版社,2003.
[2]張繼學.案例教學及其在國內的發展研究[J].職業教育研究 ,2004,(11).
責任編輯:朱守鋰