趙立波
摘 要:軟件工程專業近幾年來一直是熱門專業,如何培養合格的軟件人才也是各個高校研究的重要課題。通過將相關課程建設成課程群,以課程群為單位制定教學大綱、編寫教案,實施教學計劃,以課程群為單位制定合理的考核方案,通過實踐證明能夠達到良好的教學效果。
關鍵詞:軟件工程;課程群;人才培養
中圖分類號:G640 文獻標志碼:A 文章編號:2096-000X(2019)04-0058-03
Abstract: Software engineering has been a hot topic in recent years. How to train qualified software talents is also an important topic for research in various universities. By constructing relevant courses into course groups, the syllabus will be formulated in the course group as a unit, the teaching plans will be prepared, the teaching plan will be implemented, and a reasonable evaluation plan will be formulated on the basis of the course group, and good teaching results can be achieved through practice.
Keywords: software engineering; course groups; personnel training
引言
軟件工程專業從招生和就業情況來看,近年來一直呈現上升趨勢[1]。軟件工程的人才培養方案更注重加強學生的工程實踐能力,很多專業課程都加大了實踐課程的比重,但僅僅這樣是不夠的。首先,一些理論性較強的學科,鑒于學科特點,本身并沒有好的實踐方案;其次,課程與課程之間的分散性和低耦合度,使得教師在授課、學生在學習的過程中很難有針對綜合實踐能力的訓練。針對這種情況,如果在制定人才培養方案時注重課程之間的特點和聯系,將原本獨立的課程劃分為課程群,在授課過程中制定有效的授課方案,讓學生在學習過程中體會到課程之間的聯系,將原來孤立的知識串聯起來,綜合實踐能力將大大提高。
軟件工程導論課程作為軟件工程專業的核心課程,其重要性一直得到大家的認可,但是在實際教學過程中,效果卻不盡如人意。課程的主要內容是講授在軟件實施過程中的一系列科學的方法,指導軟件開發的有效性和高效性,但是由于課程內容本身太過理論化,向來有著難教、難學、難懂的幾個特征。甚至有的學生在學過之后還是不明白此門課程的作用是什么,更別提將其中的知識應用于工程實踐中。將這兩種特點的課程結合起來,使理論有實踐經驗,使實踐有理論為指導,達到良好的教學效果。
本文將以軟件工程導論課程為中心建立的課程群的教學方法為例,探討軟件工程專業課程群的實際實踐方法。
一、課程群意義及標準
將原本獨立的課程建設成課程群,是為了更好地達成學生能力培養的目標。經過多年教學實踐證明,單一課程很難獨立完成培養學生的能力目標,每門課自說自話,即使在設置課程時考慮到課程前后關聯,但是在授課時又完全獨立,互不干涉,自己有自己的培養目標,這導致了學生難以對知識進行串聯,在頭腦中不能形成知識鏈條,更少有同學將其綜合、提升、應用了。課程群將幾門相關、能夠改變之前每門課程單獨作戰的局面,對于在授課過程中將各門課的培養目標綜合為課程群的培養目標。每門課要針對課程群的培養目標重新安排課時、進度、內容,以便與課程群內的其他課程做好銜接,弱化課程的獨立性,強化課程之間的耦合性。課程群的設立標準是課程之間要有關聯性、整合性[2],課程之間在能力培養和知識點上能夠互補,彼此能夠促進,使各課程更具完整性,課程群內課程以兩到三門為好,由于專業課特性所限,過多的課程組成課程群,不便協調,也不利于課程講授。
二、軟件工程類課程群
(一)課程設置
軟件工程專業的學生不僅要學會相關技術,更應該掌握如何以工程學的標準做軟件開發的能力。軟件工程類課程群并不是指所有課程都是軟件工程類中的,例如:軟件建模技術、軟件項目管理、軟件質量保證與測試等,這些課程雖然相關性極高,但并不符合課程群建設中學生能力培養的互補原則。另外,一些縱向課程確實存在前導后續關系[3,4],教學內容上也會互補,但是由于時間的先后關系,使得兩門課程很難實現大量的交流與具體內容的協調,因此我們嘗試的課程群建設不是縱向課程群,而是橫向課程群的建設,即不是前導、后續課程之間的課程建立課程群,而是在并行課中建設課程群,或者說將適合作為課程群的課程設置為并行課程。
軟件工程導論課程與同期開設的面向對象語言課程、數據庫原理及應用兩門課程能夠為軟件工程導論課程提供實踐手段,而軟件工程導論課程又為這兩門課程提供理論指導。
(二)教學實施
在教學實施前,三門課程確定好課程群的教學目標、實施過程及考核方式,并在實施過程中不斷交流,及時修改、調整授課內容和方式。
三門課程的教師對班級同學進行分組教學[5]。軟件開發工作大多以團隊工作為主,分組教學的目的是為了鍛煉學生的團隊合作能力。在后期的實踐中每組中推選出真實項目組的角色:項目經理、設計師、工程師、測試人員,可以一人兼任多角。每組四人,在軟件工程實驗課中,按照軟件工程的方法學,對系統進行分析、設計,課后使用面向對象的語言課程作為前臺界面和業務邏輯,使用數據庫技術存儲數據,完成一個完整的系統。
從實施過程來講,首先,在進度上和課時安排上,三門課程要彼此協調。在課程的前半段,三門課程彼此關聯比較小,進行到課程中后段,彼此關聯越來越多,教學內容上,教師在授課時以本課程內容為主。理論教學中,每門課程的教師都以本課程內容為主。實踐教學中,教學內容的設定將與非課程群授課不同。實踐內容對于每位學生并非千篇一律,每組同學選定一個題目,組內每名同學根據自己的分工,確定自己的內容,或者共同商議完成相應內容。
理想狀態下,教學過程中應有過程考核,可分為:開題考核、期中考核和結果考核,考核形式采用翻轉課堂的形式,每組課前準備材料,在課上輪流向老師和同學展示任務進度。展示內容按設計理念、程序設計、數據庫設計,每次展示中,學生和老師根據內容、完成進度、展示質量給出分數。過程監督可以督促每組保質保量的完成任務,對于學生也是相互借鑒和促進,同時也鍛煉學生的表達能力,增加邏輯性和條理性。但是由于課時、場地、老師的授課時間的沖突,也可以省略開題考核和期中考核,過程由教師在日常課堂中進行監督。
(三)考核標準
在課程群供同學授課的方式中,最后的考核與傳統單獨授課考核標準的不同體現在對學生實踐成果的考核。對于程序設計類課程,考核方式是上機+筆試,而軟件工程導論和數據原理課程考核形式則為單一的筆試。課程群建設后,三門課程都可以加入工程的形式來考核,使考核結果更全面。考核中,每門課程需要提交的材料也是不同的。對于軟件工程,學生需要提交各個階段中完成的文檔,包括:可行性分析報告、需求分析報告、設計文檔。程序設計課程則需要提供一個完整的程序。對于數據庫課程,需要提供數據庫(和程序一起運行),數據庫設計可以寫在設計文檔中。
考核中,不僅要參考教師的意見,也要參考同組同學與其他組同學的意見,最后實踐成績的組成是由組內互評(20%)+小組互評(30%)+教師評價(50%)共同組成。
因此制定了具體的考核標準,以對學生打分。組內互評的打分標準如表1所示。
小組互評的打分標準如表2所示。
組內互評和小組互評的成績是每一門課程都采納的,教師的打分依據的是課程的具體要求。
三、結束語
實踐過程中,我們也發現了一些局限性,例如,并非所有課程都可以建設成為平行開課的課程群,另外,可以建設課程群的課程,在課時的安排、進度的安排上、實踐的安排上都會有一些困難。但同時也看到采用以軟件工程課程為核心的課程群授課方式,學生的工程實踐能力得到了提升,對軟件工程這門理論課的認識加深了,對于數據庫如何與程序結合做出完整的系統有了認識,從實踐上認識到數據庫設計的原理。對于程序設計語言,更是脫離了之前盲目做程序的狀態。由此可見,以課程群為單位進行教學還是可以取得良好的教學效果的。
參考文獻:
[1]金英,馬吉權,青巴圖.軟件工程人才培養的創新與實踐——以黑龍江大學軟件工程專業“頂石”課程設置為例[J].黑龍江教育(理論與實踐),2018(09):52-53.
[2]畢津源.畢業生就業情況研究——以軟件工程為例[J].中國市場,2017(09):31-32.
[3]孫琦龍.創新型軟件工程人才培養體系研究與實踐[J].軟件工程師,2015,18(10):63-64+62.
[4]龍陳鋒,賀智勇,傅卓軍,等.軟件工程方向課程群建設探索[J].計算機教育,2012(22):72-75+82.
[5]呂會慶,張巍.軟件工程專業課程群建設教學實踐[J].計算機教育,2012(14):27-29.