吳 勁,白忠建,王瑞錦,陳安龍
(電子科技大學(xué) 信息與軟件工程學(xué)院,四川 成都 610054)
《高等學(xué)校課程思政建設(shè)指導(dǎo)綱要》指出:工學(xué)類的專業(yè)課程,要注重強(qiáng)化學(xué)生的工程倫理教育,培養(yǎng)學(xué)生精益求精的大國(guó)工匠精神,激發(fā)學(xué)生科技報(bào)國(guó)的家國(guó)情懷和使命擔(dān)當(dāng)[1]。計(jì)算機(jī)課程體系規(guī)范CC2020工作組也將勝任力作為核心需求[2-3],提出了“勝任力”計(jì)算教育模型[4]?;凇吨笇?dǎo)綱要》和《計(jì)算機(jī)課程體系規(guī)范2020》要求,本文提出基于勝任力的程序設(shè)計(jì)與算法基礎(chǔ)課程思政方案,潤(rùn)物細(xì)無聲地融入社會(huì)主義核心價(jià)值觀教育、算法倫理與職業(yè)道德教育、中華傳統(tǒng)優(yōu)秀哲學(xué)思想等思政元素,在專業(yè)課程的學(xué)習(xí)與實(shí)踐中幫助學(xué)生們塑造正確的世界觀、人生觀和價(jià)值觀。
勝任力對(duì)于計(jì)算機(jī)相關(guān)領(lǐng)域而言是一個(gè)較新的概念,幾十年來,計(jì)算機(jī)相關(guān)課程更專注于知識(shí)的傳授,而勝任力是一個(gè)以人為中心的概念,知識(shí)只是勝任力的一個(gè)組成部分。從基于知識(shí)的學(xué)習(xí)進(jìn)化到基于勝任力的學(xué)習(xí),可以使學(xué)生具備的能力與未來實(shí)際工作場(chǎng)景所需的專業(yè)能力更加一致[5]。
《哈佛大學(xué)勝任力詞典》定義和解釋描述了什么是有用的勝任力(Competency),即一個(gè)人能勝任特定工作、角色、職能或任務(wù),包括與工作相關(guān)的行為(一個(gè)人說什么或做什么會(huì)導(dǎo)致良好或不良的表現(xiàn))、動(dòng)機(jī)(一個(gè)人對(duì)工作、組織或地理位置的感受)和技術(shù)知識(shí)或技能(知悉和掌握職業(yè)相關(guān)的技術(shù)、流程、工作方法、組織流程等)。勝任力是通過對(duì)工作和角色的研究來確定的[6]。
歐盟委員會(huì)的數(shù)字勝任力框架確定了數(shù)字勝任力在5個(gè)方面的組成部分,可以概括為:①信息和數(shù)據(jù)素養(yǎng);②溝通和協(xié)作;③數(shù)字內(nèi)容創(chuàng)建;④安全;⑤解決問題[7]。”軟件工程勝任力模型將勝任力定義為“在規(guī)定的水平上進(jìn)行工作活動(dòng)的能力證明”[8],描述了參與軟件密集型系統(tǒng)開發(fā)和變更的軟件工程師的能力。文獻(xiàn)[9]認(rèn)為,勝任力代表認(rèn)知、元認(rèn)知技能、知識(shí)和理解知識(shí)后的應(yīng)用、人際交往、智力水平、實(shí)踐技能以及道德價(jià)值觀多種模態(tài)的動(dòng)態(tài)組合。
《計(jì)算機(jī)課程體系規(guī)范2020》提出了“勝任力”計(jì)算教育模型,把“勝任力”應(yīng)用在計(jì)算機(jī)教學(xué)指導(dǎo)和評(píng)估中[4]?!皠偃瘟Α笨梢杂靡韵鹿奖硎荆?/p>
勝任力(competency)=知識(shí)(knowledge)+技能(skills)+品行(dispositions)
知識(shí)是“知道是什么(know-what)”的維度;技能是指通過有意識(shí)的訓(xùn)練以及與他人交互而逐漸形成的能力和策略,是“知道怎么做(know-how)”的維度;品行包括道德水平、團(tuán)隊(duì)協(xié)作能力、社交技能、意志力等,是“知道為什么(know-why)”的維度。品行控制著個(gè)人如何使用技能,是最具挑戰(zhàn)性的。課程思政元素與品行維度緊密結(jié)合,并有機(jī)融入知識(shí)傳授與能力培養(yǎng)。
程序設(shè)計(jì)與算法基礎(chǔ)是電子科技大學(xué)信息與軟件工程學(xué)院軟件工程專業(yè)的第一門專業(yè)基礎(chǔ)課,分為兩個(gè)學(xué)期三大課程模塊進(jìn)行組織實(shí)施。課程思政方案與課程方案緊密融合,在三大課程模塊中各有偏重、逐層細(xì)化、螺旋式上升地實(shí)現(xiàn)基于勝任力融入思政元素的程序設(shè)計(jì)與算法基礎(chǔ)課程方案。
具體課程框架如圖1所示。
Fig.1 Curriculum framework of "fundamentals of program design and algorithm" based on competency integrating ideological and political elements圖1 基于勝任力融入思政元素的程序設(shè)計(jì)與算法基礎(chǔ)課程框架
大一上學(xué)期的模塊1(程序設(shè)計(jì)與算法基礎(chǔ)Ⅰ,48學(xué)時(shí)):以C語(yǔ)言為載體,喚起學(xué)生的好奇心,引導(dǎo)新生探索軟硬件協(xié)同工作機(jī)理,精心設(shè)計(jì)基于自主研發(fā)的icoding線上實(shí)驗(yàn)及編程能力測(cè)試平臺(tái)實(shí)驗(yàn)項(xiàng)目,培養(yǎng)學(xué)生抽象問題、提取計(jì)算需求的能力,以及從問題出發(fā)設(shè)計(jì)并實(shí)現(xiàn)算法的能力,提升學(xué)生掌握核心軟件技術(shù)的信心。
承上啟下的模塊2(程序設(shè)計(jì)項(xiàng)目實(shí)踐,大一上,16學(xué)時(shí)):采用基于項(xiàng)目的學(xué)習(xí)方式,培養(yǎng)學(xué)生的表達(dá)能力、思辨能力、創(chuàng)新能力、團(tuán)隊(duì)協(xié)作能力,為學(xué)院培養(yǎng)和輸送競(jìng)賽學(xué)子。從模塊1和模塊2就開始啟發(fā)學(xué)生思索程序設(shè)計(jì)的本源問題,培養(yǎng)軟件工程思維模式。
大一下學(xué)期的模塊3(程序設(shè)計(jì)與算法基礎(chǔ)Ⅱ,48學(xué)時(shí)):要求學(xué)生在掌握數(shù)據(jù)邏輯、存儲(chǔ)結(jié)構(gòu)及其操作和算法基礎(chǔ)上,逐步具有深度優(yōu)化程序的能力,形成開發(fā)核心基礎(chǔ)軟件的潛力。引導(dǎo)學(xué)生思索算法倫理與職業(yè)道德要求,培育精益求精的大國(guó)工匠精神。
將核心軟件自主可控、社會(huì)責(zé)任感、精益求精的大國(guó)工匠精神、算法倫理與職業(yè)道德等核心素養(yǎng)融入課程,將價(jià)值塑造、知識(shí)傳授和能力培養(yǎng)融入基于勝任力的程序設(shè)計(jì)與算法基礎(chǔ)課程框架,通過課程不同階段的思政案例,培養(yǎng)學(xué)生的愛國(guó)、敬業(yè)、誠(chéng)信、友善修養(yǎng),自覺把小我融入大我,不斷追求國(guó)家的富強(qiáng)、民主、文明、和諧,將社會(huì)主義核心價(jià)值觀內(nèi)化為精神追求,外化為努力學(xué)習(xí)、科技報(bào)國(guó)的自覺行動(dòng)。
程序設(shè)計(jì)與算法基礎(chǔ)課程打破了程序設(shè)計(jì)語(yǔ)言、算法、數(shù)據(jù)結(jié)構(gòu)、開發(fā)方法之間的界限,打破了課程壁壘,對(duì)原有課程進(jìn)行了深度融合,不是簡(jiǎn)單、機(jī)械地對(duì)課程內(nèi)容進(jìn)行堆積,而是對(duì)課程進(jìn)行系統(tǒng)性整合與深度優(yōu)化[10],并把基于勝任力的思政元素融入其中。既保證了課堂學(xué)習(xí)的挑戰(zhàn)性,又大大減少了學(xué)生課堂內(nèi)需要學(xué)習(xí)的課程數(shù)量和學(xué)時(shí)數(shù),從而為學(xué)生課后自主學(xué)習(xí)留下更多時(shí)間和空間。
課程引入同伴指導(dǎo)模式,通過互相指導(dǎo)、共同進(jìn)步,培養(yǎng)互幫互助精神,進(jìn)而提升團(tuán)隊(duì)合作能力[11]。同伴指導(dǎo)是一個(gè)學(xué)習(xí)者定期觀察同伴,并向同伴提供支持、幫助和反饋的過程[12]。學(xué)習(xí)者和同伴一起學(xué)習(xí)和實(shí)踐,分享想法、互相支持、互相教導(dǎo),反思當(dāng)前的實(shí)踐,建立新的技能或解決問題的方案[11]。
直擊程序設(shè)計(jì)本源,培養(yǎng)學(xué)生的高階程序開發(fā)能力。建立“SPOC+icoding線上實(shí)驗(yàn)及編程能力測(cè)試平臺(tái)+雨課堂”的智慧學(xué)習(xí)系統(tǒng),在課堂學(xué)時(shí)有限的情況下,充分利用線上資源,構(gòu)建以學(xué)生為中心的知識(shí)和能力內(nèi)化途徑。引導(dǎo)學(xué)生完成SPOC中的基礎(chǔ)類知識(shí)模塊,并理論聯(lián)系實(shí)際,完成icoding的上機(jī)實(shí)驗(yàn),引導(dǎo)學(xué)生追求精益求精的大國(guó)工匠精神。教師根據(jù)學(xué)情反饋,利用線下課堂和雨課堂針對(duì)性地梳理重難點(diǎn),對(duì)課程的深度和廣度進(jìn)行擴(kuò)展。
回歸程序設(shè)計(jì)本源,程序設(shè)計(jì)和算法理論與項(xiàng)目實(shí)踐一體化設(shè)計(jì)。利用互聯(lián)網(wǎng)和人工智能技術(shù)賦能教和學(xué),實(shí)施以學(xué)生為中心的線上線下混合式教學(xué)模式?;谧灾餮邪l(fā)的“學(xué)、練、測(cè)、評(píng)、賽”五位一體的icoding 線上實(shí)驗(yàn)及能力測(cè)試平臺(tái),實(shí)現(xiàn)了面向程序設(shè)計(jì)能力測(cè)試的icoding機(jī)考,提高了學(xué)生能力和素質(zhì)評(píng)價(jià)的科學(xué)性。
在知識(shí)傳授和能力培養(yǎng)的同時(shí),潤(rùn)物細(xì)無聲地融入課程思政元素和思政案例,培養(yǎng)學(xué)生的愛國(guó)主義精神、軟件工程思維、創(chuàng)新思維和時(shí)代精神。
在第一堂課“程序設(shè)計(jì)引論”中首先介紹課程的總體框架、配套的線上資源,包括配套的SPOC(https://uestc.yuketang.cn/)與在線實(shí)驗(yàn)平臺(tái)(https://icoding.run/login)。告訴學(xué)生其進(jìn)入了人生的一個(gè)嶄新階段,已經(jīng)長(zhǎng)大成人,需要適應(yīng)大學(xué)課程的節(jié)奏,結(jié)合課程考核方式調(diào)整自己的學(xué)習(xí)方法,養(yǎng)成自主學(xué)習(xí)的習(xí)慣。
程序設(shè)計(jì)與算法基礎(chǔ)Ⅰ、Ⅱ的綜合考核方式含形成性評(píng)價(jià)(平時(shí)考核)和總結(jié)性評(píng)價(jià)(期末考核),其計(jì)算公式如下:
綜合評(píng)價(jià)成績(jī)=SPOC成績(jī)(10%)+icoding線上實(shí)驗(yàn)平臺(tái)編程實(shí)驗(yàn)成績(jī)(40%)+期末考核成績(jī)(50%)
其中,SPOC模塊和icoding線上實(shí)驗(yàn)?zāi)K不占用課堂學(xué)時(shí),采用線上自主學(xué)習(xí)和練習(xí)模式,自動(dòng)給出測(cè)評(píng)分?jǐn)?shù)。需要提醒學(xué)生們注意線上平臺(tái)練習(xí)的截止提交日期,養(yǎng)成守時(shí)、守信的契約精神,學(xué)會(huì)合理安排學(xué)習(xí)時(shí)間。
然后進(jìn)行學(xué)生基礎(chǔ)的摸底調(diào)查,針對(duì)不同基礎(chǔ)的學(xué)生給出針對(duì)性的學(xué)習(xí)和練習(xí)方式建議,并建議學(xué)生們加強(qiáng)溝通和交流,可以嘗試結(jié)對(duì)編程,形成學(xué)習(xí)小組,討論上機(jī)實(shí)踐中遇到的問題,共同學(xué)習(xí)、共同進(jìn)步。
在簡(jiǎn)單介紹馮·諾依曼計(jì)算模型的基礎(chǔ)上,用一系列問題引出課程思政案例:是否了解華為公司?聽過華為公司的智能基座項(xiàng)目嗎?華為為何會(huì)建立該項(xiàng)目?美國(guó)為何打壓民營(yíng)企業(yè)華為?接著以圖2的華為鯤鵬開源計(jì)算產(chǎn)業(yè)鏈與軟硬件架構(gòu)對(duì)照?qǐng)D為藍(lán)圖,引導(dǎo)學(xué)生們思考為什么要掌握核心軟件技術(shù)、怎么掌握核心軟件技術(shù),引導(dǎo)學(xué)生以具有低級(jí)語(yǔ)言特點(diǎn)的高級(jí)程序設(shè)計(jì)語(yǔ)言C語(yǔ)言為載體,去觸碰、探究計(jì)算產(chǎn)業(yè)鏈,引導(dǎo)其探索軟硬件協(xié)同工作機(jī)理,啟發(fā)其思索程序設(shè)計(jì)本源問題。向下能喚起學(xué)生探索匯編層、操作系統(tǒng)層、指令集架構(gòu)層、微代碼層的興趣,向上能從本源上理解軟件體系架構(gòu)。同時(shí)讓其了解,軟件工程專業(yè)的學(xué)生擔(dān)負(fù)著為國(guó)家軟件自主可控戰(zhàn)略需求添磚加瓦的任務(wù)和使命,從而激發(fā)學(xué)生科技強(qiáng)國(guó)的使命感。
可以通過拋出一個(gè)個(gè)問題的方法進(jìn)行互動(dòng),激發(fā)學(xué)生的興趣,師生在情感交流中產(chǎn)生“共鳴”。與時(shí)俱進(jìn)地與企業(yè)進(jìn)行深度合作,更新教學(xué)案例的內(nèi)容,深化產(chǎn)教融合、協(xié)同育人,使得案例更具有時(shí)代特點(diǎn)。以著名民營(yíng)企業(yè)華為的鯤鵬計(jì)算產(chǎn)業(yè)及鯤鵬生態(tài)體系全景應(yīng)用為例融入思政元素,說服力更強(qiáng),更容易讓學(xué)生信服,也更容易在思想和情感層面產(chǎn)生認(rèn)同感,喚起學(xué)生對(duì)計(jì)算生態(tài)系統(tǒng)的興趣和好奇心。
以立德樹人為根本,使大一新生就能體驗(yàn)“產(chǎn)教協(xié)同育人”的專業(yè)特色,培養(yǎng)學(xué)生服務(wù)國(guó)家軟件自主可控戰(zhàn)略的意識(shí),提升學(xué)生掌握核心軟件技術(shù)的信心。
程序設(shè)計(jì)項(xiàng)目實(shí)踐屬于學(xué)校立項(xiàng)的新生項(xiàng)目實(shí)踐課程,在程序設(shè)計(jì)與算法基礎(chǔ)Ⅰ、Ⅱ課程之間開課,起到承上啟下的作用,也是學(xué)院一體化實(shí)踐教育體系的第一門實(shí)踐課程。學(xué)院的實(shí)踐教育采用兩貫穿、一融合模式,校內(nèi)工程實(shí)踐遞進(jìn)式貫穿,校外企業(yè)育人全鏈條貫穿,校內(nèi)外校企協(xié)同育人交錯(cuò)迭代融合。
軟件工程專注于創(chuàng)建基于軟件的解決方案,但其遠(yuǎn)不止是程序設(shè)計(jì),需要采用適當(dāng)?shù)能浖ぞ唛_發(fā)新的軟件系統(tǒng),學(xué)生應(yīng)具備將工程的嚴(yán)謹(jǐn)性與數(shù)據(jù)結(jié)構(gòu)和算法選擇技巧相結(jié)合的能力。在新生項(xiàng)目實(shí)踐課上,讓大一新生以項(xiàng)目小組的方式參與軟件工程項(xiàng)目的完整過程:從需求分析、概要設(shè)計(jì)到詳細(xì)設(shè)計(jì),應(yīng)用剛學(xué)會(huì)的C語(yǔ)言進(jìn)行項(xiàng)目的代碼實(shí)現(xiàn),并測(cè)試其功能。最后完成項(xiàng)目報(bào)告文檔,制作項(xiàng)目匯報(bào)幻燈片,并進(jìn)行項(xiàng)目匯報(bào)和演示。
程序設(shè)計(jì)項(xiàng)目實(shí)踐總成績(jī)由4部分構(gòu)成,計(jì)算公式如下:
綜合評(píng)價(jià)成績(jī)=項(xiàng)目文檔(40%)+演示文檔(20%)+表達(dá)能力(20%)+項(xiàng)目實(shí)施(20%)
項(xiàng)目文檔和演示文檔中要說明項(xiàng)目從需求分析、概要設(shè)計(jì)到詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試的過程,并說明團(tuán)隊(duì)的分工和協(xié)作方式、團(tuán)隊(duì)成員在其中的貢獻(xiàn)等信息。通過項(xiàng)目小組的組建、組長(zhǎng)推舉,到項(xiàng)目選題的確定、項(xiàng)目的實(shí)施與結(jié)題,每一步都引導(dǎo)學(xué)生們體驗(yàn)團(tuán)隊(duì)協(xié)作的重要性,激發(fā)每個(gè)組員的責(zé)任感,培養(yǎng)其互幫互助、積極進(jìn)取的精神。在選題上可以與社會(huì)熱點(diǎn)相結(jié)合,注重培養(yǎng)其社會(huì)責(zé)任感,還必須按軟件工程項(xiàng)目實(shí)踐的要求,讓每個(gè)學(xué)生體驗(yàn)從需求分析到設(shè)計(jì)、實(shí)現(xiàn)與測(cè)試的完整過程。例如:20級(jí)的一個(gè)小組選擇了地區(qū)疫情風(fēng)險(xiǎn)模擬和評(píng)估項(xiàng)目,通過建立鏈表和坐標(biāo)系實(shí)現(xiàn)對(duì)病人信息的管理,并對(duì)某地區(qū)進(jìn)行疫情風(fēng)險(xiǎn)模擬分析,在鍛煉自身的能力的同時(shí),也希望對(duì)疫情防控作出自己的貢獻(xiàn)。
大一下學(xué)期程序設(shè)計(jì)與算法基礎(chǔ)Ⅱ的第一堂課引入了周易的乾坤二卦,乾卦:天行健,君子以自強(qiáng)不息;坤卦:地勢(shì)坤,君子以厚德載物。既體現(xiàn)了中國(guó)古代先賢的哲學(xué)思想,傳承了中華傳統(tǒng)美德,又分析了其中蘊(yùn)含的二進(jìn)制思想、蘊(yùn)含的計(jì)算思維方式,幫助學(xué)生們建立文化自信。
在學(xué)習(xí)二叉樹時(shí),引入中國(guó)傳統(tǒng)文化中的“太極生兩儀,兩儀生四象,四象生八卦”,形成了一棵漂亮的完全二叉樹?!兑捉?jīng)》和八卦系統(tǒng)是建立在陰陽(yáng)基礎(chǔ)上的符號(hào)系統(tǒng)[14],是中國(guó)古代研究宇宙間事物發(fā)展規(guī)律的學(xué)問,是對(duì)宇宙世界的建模?!兑捉?jīng)》是以中華文化為代表的東方思維的精華,其辯證思維具有整體性、模糊性和不確定性,強(qiáng)調(diào)形象思維、想象力或悟性,以事物性質(zhì)分析和系統(tǒng)設(shè)計(jì)見長(zhǎng)。而西方文化和思維的主要方式為邏輯思維或分析思維,主要特點(diǎn)是具有孤立性、準(zhǔn)確性和確定性,其強(qiáng)調(diào)形式化和形而上學(xué)的方法,以數(shù)量分析、邏輯推理和系統(tǒng)分析描述見長(zhǎng)。
東方太極思維以形象思維為主、邏輯思維為輔,采用歸納和推演等多種手段,是對(duì)事物進(jìn)行描述和本質(zhì)分析的辯證思維方法,也是對(duì)現(xiàn)代科學(xué)發(fā)展的有益補(bǔ)充。采用該教學(xué)方式可進(jìn)一步激發(fā)學(xué)生們熱愛和傳承中華傳統(tǒng)優(yōu)秀文化,建立文化自信,愛國(guó)愛家。
經(jīng)過大一上學(xué)期2個(gè)課程模塊的磨練,學(xué)生的編程能力有了很大提高。該階段要求學(xué)生在掌握數(shù)據(jù)的邏輯、存儲(chǔ)結(jié)構(gòu)及其操作和算法基礎(chǔ)上,逐步具備深度優(yōu)化程序的能力。課程的深度和難度比大一上學(xué)期有了進(jìn)一步提升,icoding實(shí)驗(yàn)系統(tǒng)中的上機(jī)練習(xí)除要求正確性外,對(duì)時(shí)間復(fù)雜度和空間復(fù)雜度也有了進(jìn)一步要求,增加了上機(jī)實(shí)踐的難度系數(shù)。教師要看得清、摸得準(zhǔn)學(xué)生的學(xué)情,才能因材施教,設(shè)計(jì)有針對(duì)性的目標(biāo)任務(wù)吸引學(xué)生,學(xué)生則緊跟教師步伐投入到線上和線下的學(xué)習(xí)中,形成良性互動(dòng),促進(jìn)自身綜合素質(zhì)的提升。
在講解圖的最短路徑算法環(huán)節(jié),引入2021年7月1日公布的國(guó)際超算排名Graph500排行榜,由國(guó)防科技大學(xué)研制、部署在天津國(guó)家超級(jí)計(jì)算中心的天河三號(hào)E級(jí)計(jì)算機(jī),斬獲SSSP Graph500(單源最短路徑)榜單和BIG Data Green Graph500(大數(shù)據(jù)圖計(jì)算能效)榜單兩項(xiàng)世界第一,展現(xiàn)了中國(guó)超級(jí)計(jì)算機(jī)的技術(shù)實(shí)力[15]。天河超級(jí)計(jì)算機(jī)原型機(jī)在核心芯片上做到了自主、獨(dú)立、創(chuàng)新,真正實(shí)現(xiàn)了“超算”的全國(guó)產(chǎn)。人工智能要依靠算力,誰(shuí)能占領(lǐng)算力的制高點(diǎn),誰(shuí)就有了引領(lǐng)行業(yè)發(fā)展的基礎(chǔ)。該案例增強(qiáng)了學(xué)生的科技自信,堅(jiān)定了其掌握核心軟件技術(shù)的信心。
在課程思政元素設(shè)計(jì)上可以結(jié)合具體算法引導(dǎo)學(xué)生思考:怎么擁有深度優(yōu)化程序的能力?怎么形成開發(fā)核心基礎(chǔ)軟件的潛力?怎么追求精益求精的大國(guó)工匠精神?學(xué)生既是信息和軟件的使用者,也是未來信息軟件系統(tǒng)的構(gòu)建者,引導(dǎo)學(xué)生深入地思考算法倫理與職業(yè)道德問題對(duì)于構(gòu)建未來健康的信息社會(huì)至關(guān)重要。程序設(shè)計(jì)與算法基礎(chǔ)課程思政建設(shè)是個(gè)與時(shí)俱進(jìn),不斷深化、拓展、突破、再出發(fā)的過程,未來課程群將會(huì)根據(jù)學(xué)情進(jìn)一步完善課程思政教育。