黃焱
摘要:基于軟件工程課程的特點,提出軟件工程課程思政的總體思路,挖掘理論和實踐環(huán)節(jié)的課程思政元素,探索基于課程思政的課程評價方法,將課程思政融入軟件工程課程教學環(huán)節(jié),實踐樹德立人的教學目標。
關鍵詞:軟件工程;課程思政;思政元素
中圖分類號:G642? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)35-0122-03
1 概述
課程思政是以構建全員、全程、全課程育人格局的形式將各類課程與思想政治理論課同向同行,形成協(xié)同效應,把“立德樹人”作為教育的根本任務的一種綜合教育理念[1]。
軟件工程是高校計算機學科各專業(yè)的專業(yè)必修課程,課程的培養(yǎng)目標是將軟件工程的理論與軟件開發(fā)實踐相結合,旨在培養(yǎng)學生運用軟件工程基本原理解決實際問題,以及從事復雜軟件項目開發(fā)和維護的實踐應用能力與創(chuàng)新能力[2]。軟件工程課程立足于工程化角度,從技術和管理等方面規(guī)范和指導軟件的開發(fā)過程,本文從強化創(chuàng)新意識、科學素養(yǎng)、生活處事哲理等方面對軟件工程課程思政教學方法進行研究與探索[3]。
2 軟件工程課程思政的總體思路
2.1 總體目標
軟件工程課程思政通過緊密跟蹤社會需求和軟件工程學科發(fā)展前沿動態(tài),積極開展教學和科學研究,將課程思政融入學科、教學、教材等專業(yè)體系當中,積極探索“課程思政”的教學培養(yǎng)模式。本課程在課程思政方面的建設目標是培養(yǎng)學生愛國情懷、科學精神、團隊協(xié)作能力、道德法治、民族自信及創(chuàng)新意識、人文素養(yǎng)等。
2.2 實施方法
軟件工程是理論與實踐相結合的課程,課程思政教學需要通過課堂案例分析、課外任務拓展、團隊項目合作等方式將課程思政融入課堂內外。
課堂案例:在理論環(huán)節(jié),將思政元素以小故事和行業(yè)案例的形式引入課堂,引導學生進行思考與討論,不能生硬地加入課堂。
課外拓展:組織學生觀看計算機行業(yè)會議,培養(yǎng)學生專業(yè)興趣和專業(yè)自豪感,激發(fā)其愛國情懷、民族自信及創(chuàng)新意識;組織參與網(wǎng)絡招聘會,了解業(yè)界的真實需求,確定自己的目標,促使學生腳踏實地學習專業(yè)知識。
團隊項目:在課程設計環(huán)節(jié),學生分組共同完成一個真實的軟件項目,培養(yǎng)學生團隊合作能力,踐行課程思政理念。
軟件工程課程思政的總體思路如圖1所示。
3 軟件工程課程的思政元素
軟件生命周期貫穿了軟件工程課程的全過程,本課程根據(jù)軟件生命周期劃分教學模塊,挖掘各教學模塊的思政元素,將其融入理論和實踐環(huán)節(jié)。各教學模塊的思政元素如表1所示。
3.1 理論課程的思政元素
1)軟件工程概述中的思政元素
軟件工程概述主要講解軟件工程學科的誕生和發(fā)展。這一部分從軟件產(chǎn)業(yè)講起,讓學生了解我國軟件產(chǎn)業(yè)的發(fā)展現(xiàn)狀,意識到自主、安全、可控的計算機軟件對于國家的戰(zhàn)略性意義,是我國大力發(fā)展的重要領域,啟發(fā)學生科技報國的意識。通過對國內信創(chuàng)產(chǎn)業(yè)案例的講解,激發(fā)學生投身信創(chuàng)產(chǎn)業(yè)的熱情。
隨著軟件規(guī)模的不斷增大,軟件危機出現(xiàn)了。為了應對軟件危機,軟件工程學科應運而生,軟件產(chǎn)業(yè)迎來了發(fā)展的機遇期。通過對軟件危機的講解,引導學生樹立危機意識。告訴學生出現(xiàn)問題不可怕,問題的出現(xiàn)既是挑戰(zhàn)也是機遇,引導學生直面自己成長中遇到的問題,從問題中尋找機遇。
2)軟件過程中的思政元素
軟件過程是軟件開發(fā)的方法論,包括基本過程、支持過程和組織過程。與任何事物的生命周期類似,軟件生命周期包含了軟件從誕生到消亡的全過程。生命周期理論有助于引導學生從全局的高度認識自身,清楚地認識自己當前處于哪個階段,過去已經(jīng)經(jīng)歷了什么,將來還要經(jīng)歷什么。壯志在胸、路在腳下、把握當下,做好當前的事情,這樣才能抓住機遇、贏在未來。
軟件工程的三要素是方法、工具、過程。這三要素是學習軟件工程的關鍵,也是學生成長、求學道路上需要注意的關鍵問題。學生在學習過程中需要講究方法論,如果不講究學習方法,不注重勞逸結合,可能會出現(xiàn)學習效率低下的問題。學生在學習過程中需要借助學習工具,集中注意力,提高學習效率。結果固然重要,但過程更重要,腳踏實地走好每一步,結果自然水到渠成。
3)項目管理中的思政元素
軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對人員、產(chǎn)品、過程和項目進行分析和管理的活動,涉及的范圍覆蓋了整個軟件工程全過程[4]。學生的成長道路上有不少大大小小的“項目”,如考證、升學、就業(yè)等,學生可將項目管理的知識進行靈活運用。軟件規(guī)模估算是進度管理、成本估算的基礎,軟件規(guī)模估算可采用自上而下的方式對項目功能進行分解匯總得到。學生需要對這些項目的工作量進行正確的評估,對其可行性進行正確的評估,從而對項目的進度做出合理的規(guī)劃,培養(yǎng)學生的自我規(guī)劃意識。在項目全過程進行質量控制,為項目的成功保駕護航。同時學生需要在項目管理中具有風險意識,及時發(fā)現(xiàn)蘊含的主要風險,對風險發(fā)生的概率和后果嚴重程度進行評估,在項目的執(zhí)行過程中對風險進行監(jiān)控,風險出現(xiàn)后給出應對措施,培養(yǎng)學生的風險管理意識。
4)需求分析中的思政元素
在需求分析環(huán)節(jié)需回答的核心問題是用戶的需求是什么。這是系統(tǒng)分析、設計、實現(xiàn)的起點,也是軟件項目失敗的重要原因。需求分析階段需從用戶角度描述系統(tǒng)必須完成的任務。這就需要學生學會換位思考,試著站在別人的角度來看待問題,不能以自我為中心看待問題。需求分析階段需要對用戶的需求做深入調研,沒有調研就沒有發(fā)言權。調研方式有面談、需求專題研討會、觀察用戶工作流程等。以用戶的角色深入?yún)⑴c到用戶的工作中可以真實地體驗用戶的需求,再加上換位思考,才能有效地獲取用戶的需求。通過多種渠道了解用戶需求,鍛煉學生的溝通能力,培養(yǎng)學生的利他精神。
5)總體設計中的思政元素
總體設計階段的主要任務是設計程序的系統(tǒng)結構,回答“總的來說如何實現(xiàn)目標系統(tǒng)”[5]??傮w設計階段要對項目進行頂層設計,這就要求設計者具有大局觀,這有助于培養(yǎng)學生的全局意識?!安蛔R廬山真面目,只緣身在此山中”,遇到問題、解決問題的時候引導學生跳出局部,從總體上看一看,不要一下子鉆到細節(jié)里。
學生的成長也需要總體設計,軟件工程的設計思想可以運用到學生的成長中。引導學生根據(jù)自己的特點,制定中長期目標,規(guī)劃設計大學期間的成長總體路線,進行合理安排學習、娛樂、社交等活動,開闊視野,增強大局意識,最大限度發(fā)揮專業(yè)課的人才培養(yǎng)作用。
6)詳細設計中的思政元素
詳細設計階段主要回答“應該怎樣具體實現(xiàn)目標系統(tǒng)”。這個階段是對總體設計階段的系統(tǒng)結構進行細化,具體設計每個子模塊的接口、數(shù)據(jù)結構、算法等。這一階段考查的不是創(chuàng)新能力,而是根據(jù)總體設計的方向,落實設計細節(jié)的能力。詳細設計的好壞直接決定了系統(tǒng)的質量,這個階段引導學生以一絲不茍的嚴謹態(tài)度,落實每一處設計細節(jié),為后續(xù)軟件實現(xiàn)提供良好的設計。
7)軟件實現(xiàn)中的思政元素
軟件實現(xiàn)階段的任務是寫出正確、容易理解、容易維護的程序代碼?!扒Ю镏校加谧阆隆?,“不積跬步,無以至千里”,精美的設計,最終需要通過一行一行的代碼來體現(xiàn)。這個階段的工作量大、枯燥,鍛煉學生任勞任怨和擔當?shù)木?。一個軟件如果代碼質量低下,即使其界面精美、設計高級,也是“金玉其外,敗絮其中”。系統(tǒng)實現(xiàn)階段可以鍛煉學生“工匠精神”,引導學生像對待藝術品一樣,對待自己寫的程序。通過踏踏實實工作,一點一滴地實現(xiàn)目標。
8)軟件測試中的思政元素
軟件測試的任務是通過各種類型的測試使軟件達到預定的要求。軟件測試的目的是證明程序有錯,而不是證明程序無錯[6]。為了實現(xiàn)高質量的軟件系統(tǒng),開發(fā)人員需要通過軟件測試開展“批評與自我批評”。單元測試階段是程序員對自己的程序進行“自我批評”,自我批評無法徹底發(fā)現(xiàn)全部的問題,需要別人的批評和幫助。后續(xù)的單元測試、集成測試、系統(tǒng)測試、驗收測試則是別人對自己的“批評”和幫助。測試階段既需要測試人員從用戶的角度進行大量的黑盒測試,也需要從設計者的角度進行白盒測試。這個階段鍛煉學生根據(jù)問題線索按圖索驥發(fā)現(xiàn)問題的能力,也鍛煉學習細心解決每一處問題的能力。
9)軟件維護中的思政元素
軟件交付并不是軟件工程的終點,軟件交付之后還有大量的軟件維護工作需要進行。軟件維護是軟件交付之后,為了改正錯誤而進行的軟件修改工作。在現(xiàn)代軟件產(chǎn)業(yè)中,軟件開發(fā)和維護階段的界限不再固定,軟件維護是軟件新的生命周期的開始。軟件維護階段的工作很多,按照緊急程度可以分為改正性維護、適應性維護、完善性維護和預防性維護??梢砸龑W生對手頭的任務進行分類,根據(jù)輕重緩急對各項工作作出合理的安排。維護工作和開發(fā)工作相比重復性的勞動較多,需要更多的耐心和責任心,以此引導學生樹立吃苦耐勞的精神。
3.2 課程設計的思政元素
軟件工程是一門實踐性學科,在課程設計環(huán)節(jié)需要運用軟件工程的方法、過程、工具完成一個真實的軟件項目案例。該項目由多人構建項目小組模擬軟件項目的申報、競標、評審、需求分析等環(huán)節(jié)。團隊按照軟件生命周期完成問題定義、可行性分析、需求分析、系統(tǒng)設計、系統(tǒng)開發(fā)、系統(tǒng)測試與維護等環(huán)節(jié),體驗需求方的角色,擔任項目發(fā)包方和項目評審等環(huán)節(jié)。通過完成課程設計,培養(yǎng)學生獨立完成核心工作的能力,同時通過小組協(xié)作,揚長避短,培養(yǎng)學生團隊協(xié)作能力。這是軟件工程課程培養(yǎng)的核心目標,也是軟件工程課程思政的重要內容。
4 基于課程思政的課程評價
軟件工程的課程評價分為平時成績和期末成績,課程思政教育評價體現(xiàn)在平時成績里,主要表現(xiàn)為以下兩個方面。
4.1 通過命題作文考核課程思政效果
在學期初布置命題作文,要求學生選取軟件工程課程中所學到的某個概念、思想、理念,對給自己帶來的啟示展開闡述,作為一次平時成績。通過這種形式使得學生帶著問題進行學習,促進學生對課程思政內容進行深入思考。對于學生提交的報告進行認真批閱,了解學生的思想動態(tài),并將有價值的作業(yè)作為案例,供后續(xù)教學使用。
4.2 通過項目匯報和項目文檔,考核學生在課程思政方面的實際表現(xiàn)
軟件工程項目匯報和提交的項目文檔是學生平時成績的重要組成部分,在此部分的評價中加入對課程思政實際表現(xiàn)的評價。在此部分強調以下考核要點。
誠實守信:檢查項目報告的原創(chuàng)性和真實性,對于存在抄襲情況的報告退回整改,并降低分數(shù)等級,提高學生誠信意識和知識產(chǎn)權意識。
創(chuàng)新意識:要求學生在報告中體現(xiàn)出一個創(chuàng)新點,如過程模型、項目管理方法等,并在報告詳細闡述,以此來考核學生在項目實踐的積極主動性和創(chuàng)新能力。
5 結束語
軟件工程是計算機相關專業(yè)的專業(yè)必修課程,是實踐課程思政的專業(yè)課程。通過挖掘軟件工程課程思政元素,探索軟件工程課程思政評價方法,將課程思政融入課程教學的全過程,實踐高等教育立德樹人,提升軟件工程課程的綜合教學效果。
參考文獻:
[1] 高德毅,宗愛東.從思政課程到課程思政:從戰(zhàn)略高度構建高校思想政治教育課程體系[J].中國高等教育,2017(1):43-46.
[2] 李宗花,朱林.軟件工程原理與實踐[M].南京:南京大學出版社,2020.
[3] 中華人民共和國教育部. 教育部關于印發(fā)《高等學校課程思政建設指導綱要》的通知[EB/OL].(2020-06-01)[2020-11-12].http://www.moe.gov.cn/srcsite/A08/s7056/202006/t2020 0603_462437. html.
[4] 韓萬江,姜立新.軟件項目管理案例教程[M].3版.北京:機械工業(yè)出版社,2015.
[5] 張友生.軟件體系結構[M].北京:清華大學出版社,2004.
[6] 黑馬程序員.軟件測試[M].北京:人民郵電出版社,2019.
【通聯(lián)編輯:謝媛媛】