Android應用程式開發課程的CDIO教學實踐的論文

才智咖 人氣:2.98W

CDIO工程教育理念以產品的需求、設計、研發到產品的執行和維護的一體化存在週期為主線 ,讓學生以自主性和實踐性探尋課程之間有機內在聯絡的迭代式學習方式。Android應用程式開發課程引入CDIO 工程教育模型,學生按照構思、設計、實現和運作四個方面迭代式完成課程要求的內容,形成整體性的開發專案例項。這種從抽象到具體的逐步化實踐步驟,使學生深刻體會到CDIO工程實踐的精髓,建立起完整的工程開發理念。

Android應用程式開發課程的CDIO教學實踐的論文

1 引言

CDIO工程教育模式是麻省理工學院和瑞典皇家工學院等四所大學經過四年的不斷探索研究,於2004年創立併成立了以 CDIO命名的國際合作組織。CDIO代表構思(Conceive)、設計(Design)、實現(Implement)和運作(Operate) ,它以產品的需求、設計、研發到產品的執行和維護的一體化存在週期為主線 ,讓學生能夠以自主性和實踐性的有效方式尋求課程之間有機內在聯絡,從而實現工程課程的學習過程。它為學習者提供一種建構在工程基礎之上、體現了真實世界的產品和系統的構思、設計、實現和執行過程的背景環境的工程教育模式。將工程師必須具備的工程基礎知識、個人能力、人際團隊能力和CDIO全過程能力以逐級細化的方式表達出來,使工程教育課程具有更加明確的方向性和系統性。

隨著Android作業系統在智慧終端的日益普及,推動了移動網際網路技術的快速發展。在這種形勢下,各大高校紛紛開設了Android 系統相關的課程,作為一門新興的軟體應用軟體開發課程,其教學方法的思想和實踐也處於不斷探索之中。課程的教學目標主要是培養學生開發 Android 應用程式和實際工程專案的能力,作為一門注重動手實踐能力的課程,如何讓學生靈活應用課程的基本理念和知識系統,建立起Android的實際工程應用是當前面臨的重要難點。我們引入了 CDIO 工程教育理念,將一個綜合案例進行多模組分解,將知識點融合在眾多小案例中講解,每個模組按照CDIO模型以不同側重點獨立完成,最後形成整體性的開發專案例項。學生在學習過程,特別是在完成各功能的實踐中,深刻體會到CDIO工程實踐的精髓。這樣不斷的迭代式開發,從小到大的累積知識和實踐能力,建立起完整的工程開發理念。

2 CDIO的核心應用價值

科學教育與工程教育在內容與形式上有著明顯的區別。科學教育的主要目是發現與探求物理世界的普遍規律,是追求形式化的邏輯確定性,而工程教育的主要任務是構建人類與周圍環境的最大適應性,創造能夠滿足人類需求的物質存在。工程實踐在實施過程中具有不確實性和風險性,在工程程序中各類偶然因素會隨機突發出現,所以不存在忽略外在不可控因素的普適性真理,適用於某類工程專案的系統體系不能夠簡單地複製或移植到相似的'其它活動中。在完成眾多子系統的組成的複雜系統中,要求工程實踐人員根據外在客觀因素、人文環境等眾多影響因子的條件下制定合理實施方案和掌握工程進度,沒有放之四海皆準的工程真理。在工程行動過程中,隨著不斷演進的進度推移,將會出現某些非預期的不利或有益因素,這要求建構者不斷的根據實際情況調整工程實現的策略與程序細節,以應對工程進展中的不確定性。

CDIO的重要特性在於強調探究式教學模式。它所提倡的學生主動參與,進一步探究發現,進而通過交流合作的連續性的學習過程,將教學活動變成充分展現以學生為主體的自我進化領域範疇。對於工程專業,基於以專案主導的自我探究式進化教學方式,將傳統的學習過程轉化為激起學生探索和尋求多種解決方法的願景式學習需求。該模式培養了學生自主學習、發現問題、解決問題等創造性思維活動,是把知識與能力整合在一起“一體化”的人才培養思路。這種有別於以教師為中心的傳統模式,重要的是解決工程實踐中面對非確定性問題的挑戰,能夠激發起人類天生的團隊意識與合作精神,通過不同特長的協作解決工程實踐的現實難題。

在實踐高校的工程教育中,以實現產品或系統的生命週期過程做為教學的主體框架,將知識、技能、思想和人文精神貫穿於整體的教學過程,反映了CDIO 的檢驗標準以實踐能力出發,將個人工程能力、人際處理能力及對產品的構建能力做為成果體現的重要組成部分。工程專業培養計劃中應重點強調學科課程之間相互支撐,強調個人協調與組織能力的應用價值,實現一體化相互關聯的教學整體。不但重視課堂內的實踐教學活動,也注重課外的實訓與經歷,關注學生在不同外在環境下的隨機處理過程,在複雜的外部世界中掌握核心操作的能力。

3 Android課程的CDIO工程模式應用

遵循 CDIO 工程教育理念,通過例項專案讓學生進行自主學習,從實踐開發中總結經驗,積極吸收教材的理論知識,從而達到“學得活,做得出”的教學效果。教師主要充當“顧問”角色,當學生遇到困難疑惑時給予必要的幫助和指導。在教學中,我們引入了“手機訂票系統”做為專案例項,將其分解成眾多功能子模組,在完成每個模組的教學中,按照構思、設計、實施、運作的具體教學流程,取得了良好的教學效果。

1)構思階段:

在每個功能模組完成之前,引導學生確定業務需求,發現問題並制定開發計劃。如在完成使用者查詢功能時,先了解使用者的功能需求和非功能需求,列出詳細的清單記錄,清除使用者需求的模糊性、歧義性和不一致性,分析使用者的資料要求,建立初步的邏輯模型。此階段主要培養學生認識和把握現實工程需求的能力,糾正軟體工程專案就是寫程式碼的錯誤觀念,利用文字、圖形等UML元素將需求結果完整記錄下來。這個總結的過程,使專案相關人員逐漸明確和統一了認識,達成了需求工程的一致性。

2)設計階段:

設計過程主要引導學生解決子模組的設計思路、實現步驟、確定實現演算法,形成具體設計方案及實施過程中需要解決的關鍵技術問題等。如在完成查詢功能時,根據前期的需求分析,確定介面的總體性佈局方案,控制元件的選取及使用者使用的易操作性、速度響應能力等問題,這要求學生自主性的學習介面佈局知識,控制元件應用知識,及圖形介面監聽機制等相關技術知識。通過這樣的不斷提出問題,帶著問題主動尋求解決方案的探索式學習方式,會激發學生的學習熱情,真正達到理解並靈活運用知識點的良好成效,讓學生深刻體會到模組劃分,介面設計等在軟體開發過程中的重要性。

3)實施階段:

模組的實施階段是學生掌握和消化知識點的關鍵階段。通過具體案例實施方案,教師以明確的目的性引導學生學習完成功能所需要的知識內容,如在完成查詢功能之前,教師應重點講解圖片檢視、圖片按鈕、下拉列表、日期時間控制元件、手機選單、對話方塊、進度條等控制元件知識,在學生前期自學的基礎上,加深基礎知識的理解和應用。學生在具體完成程式碼的過程中,教師應強化規範性作用,定義實施過程的邊界,集中精力解決有限範圍內遇到的現實難題。在學生進行編寫和除錯時期,教師通過提示編譯錯誤、組織討論,反覆測試功能等輔助性工作,幫助學生完成自主學習的全過程。通過這個反覆迭代式的深入學習,使學生在完成了功能實現後,深刻體會到軟體工程開發過程的需要的開發技巧和思維方向性,建立起學習興趣和完成後續其它功能的信心。

4)運作階段:

在每個模組功能完成之後,都要在AVD上執行演示,並在智慧手機上實際測試。教師可以對學生工作進度進行檢查,確保在每個不同的開發階段都具有一個可以執行的Demo 版本。按照需求分析的要求進度,在教學過程中貫穿著專案從簡單功能到複雜功能的實現,按照CDIO的基礎原則,利用迭代化的軟體工程開發思想,逐漸使學生建立起從抽象到具體,從概念到實現等工程化思維方式,為以後走向社會實踐打下牢固的理論基石。

4 結語

CDIO的教學實踐過程中,重視營造工程教育文化,注重教育軟環境建設,加強師生互動,兩者在精神上也是融通的。CDIO工程教育模式是以學習結果為導向的工程教育認證與實踐的影響為依據,它是培養學生到企業對產品進行構思、設計、實施和運作能力的工程教育模式。CDIO教育理念是歐美高校和教育機構研究實踐的產物,作為一種普適性方法學,它同樣適合中國的高等教育。同時我們也應在繼承和消化其基本理念的基礎上進行中國化和本校化。在充分考慮學生、教師、區域化產業佈局等利益相關者訴求基礎上,結合海南省IT行業的人才需求標準,針對三亞學院具體專業設定情況,我們對CDIO在軟體工程能力培養上做了理念繼承和實踐創新工作。構建了具有海南區域性特色的CDIO能力培養體系,為海南省IT軟體行業人才培養探索出具有一定可借鑑價值的教育模式路徑。