李錫輝,王 櫻
(湖南信息職業技術學院 計算機工程系,湖南 長沙 410200)
程序設計類課程是計算機專業的必修課,在計算機類專業的課程體系中,至少開設2門以上的程序設計類課程,是實現專業培養目標的基石和核心。然而程序設計類課程都存在著概念抽象、語法繁多、數據結構復雜等特點,傳統的學習過程偏重語法知識的學習,即使教學過程中采用案例法、分組法等教學方法,也僅僅是為了驗證知識的正確性和合理性,教學仍是基于“灌輸”的理念,致使學生的學習興趣不高,知識再生能力較差[1-2]。鑒于此,以培養學生解決實際問題能力為切入點,選取軟件技術專業“ASP.NET程序設計”、“SQL Server數據庫程序設計”和“WinForm應用程序設計”3門程序設計課程進行分析、對比和研究,對該類課程在設計模式、教學實施策略和評價體系等方面進行了有益的改革和創新,取得了良好的實踐效果。
課程設計的內涵不僅是課程目標的分析,更為重要的是為學習者提供對現實的多元表征,通過呈現真實性的任務來創設問題情境,學生在問題情境的實踐過程中,獲得建構意義上的知識[3]。程序設計類課程通常對應軟件項目開發中編碼階段的知識與技能,是學生職業能力發展的基石。在程序設計類課程的教學設計中,很多教師采用案例模式和情境模式進行教學設計,內容的組織按照語法、語言結構及對象的應用來安排,這種方式雖然較傳統模式有了較大的改進,但始終沒有徹底擺脫學科性教育的藩籬,培養的學生缺乏對軟件項目的系統化認知,在面對實際應用問題時,往往不知如何將所學知識應用到實際開發中,造成學校培養與企業需求的脫節[4-6]。
基于目標分解的課程設計模式,則是以軟件工程的系統化為原則,采用“大案例,一案到底”模式,用一個完整案例的實現貫穿整個課程,課程的目標就是教學生完成一個與課程相關的實際項目[7-8]。課程的組織以大案例的實現為目標,按照實際任務完成時的操作過程進行逐層任務分解,構建有任務分解邏輯關系的課程實踐系統,并在此基礎上,再確定每門課程中每一個最底層子任務所需要的知識結構,完成學科體系知識的解構和重構,如圖1所示。

圖1 目標分解課程設計模式圖
按照基于目標分解課程設計理論,對“ASP.NET程序設計”課程選用與學生生活密切相關的真實Web應用系統“校園在線超市”為大案例,根據對該系統的需求分析,將大案例按功能分解成相對獨立的7個模塊,共15個子任務,每個任務都是Web應用程序開發的典型任務;“SQL Server數據庫”課程選用“學生選課系統”為大案例,按大案例的設計、數據檢索和管理分成10個模塊,共31個子任務,每個任務都是數據庫系統設計與操縱的典型任務;“WinForm應用程序開發”課程選用“教材管理系統”為大案例,按該系統的設計與實現為主線,將大案例分成9個模塊,共17個子任務的課程實踐系統[9-10]。對大案例的逐層分解、構建程序設計類課程有任務分解邏輯關系的課程實踐系統,保證了課程內容的系統性和完整性,課程教學的目標性和可操作性更強。通過系統功能逐個實現及實踐任務逐層遞進的設計方法,有效摒棄了傳統教學中拿著書本教語言教不會、學不懂的教學現狀,實現學習者有目的的知識建構,促進學習者有意義的學習。
教學模式是在教學思想或教學理論指導下建立起來的較為穩定的教學活動結構框架和活動程序[11]。建構主義心理學家喬納森指出,學習是學習者探索、實驗、建構和反思的過程。在基于目標分解的設計模式下,程序設計類的課程教學實施,強調學生在實際任務的引導下,探究性地完成相應任務,并學習和鞏固新的知識,在不斷的實踐操作中發現和解決新的問題,獲得知識和經驗的建構。課堂教學設計中,以大案例為載體,每一個模塊的教學都實施“引練評講,四位一體”實踐教學模式。其中,以“引”創設情境,引入實現的方法和知識;以“練”實現任務,練習解決任務的能力;以“評”分析存在的問題,通過學生自評、互評和教師評價等形式,分析實現過程中的不足;以“講”擴充知識,根據案例的演化適時加入新的知識和技能,引導學習者深入思考,啟迪思路,實現知識的螺旋式上升,實踐教學模式如圖2所示。

圖2 實踐教學模式圖
例如,在“ASP.NET程序設計”課程的“動態更換網站主題”任務的教學實踐中,先通過QQ空間、大學城等網站的主題更換演示,引出動態主題變化在Web應用網站開發中的必要性;激發學生的興趣,并通過引導文提示學生思考解決任務的關鍵技術是Theme的運用;在教師指導下,學生通過資源共享課平臺進行自主學習(視頻、資料及社區等)獲取解決問題的方法,并實現任務;教師通過展示各小組的作品,來呈現任務實現的效果及不足,如發現很多小組在頁面切換后沒有保存更換后的主題;最后,教師補充講授通過Session對象的運用保存主題的方案,并提出“怎樣實現加載用戶在上一次登錄時設置好的主題”的新問題。“引練評講”不斷迭代的教學模式,可以有效激發學生學習的積極性和主動性,通過知識和技能的迭代進行,學生自主學習能力、實踐能力和交流合作能力都得到了明顯提高,學生的編程思維得到有效改善。
為有效支撐該模式的實施,還應注重教學手段的革新和教學配套資源的建設。充分利用專業項目室,構建真實的企業環境,讓學生在項目開發過程中,使所學知識得到鞏固和提升;以資源共享課、精品課程和大學城空間為平臺,將學習延伸到課堂之外;采用學習載體的置換,開發了課程案例庫。整理和開發各案例技術文檔、課程標準、教案、電子課件、課程錄像、技術博客、案例演示,試題庫、在線測試與交流等立體化課程資源供教師教學和學習者參考。
學習者在意義建構活動中表現出的能力不是單一維度的數值反映,而應是多維度和綜合能力的體現。加德納倡導的多智元理論強調,考核不應是檢測學習者記住了多少知識,而應考核學習者獲取知識和運用知識的能力[12-13]。對學習者必須進行不同維度的綜合評價,才能全面反映學習者的學習狀況和成果。
在程序設計類課程評價體系構建中,以課程目標為基本依據,以運用編程思維來解決實際問題的能力為重點,科學合理地設計評價方案和內容,全面檢測學習過程、學習態度和學習效果。堅持以能力考核為主,強調形成性過程考核,包括:大案例各模塊的實踐能力考核;學習空間建設情況、課堂表現、團隊協作及學習態度的考核。課程終結性考核采用項目檢驗的方式,建立了課程考核試題庫,采用開卷和隨機抽取試題的方式,注重學生分析和解決問題的能力。形成以大案例為載體,模塊考核+綜合考核+作品考核+公共考核的評價體系,評價體系如圖3所示。

圖3 評價體系
實施多元考核、項目檢驗的評價體系有利于促進學習者實踐能力和創新能力的綜合發展,從而使教學工作的重點落實到學生能力培養和素質提高上。
以大案例實現為目標,基于目標分解的教學設計模式和多元評價體系,把提高學生運用知識處理或解決實際問題的能力作為課程開發和教學實施的主要依據,有效保證了人才培養質量,在多年的教學實踐中得到了有效驗證和推廣應用,在專業建設、課程建設及人才培養質量等方面成效顯著。該研究成果獲湖南省第十屆高等教育教學成果一等獎(湘教通[2013]541號)。
[1] 喬淑去,黃剛.程序設計類課程教學改革與計算思維之培養[J].計算機教育,2010(19):17-20.
[2] 汪曉霞.程序設計類課程學習中學習者特征對學習績效的影響[D].昆明:云南師范大學,2009.
[3] 姜大源.基于學習情境的建設觀[J].中國職業技術教育,2005(28):1.
[4] 李瑞生,王秋云,安德智,等.計算機程序設計類課程實踐教學的改革與創新[J].實驗技術與管理,2012,29(4):183-185,198.
[5] 都桂英.高職院校《網頁設計》課程教學設計[J].教育理論與實踐,2010,30(9):57-59.
[6] 陳杰華,戴麗娟.以培養計算機思維為核心的程序設計實驗教學[J].實驗技術與管理,2011,28(1):125-127.
[7] 陳煥文.高職院校人才培養的系統分析與設計[J].當代教育論壇:管理研究,20102,9(12):100-102.
[8] 李錫輝,王櫻.大案例貫穿的ASP.NET程序設計課程的開發與實踐[J].順德職業技術學院學報,2012,10(2):58-60.
[9] 李錫輝,王櫻. ASP.NET網站開發實例教程[M].北京:清華大學出版社,2011.
[10] 李錫輝,朱清妍. SQL Server2008數據庫案例教程[M].北京:清華大學出版社,2011.
[11] 梁成艾,朱德全,金盛.職業教育項目主題式課程模式的建構[J].職業技術教育,2011,32(635):24-28.
[12] 郭川軍.多元智能理論在計算機專業人才培養中的應用[J].教育探索,2009(6):20-21.
[13] 金凡路.職業教育立體多元化項目主題式教學評價構想[J].職教論壇,2011(3):61-64.