呂品 陳年生 王淮亭
摘要:針對軟件工程試點專業本科生理論與實踐結合能力薄弱以及系統能力培養沒有引起教師足夠重視的問題,提出計算思維能力是高層次數據分析人才必備的重要素質,并闡述如何在算法類課程的教學中培養學生的計算思維能力,為區域經濟的發展輸送合格的應用型人才奠定基礎。
關鍵詞:數據分析人才;軟件工程專業;計算思維能力;正情緒
0引言
Web技術的飛速發展產生了海量的用戶生成內容,大量信息蘊藏其中,是潛在用戶決策支持的有價值資源。如何挖掘海量用戶生成內容催生了數據分析人才的市場需求。麥肯錫全球研究院報告預計,美國在2018年數據分析人才缺口將達到50%~60%,甚至可能更大。我國政府提出的“互聯網+”行動計劃,使得數據幾乎滲透到每一個行業和業務職能領域。在大數據時代,具有豐富經驗的數據分析人才需求倍增。
1數據分析人才必備的重要素質
數據分析人才能對行業已有數據進行統計、分析、預測,能為企業經營決策提供科學量化的分析依據。2007年,復旦大學首先在國內開始培養數據分析人才,隨后香港中文大學、北京航空航天大學等高等院校也相繼開設了相關課程。分析上述高校人才培養計劃可知,數據分析人才應該系統地掌握數據分析相關技能(主要包括數學、統計學、數據分析、商業分析和自然語言處理等),應具有較寬的知識面、獨立獲取知識的能力及較強的實踐能力和創新意識,是一種復合型專業人才。《中國大數據技術與產業發展白皮書》在數據人才一章中明確指出,數據分析人才的培養要從本科階段開始,要注重運用算法分析問題、解決問題,由此可見,計算思維能力是數據分析人才必須具備的重要素質之一。
2計算思維能力培養現狀
自2002年以來,我國計算機教育專家將計算思維能力歸結為計算機專業人才必備的4大專業基本能力,并且強調計算思維能力是其他3項能力(算法設計與分析、程序設計與實現以及系統能力)的基石。那么,如何在大數據時代背景下,依托應用型本科軟件工程試點專業建設,培養軟件工程專業學生的計算思維能力,為社會輸送高質量數據分析人才?計算思維能力的強弱主要表現為學生能否正確運用抽象與分解、遞歸、啟發式等方法解決計算求解問題。訓練學生的計算思維能力可在算法與數據結構以及算法設計與分析課程(以下簡稱算法類課程)的教學中進行,因而算法類課程是本科階段培養數據分析人才的重要課程。
然而,在算法類課程的實際教學過程中,存在兩個較為常見的問題:
(1)學生理論聯系實際的能力薄弱。學生要達到靈活運用算法解決實際問題,必須掌握算法的核心思想,但由于算法類課程中許多概念抽象,一些經典算法較為復雜,在這兩門課程的學習和實踐中,能體會到理論學習意義和動手實踐樂趣的學生很少。
(2)系統能力培養沒有受到教師的足夠重視。由于算法類課程相關的綜合設計課內學時少,教師無法引導學生從系統的角度認知綜合設計,并對其進行分析、開發與應用。
由此可見,在算法類課程的現有教學環節中,訓練學生計算思維能力的機會較少,必須結合當前數據分析人才市場需求的發展趨勢,重新審視算法類課程的定位和內容,以達到夯實學生計算思維能力的目的。
3在算法類課程教學中培養學生計算思維能力的方法
從整體上,一個較高層次的數據分析人才應該掌握7大版塊的知識結構,分別是數據采集、數據存儲、數據提取、數據挖掘、數據分析、數據展現以及數據應用。以數據分析人才驅動為導向,培養軟件工程專業學生計算思維能力的算法類教學方法主要是把算法類課程中算法分析與設計的思想融入數據分析中,用數據分析中的實際需求驅動學生學習書本上抽象的理論知識。以7大版塊中最重要的數據挖掘版塊作為載體,在算法類課程教學中培養學生的計算思維能力。
3.1基于實際數據分析任務的實驗項目設計
目前,國際權威學術組織IEEE International Conference on Data Mining(ICDM)已評選出數據挖掘的10大經典算法:C4.5、k-means、SVM、Apriori、EM、PageRank、AdaBoost、kNN、Navie Bayes和CART。在教學過程中,可以根據不同類型的應用問題,結合這些經典數據挖掘算法布置實驗任務,對每一實驗任務制定實現該任務的實驗目的、實驗要求、實驗內容、實驗步驟和預期實驗結果,讓學生清晰地理解并實現這些實驗任務。
以2013級軟件工程專業學生參加中國好創意的“互聯網情緒指標和生豬價格的關聯關系挖掘和預測”為例,說明實驗項目的設計。
(1)實驗目的:針對來自國內互聯網的生豬歷年消費者情緒數據,挖掘消費者情緒指標和生豬價格之間的關聯關系。
(2)實驗要求:采用Apriori算法,對近期國內五花肉價格及生豬價格進行預測。
(3)實驗內容及步驟:首先,對原始的生豬數據清洗是分析消費者情緒與生豬價格之間的關聯關系的第一個階段,其目的是刪除無關數據;其次,統計與消費者正面情緒或消費者負面情緒同時出現的相關指標,并根據自定義的最小支持度閾值獲得正面情緒或負面情緒的頻繁項集;最后,根據自定義的置信度對獲得的頻繁項集進行篩選,得到有意義的頻繁項集。
(4)預期實驗結果:解讀最終得到的頻繁項集,將挖掘的結果反饋到生豬養殖戶,讓其掌握生豬市場的供求關系。
個別有能力的學生還可以對以上內容進行拓展,從互聯網大數據中找出其他一些具有參考價值的生豬價格預測先導指標。
實驗任務的編碼完成后,還要求學生從軟件開發的角度撰寫規范的項目報告,內容包括項目的需求分析、總體設計、詳細設計、編碼與測試等。教師可通過報告清楚了解學生是否有良好的計算思維能力。針對計算思維能力薄弱的學生,教師可以再布置另外的實驗項目讓其訓練。例如,在“互聯網情緒指標和生豬價格的關聯關系挖掘和預測”實踐項目中,要求項目報告中有目標場景、需求理解、方案創意說明、模型數據選取、數據分析、算法設計、實驗設計、結果分析、原型系統介紹等。
3.2算法類課程教學內容拓展
由于本科階段算法類課程的教學內容只涉及完成基于實際數據分析任務的基礎知識,不包括數據挖掘算法,這就需要教師在算法類課程中拓展教學內容。因此,在教學過程中需要將經典的數據挖掘算法與算法類課程的理論知識巧妙融合。為此,教師需要詳細分析實現每個數據分析任務需要的基本理論知識,然后按照書本相關內容的先后順序串聯起來并編寫授課計劃,體現算法類課程精華內容與實際數據分析任務的融合。為了保證學生對數據挖掘算法的深入理解,需要鼓勵其利用課余時間廣泛查閱相關資料,進行自主學習。
在2013級軟件工程專業學生參加中國好創意的“互聯網情緒指標和生豬價格的關聯關系挖掘和預測”競賽中,指導教師們利用課外時間給學生講解關聯規則挖掘算法的思想、原理、特點等。學生在學習關聯規則挖掘算法的過程中進一步掌握了遞歸與分治思想、回溯法思想;理解了樹型存儲結構對關聯規則挖掘算法性能的改進。通過這樣的實踐,參賽學生完成的作品清晰展示了他們在學習算法類課程中培養的計算思維能力。
3.3計算思維能力培養的跟蹤
為了改進軟件工程學生計算思維能力培養中可能存在的問題,收集應用于13級軟件工程專業學生的實驗項目、授課計劃、項目報告、算法類課程的理論成績與實踐成績。通過跟蹤他們畢業設計的完成情況,分析曾在算法類課程上得到較好計算思維能力培養的學生的畢業設計情況,檢驗提出的方法。由于本研究的對象還沒有進入畢業設計環節,故只進行算法類課程的理論成績與基于實際數據分析任務的實驗項目完成情況的分析。通過兩門課程期末考試成績可以看出,認真完成實驗項目的學生理論考試成績普遍高于不認真的學生,這充分說明基于實際數據分析任務的實驗項目能有效改進目前算法類教學課程中存在的問題。
此外,還準備通過學院學生管理部門跟蹤2013級軟件工程專業學生的就業情況和用人單位的反饋意見,了解學生的專業能力,及時修改計算思維能力的培養方法,為探索應用型本科軟件工程試點專業建設提供有力支撐。
3.4充分利用移動平臺
為了讓學生充分體驗到算法類課程學習的成就感,在算法類教學過程中,要求學生以3~5人一組,形成一個團隊,開發算法類課程教學App。該App的功能模塊主要有算法類課程的教學資源、10種經典的數據挖掘算法講解教案、基于數據分析任務的實驗項目、學生作品展示區和交流區。課程結束后,學生對每一個團隊開發的App進行互評,最終選用得分最高的課程教學App為下屆的學生使用。由于有了這樣的平臺,教師和學生的溝通變得更加方便與及時,學生對算法類課程的學習不再受時空的限制。在移動終端普及的情況下,這種教學模式一方面能讓學生充分利用課余時間,另一方面能營造一種學生之間良性競爭的學習氛圍。盡管教學App的開發是學生計算思維能力培養的副產品,但也正是這種副產品給學生帶來的成就感讓學生在學習的過程中充滿了正情緒,讓計算思維能力的培養成為一個潛移默化的過程。
4結語
以數據挖掘為載體的本科生計算思維能力培養涵蓋了算法類課程中理論知識的拓展學習、實際數據分析任務的項目實踐以及課堂之外學生對應用軟件系統的開發。這種以數據分析人才驅動的計算思維能力培養方法重在以實際數據分析任務為主線,依托算法類課程教學內容的拓展,通過實踐促進理論學習,通過人才的實際需求充分調動學生的學習興趣,讓學生在正情緒的狀態下快樂地享受計算思維能力培養的過程,以達到培養應用型專業人才的目的。
(編輯:郭田珍)