【摘 要】本文結合民辦高校辦學特點,以培養當前社會應用型人才為目標,對程序設計類課程在實踐教學中遇到的問題進行分析與探索,從實踐性教學的內涵、組織、考核等方面探討了實踐性教學方法。
【關鍵詞】民辦高校;應用型人才;實踐性教學
一、實踐性教學的內涵
計算機程序設計語言快速變化以及學生學習效果差強人意給高校程序設計課程的教學帶來了很大的困惑,很大一部分計算機專業的本科生畢業后不會寫程序。究其根源在于目前我國高校對于程序設計課程的教學仍然普遍偏重于采用“以教師為中心,教師講、學生聽”為特征的傳統教學模式。在這種教學模式下,學生的學習興趣不高,知識再生能力也沒有得到培養。程序設計類課程是實踐性非常強的課程,學習和掌握它需要進行大量的上機實踐。實踐性教學是指為配合理論教學,培養學生分析問題和解決問題的能力,加強專業訓練和鍛煉學生實踐能力而設置的教學環節,通常有兩種落實途徑:一是隨堂實踐,即課程作業、實驗、上機操作等;二是集中實踐,即社會調查、各類實習及見習、課程設計以及畢業論文或畢業設計。目前高校的上機實踐多數僅滿足于對部分理論知識的驗證,對于具備針對性或直接面向實際問題的綜合性訓練還不能完全滿足培養應用型人才的需要。近年來我校已經逐步加大力度,積極修訂教學培養方案,增設了部分課程的課程設計這一教學環節效果喜人。并且積極與多家用人單位聯合開設校內外的實習基地供學生實踐。多年的努力已經初顯成效。程序設計類課程實踐性教學標目的是培養學生兩個方面的能力:即獨立編程能力和項目合作開發能力。一方面,能夠利用所學語言和平臺設計小型軟件,同時能夠按照項目分工,負責人的統一安排下,在技術上服從既定的設計方案完成模塊的開發,并做好相應的文檔。良好的責任心、解決問題的獨立編程能力和分工合作制的團結協作精神是必須重點培養的內容。程序設計類課程實踐性教學的內涵如圖1所示:
二、實踐性教學的組織
實踐性教學的組織一般應包括3個環節:課程實驗、課程設計、校內外實踐,分階段實施。課程實驗在學期開始1至15周結合理論課針對知識點練習,課程設計安排在16至18周進行,校內外實踐可以安排在假期、課外和大四的第二學期進行。(1)課程實驗。課程實驗注重學生理解和消化課堂講授的知識,偏重于如何編寫功能單一的“小”算法,局限于一個或兩個知識點,運用這些知識解決一些具體的算法設計問題,培養學生的動手能力,并養成良好的程序設計風格,為后一階段的課程設計做準備。教師指導時,要注意培養學生良好的編程習慣,包括標識符的規范化命名、注釋語句的廣泛運用、編程語句的縮進格式、幫助文檔的使用方法,逐漸形成編程思想。為了配合實踐性教學,最好采用案例教學法或者任務驅動教學法并選擇對應教材。所謂任務驅動教學法,就是讓學生在一個典型的信息處理“任務”的驅動下展開教學活動,引導學生由簡到繁、由易到難、循序漸進地完成一系列“任務”,從而得到清晰的思路、方法和知識的脈絡,在完成“任務”的過程中,培養分析問題、解決問題以及用計算機處理信息的能力,為學生創造良好的學習環境,讓學生通過適當努力,能順利完成一個個具體的任務,掌握學習內容,獲得成功的體驗。(2)課程設計。課程設計是軟件設計的綜合訓練,包括問題分析,總體結構設計,用戶界面設計、程序設計基本技能和技巧,多人合作,以至一整套軟件工作規范的訓練和科學作風的培養,對學生的一種全面綜合訓練,是與課堂聽講、自學和練習相輔相成的、必不可少的一個教學環節。這一階段模擬軟件企業的開發流程組成小組,共同完成一個中小型項目的設計,一般安排在課程學習后幾周進行。學生以小組為單位,每個小組安排組長(項目負責人)1人,項目負責人組織討論并根據不同的情況對小組人員進行分工,如果是一個小的階段項目,每個小組成員都有完成所有內容,完成后選出最好的作品上交。如果是一個大的項目,要對小組成員進行合理分工并設法完成。該階段可以鍛煉學生分析問題解決問題的能力,雖然老師已經給出了解決方案,講解了知識點,但學生還面臨很多細節要解決,他們得到了開發新的解決方案的權利,只要能完成項目,使用何種方法取決于學生。他們可以在互相協作的同時鞏固新知識,由于是在實踐中學到的,記憶十分深刻。在這個過程中,老師的任務是設計難易適當的項目,全程進行輔導。選擇課題時,不宜太復雜,應盡可能讓大多數課題組可以在規定的時間內做完。一般選取學生比較熟悉的內容,如學生成績管理系統、班級管理系統、教材管理系統、倉庫管理系統、工資管理系統、就業反饋跟蹤系統、水電費管理系統等,這些課題的要求學生比較清楚,在校內即可進行客戶調研和需求分析,同時也具有較強的推廣價值,為將來的就業奠定基礎。因為涉及到數據庫、界面、網絡通信、硬件編程等方面的知識,要求每個學生都應該至少準備一本項目開發類指導書作為參考。(3)校內外實踐。校內外實踐是學生到軟件研發企業(校內外實訓基地)全程參與項目開發的過程,一般利用假期實習和大四第二學期實習,因為經過了課程設計,學生基本掌握了軟件企業的開發流程和一般方法,進入軟件公司后就能夠較快地進入程序員角色。讓學生到學校實習基地或相關企業參與程序設計工作,使學生在真實的環境中培養編程能力和職業能力。這個階段主要由企業專家負責,導師協助管理,共同完成對學生編程能力的培養。
三、效果的考核
程序設計類課程實踐性教學效果的考核既要考核學生的獨立編程能力,也要考查其團隊協作精神,同時還要考查其組織能力、表達能力、文檔編寫能力、紀律性等。為了客觀科學地評價學生,可以采用分階段考核,各部分按照一定的比例綜合得到總成績。在課程實驗階段,可以由任課教師根據每一次操作任務的完成情況進行登記評分,重點考查其規范程度,對于具有創新性的作品,可以適當加分,并在全班展示,讓設計者講解思路,為其他同學提供啟示。課程設計階段的考核由指導教師組織,在項目的每個階段開始,教師根據每個階段的不同要求,向學生介紹本階段需要完成的任務;在項目每個階段結束,教師都會對學生本階段的工作進行評估。在階段評估的時候不僅要考核知識的熟練運用,而且要考核軟件工程管理的規范性。對于考核形式可以采用多種方式進行,不拘一格,如現場答辯、隨機抽題、項目論文等。最后的課程設計分數將是每一個階段評估結果的綜合。
從近幾年學生的反饋情況看,實踐性教學改革收到了可喜的效果,學生在校期間已經具備了一定的經驗,走入社會即可迅速融入開發團隊,而我們廣大教師將一如既往的遵循本校辦學思路:積極研究高等教育和計算機學科的發展趨勢,引進先進的教學理念、教學內容和教學方法;完善課程體系結構,強化核心課程和專業特色課程,突出能力培養型課程;加強課程之間的融會貫通,增強知識的系統性,應用能力的創新性;立足人才需求動態,結合自身實際,主動轉變教育思路,更新教育觀念,及時調整學科方向和課程設置,推進教育創新。圍繞培養學生解決問題的能力,動手能力、創新綜合應用能力而努力。
參 考 文 獻
[1]楊靜,王浩,方寶富,姚宏亮,張晶.程序設計課程教學改革探討[J].吉林大學學報,2005
[2]胡伏湘.軟件設計類課程實踐性教學的研究與實踐[J].計算機教育.2008
[3]黃杰,何宗鍵.基于項目的實驗課程改革探索與實踐[J]. 計算機教育.2008