李 薇,黑新宏,王 磊,2,王 彬,申小玲
(1.西安理工大學 計算機科學與工程學院,陜西 西安 710048;2.陜西理工大學 數學與計算機科學學院,陜西 漢中 723001;3.西安理工大學 實驗室管理處,陜西 西安 710048)
以人工智能、云計算、大數據、物聯網、移動計算等為代表的新技術,不僅是技術創新驅動的源泉,同時引領新產業與新經濟的迅猛發展[1]。黨的十九大報告明確指出,人才是國家競爭力的關鍵,硬實力、軟實力,歸根結底是人才實力。為了充分發揮學生專長,促進學生個性化發展,2005 年教育部《普通高等學校學生管理規定》提出,學生可以按照學校的規定申請轉專業。轉專業的實施,是以學生的興趣和志向為導向,有助于學生進入確有特長的學科領域;為學生提供更多的選擇路徑,有助于調動和發揮學生學習的主動性和積極性。
2017 年2 月18 日在上海召開的綜合性高校工程教育發展戰略研討會上指出,到2020 年,我國新一代信息技術產業人才缺口將會達到750萬人。到2025 年,新一代信息技術產業人才缺口將達到950 萬人。社會對計算機專業人才的迫切需求使得計算機專業備受關注,使其成為當前的熱門專業,就業前景好。2019 年5 月14 日,國家統計局發布的2018 年各行業平均工資的數據顯示,IT 行業年薪14 萬位居榜首,2019 年獵聘大數據研究院的數據表明,全國互聯網行業程序員的月薪(18 153 元)要高于中高端人才平均月薪(17 153 元)。
受就業前景和專業興趣的影響,有的學生所學專業是家長選的而不是自己做的決定,有的學生認為自己所學專業比較“冷門”,就業前景不好,這些因素導致學生對專業滿意度低。此外,計算機專業良好的就業前景極大地吸引著學生,很多學生希望通過轉專業改變自己的現狀。西安理工大學轉專業的實施辦法是,本科生在大學一年級學年結束后,有一次重新選擇專業的機會。其中,學習成績在本專業排名前30%的學生,可根據學習興趣在全校范圍內(不能跨科類)申請調整專業,其余70%學生可以依據專業錄取分數排名申請轉入同分或低分錄取專業(專業錄取分數排名是指依照學生入學當年我校在陜西省各專業普通批次錄取最低分排名)。因此,很多滿足轉專業條件的學生,在大學一年級學年結束后,積極申請轉入計算機學院各專業。
以西安理工大學計算機科學與工程學院近3年數據為例,2017 年由自動化與信息工程學院、土木建筑工程學院、水利水電學院等8 個學院轉入計算機學院共31 名學生,其中22 名男生,9名女生;2018 年由機械與精密儀器工程學院、材料科學與工程學院、信息技術與裝備工程學院等10 個學院轉入計算機學院共57 名學生,其中39名男生,18 名女生;2019 年由理學院、經濟與管理學院、印刷包裝與數字媒體學院等8 個學院轉入計算機學院共67 名學生,其中43 名男生,24名女生。新轉入的學生都是機械設計制造及其自動化專業、水利水電工程專業、材料化學專業、材料科學與工程專業、測控技術與儀器專業、電子信息工程專業、通信工程專業等專業的優秀學生,他們具有視野開闊、個性鮮明、學習能力和獨立性強等特點。然而,由于轉入新專業,這些學生不僅要適應新環境,而且要按照計算機學院各專業的培養方案選修本學年的相關課程、補修大學一年級的課程,并進行相應的學分替代。此外,當學生轉入計算機學院時,已經是第三學期的第四周了,而有些課程在第一周就開始上課,其中學生尤其覺得面向對象程序設計和數據結構這兩門課程比較困難。
面向對象程序設計和數據結構的先修課程是C 語言程序設計。由于不同學院的培養方案不同,有的學院在第二學期開設C 語言程序設計,而有的學院則在第三學期才開設C 語言程序設計,因此轉專業的學生中有些學生沒有學過C 語言程序設計。但是因為這些學生都是原專業學習比較優秀的學生,他們希望在轉入的這一學期能將所有課程補齊。面向對象程序設計和數據結構是計算機專業的核心課程,是培養學生計算思維能力和程序設計能力的重要課程,如何能讓學生在有限的時間內學好這些課程,是教師迫切需要解決的問題。
2018 年8 月,教育部明確提出了“金課”的概念;2018 年11 月,教育部高教司司長吳巖在第十一屆中國大學教學論壇上,明確指出“金課”的特點是兩性一度,即高階性、創新性和挑戰度。通過創新課程內容、教學形式,培養學生的研究思維方法、探究能力,鼓勵學生敢于挑戰、敢于探險,實現知識、能力和素質的有機融合,培養學生解決復雜問題的綜合能力和高級思維。鑒于此,針對轉專業學生,面向對象程序設計課程從構建課程知識空間、MOOC+軸翻轉教學實現課程教學。MOOC+軸翻轉教學模式的核心思想是教師引導學生在MOOC 中完成具體知識的學習,實現實體課堂與網絡課堂的互補;此外,在課堂教學中采用先能力、后知識的軸翻轉教學理念,對重點、難點知識進行指導性講解,重在培養學生能力。
(1)構建課程知識空間。課程知識空間是指課程教學內容的最大集合。面向對象程序設計課程將知識空間構造為一座山[2]——面向對象程序設計之山,見圖1。“面向對象程序設計之山”將本課程的知識內容(面向對象方法學、類和對象、函數重載與友元、常量與引用、運算符重載、組合、繼承與多態性、模板、輸入/輸出流、異常處理和MFC 編程等)及其之間的關系形象地表達為山腳、山坡、山腰和山頂等,將知識的學習和能力的培養過程形象化為登山過程,有助于學生更好地理解本課程的知識體系,從而為課程學習奠定堅實的基礎。

圖1 面向對象程序設計之山
(2)采用基于MOOC 的翻轉課堂教學。提高學生學習效果的關鍵是學生主動學習,這一理念已經成為大學教學的共識。采用基于MOOC的翻轉課堂的主要目的是增加師生互動、生生互動的頻度,通過互動強化學生的主動思考與主動學習[3]。基于MOOC 的翻轉課堂教學主要包括主動化學習、個性化學習、互動化學習和系統化學習4 個過程。首先,針對教師布置的任務,學生通過查閱資料、觀看視頻等方式進行主動化學習;在此過程中,培養學生的獨立學習能力;教師根據學生反饋的學習結果,可以清楚地掌握不同基礎學生的學習能力,進而動態調整所布置的教學任務。其次,在課堂教學過程中,針對老師所布置的作業,每個學生講解自己在設計程序時的思路和原理。以“設計一個函數,計算兩點之間的距離”為例,學生首先設計一個點類Point,接著設計一個全局函數Distance 計算兩點之間的距離。由于類的封裝性特點,即對象在類外不能直接訪問其私有成員,一些學生根據目前所學知識,采用在類里定義成員函數的方式,即對象通過調用成員函數實現對其私有成員的訪問。還有一些學習能力比較強的學生,他們不滿足于教師的授課進度,而是在此基礎上通過MOOC 進行個性化學習。因此他們采用還未講到的友元機制,即將函數Distance 聲明為類的友元函數,從而解決這個問題。接著,進行提問—回答的互動化學習環節,通過這一環節,營造一個批判質疑、有爭論、有辯論的教學環境,學生在爭辯的過程中發現自己的知識漏洞,學會用思維來建構知識,用想象來拓展知識,用智慧來批判知識,真正學到具有活力的知識。最后,為了保證學生知識學習的系統性和連貫性,教師對本節課的重點、難點知識進行歸納、講解,引導學生進行深度思考和系統化學習。
(3)采用軸翻轉教學方式。在講授過程中,如果先講解知識點,再進行程序設計,這種模式會使學生覺得很枯燥,從而對課程失去學習的興趣。軸翻轉教學是指先能力、后知識,使學生認識到為什么要學習這些知識,這些知識有什么用,而不是為了記憶知識而學習。例如,在講解友元函數時,首先設計一個與學生相關的問題:已知網絡131 班有若干名學生,每位學生的信息包括姓名、年齡、學號、OOP 課程成績,要求根據給定學號查找學生,并顯示查詢結果。在解決這個問題時,根據問題需要首先聲明學生類;由于學生人數不確定,存儲學生信息需要創建動態對象數組;在查找過程中,對象在類外要對其私有成員進行訪問,需要用到友元函數;在對學生逐個比較的過程中,需要用到循環結構和選擇結構;為了避免內存泄漏,在程序結束時,需要釋放動態分配的對象數組。在講解知識時,讓學生帶著問題學習,不僅激發了學生設計程序的興趣,而且使學生明白了類、對象數組、友元函數、循環結構、選擇結構以及內存的動態分配等知識的用途和怎么用,進而提高學生分析問題、解決問題的綜合能力。
為了檢驗“MOOC+軸翻轉”的教學效果,在面向對象程序設計課程中,選擇了3 個專業6個班的學生與轉專業學生,分別進行了傳統教學模式和“MOOC+軸翻轉”教學模式。圖2 是采用傳統教學模式的計算機1、計算機2、計算機3、網絡1、網絡2、物聯網6 個班和“MOOC+軸翻轉”(轉專業)的學生期末成績對比。

圖2 傳統教學模式(6 個班)和“MOOC+軸翻轉”(轉專業)成績對比
圖2 表明,轉專業學生的平均成績略高于其他專業的學生成績,這是因為,轉專業學生都是來自各專業比較優秀的學生,他們自學能力強,具有一定的探索精神和研究能力,在“MOOC+軸翻轉”教學過程中,主動化學習、個性化學習、互動化學習、系統化學習和軸翻轉方式不僅有助于學生在原有知識理論基礎上建構知識、掌握知識以及靈活運用知識,而且培養了學生的計算思維能力、程序設計能力、探究能力和創新能力,實現了學生在知識學習過程中提升能力和素養。
大學生轉專業是人才培養模式變革的需要,是遵循人才成長規律,培養學生個性發展的有效舉措,有利于提升人才培養質量[4]。針對轉專業學生學業任務重、時間緊的問題,為了保證學生順利跟上轉入專業的學習進度,以面向對象程序設計課程為例,構建了“MOOC+軸翻轉”的教學模式,通過主動化學習、個性化學習、互動化學習、系統化學習和軸翻轉教學方式,挖掘學生潛質,提高學生能力,實現了學生知識、能力和素質的有機融合,培養了學生解決復雜問題的綜合能力和高級思維。