閆新寶
廣西民族師范學(xué)院數(shù)學(xué)與計(jì)算機(jī)科學(xué)系,廣西 崇左 532200
?
CDIO模式下的Android應(yīng)用程序開發(fā)教學(xué)實(shí)踐*
閆新寶*
廣西民族師范學(xué)院數(shù)學(xué)與計(jì)算機(jī)科學(xué)系,廣西崇左532200
摘要:CDIO工程教育理念以產(chǎn)品的開發(fā)為主要內(nèi)容,以培養(yǎng)學(xué)生的產(chǎn)品開發(fā)能力為主要目的。在Android應(yīng)用程序開發(fā)教學(xué)中引入CDIO理念,就是在教師的引導(dǎo)和輔助下,讓學(xué)生完成產(chǎn)品的構(gòu)思、設(shè)計(jì)、實(shí)現(xiàn)、運(yùn)作。使實(shí)踐步驟從抽象到具體,使學(xué)生的開發(fā)能力得到有效提高。
關(guān)鍵詞:CDIO理念;Android;教學(xué)改革
一、引言
Android操作系統(tǒng)不斷得到普及,互聯(lián)網(wǎng)技術(shù)也隨之得到不斷發(fā)展。針對(duì)這樣的情況,很多的高校重視開設(shè)Android應(yīng)用開發(fā)課程。這是一門新興的課程,具體的教學(xué)思想和方法還在不斷的探索。Android應(yīng)用程序開發(fā)的教學(xué)目標(biāo),除了要構(gòu)建學(xué)生的知識(shí)系統(tǒng)外,更重要的是培養(yǎng)學(xué)生開發(fā)android應(yīng)用程序的能力,為了達(dá)成這樣的教學(xué)目標(biāo),本文將CDIO教育理念引入課堂,通過(guò)讓學(xué)生動(dòng)手開發(fā)幾個(gè)實(shí)際的項(xiàng)目[1],使學(xué)生的開發(fā)能力得到有效提高。
二、CDIO工程教育模式的概述
CDIO[2]是一個(gè)國(guó)際性的、廣泛的、全面的工程教育改革模式。CDIO主要是由構(gòu)思(Conceive)、設(shè)計(jì)(Design)、實(shí)施(Implement)、運(yùn)作(Operate)四個(gè)單詞的英文首字母組成。構(gòu)思,就是對(duì)客戶的具體需求進(jìn)行分析,綜合考慮技術(shù)和非技術(shù)因素,使相關(guān)的概念、技術(shù)以及商業(yè)計(jì)劃得到不斷的改進(jìn);而設(shè)計(jì)就是針對(duì)需求開發(fā)產(chǎn)品系統(tǒng),在開發(fā)的過(guò)程中,確定所需要的各種相關(guān)的計(jì)劃、圖紙以及算法;而實(shí)施指的就是將設(shè)計(jì)變成具體的產(chǎn)品,主要包括硬件的制造、軟件的編程等;運(yùn)作指對(duì)產(chǎn)品的維護(hù)等。CDIO教育模式的主要載體就是產(chǎn)品,通過(guò)對(duì)產(chǎn)品進(jìn)行系統(tǒng)的設(shè)計(jì)和實(shí)施,使學(xué)生專業(yè)知識(shí)得到增長(zhǎng),個(gè)人能力以及職業(yè)能力等各個(gè)方面得到有效的提高。
三、Android課程體系
以市場(chǎng)對(duì)學(xué)生的能力要求為基礎(chǔ),需要將學(xué)校的自身的特點(diǎn)進(jìn)行有效的結(jié)合,針對(duì)Android人才培養(yǎng),建立出具體的專業(yè)課程體系。首先要將學(xué)生的基礎(chǔ)編程技能進(jìn)行有效的完善。以計(jì)算機(jī)公共基礎(chǔ)課為基礎(chǔ),開設(shè)具體的C語(yǔ)言課程,使學(xué)生可以對(duì)軟件開發(fā)的思想和方法具有初步的了解。開設(shè)JAVA程序設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)課程,讓學(xué)生學(xué)習(xí)JAVA等高級(jí)編程,與此同時(shí),還要開設(shè)數(shù)據(jù)庫(kù)課程。針對(duì)android這門課程,主要讓學(xué)生掌握Android的基礎(chǔ)內(nèi)容??梢赃m當(dāng)?shù)膰L試一些有關(guān)Android復(fù)雜和高級(jí)的編程,例如Android組件開發(fā)和Android應(yīng)用程序框架的內(nèi)部機(jī)制等。
四、CDIO理念在Android應(yīng)用程序開發(fā)教學(xué)中組織和實(shí)施
教學(xué)組織和實(shí)施的總體思路是讓學(xué)生動(dòng)手開發(fā)若干個(gè)由教師精心選擇的項(xiàng)目,以項(xiàng)目為載體,使學(xué)生在開發(fā)過(guò)程中逐漸構(gòu)建起較完整的知識(shí)系統(tǒng),同時(shí),使學(xué)生的軟件開發(fā)能力得到有效提升[3]。教學(xué)組織和實(shí)施包括教學(xué)項(xiàng)目選擇和教學(xué)實(shí)施兩個(gè)階段。
(一)教學(xué)項(xiàng)目選擇
教師要選擇適合的教學(xué)項(xiàng)目,選擇教學(xué)項(xiàng)目的思路和原則有以下兩點(diǎn):
1、設(shè)置的教學(xué)項(xiàng)目數(shù)量要合理。很難找到一個(gè)能涵蓋android所有知識(shí)點(diǎn)的項(xiàng)目,為了使學(xué)生能掌握較系統(tǒng)、較全面的知識(shí),要設(shè)置多個(gè)項(xiàng)目,然而項(xiàng)目的數(shù)量也不能太多,項(xiàng)目太多課時(shí)不允許,也會(huì)使得學(xué)生感到疲勞,建議設(shè)置2個(gè)項(xiàng)目。
2、選擇項(xiàng)目要遵循以下原則。首先,項(xiàng)目要既實(shí)用性又新穎,這樣才能激發(fā)學(xué)生的熱情。其次,所選擇的項(xiàng)目規(guī)模要適度,難度從易到難,且項(xiàng)目的順序要和android知識(shí)脈絡(luò)保持一致,從基礎(chǔ)項(xiàng)目到高級(jí)項(xiàng)目,選擇的2個(gè)項(xiàng)目要涵蓋教學(xué)大綱的主要知識(shí)點(diǎn)。然后,項(xiàng)目各個(gè)模塊的邏輯耦合度要比較低,每個(gè)模塊針對(duì)一個(gè)知識(shí)點(diǎn),即讓每個(gè)模塊變成可以獨(dú)立教學(xué)的子項(xiàng)目,針對(duì)子項(xiàng)目要可以找到相似的案例,對(duì)教學(xué)和實(shí)踐具有積極的作用。最后,項(xiàng)目要具備一定的擴(kuò)展性,這樣一來(lái),學(xué)生的才會(huì)將功能進(jìn)行拓展,使技術(shù)知識(shí)進(jìn)行有效的創(chuàng)新。
結(jié)合以上選擇項(xiàng)目的兩點(diǎn)思路,我們選擇了手機(jī)通訊錄管理軟件和騰訊微博客戶端軟件作為教學(xué)項(xiàng)目。手機(jī)通訊錄管理軟件以android數(shù)據(jù)庫(kù)編程為中心,涵蓋了android數(shù)據(jù)庫(kù)編程、android布局設(shè)計(jì)、android多線程和android中的常用組件等知識(shí)。騰訊微博客戶端軟件以android網(wǎng)絡(luò)編程為中心,涵蓋了android網(wǎng)絡(luò)編程、android多線程以及android中的常用組件等知識(shí)。這兩個(gè)項(xiàng)目從基礎(chǔ)到高級(jí),從易到難,基本涵蓋了android的主要知識(shí)點(diǎn),并且項(xiàng)目模塊的耦合度較低。
(二)教學(xué)實(shí)施
遵循CDIO理念,教學(xué)實(shí)施包括以下三個(gè)步驟。
1、構(gòu)思。教師對(duì)學(xué)生形成積極的引導(dǎo),讓學(xué)生對(duì)項(xiàng)目進(jìn)行需求分析。確定項(xiàng)目有哪些功能需求和非功能需求。教師要引導(dǎo)學(xué)生主動(dòng)查找資料,確定項(xiàng)目難度,制定開發(fā)計(jì)劃。
2、設(shè)計(jì)。教師對(duì)學(xué)生進(jìn)行有效的引導(dǎo),使學(xué)生解決項(xiàng)目的設(shè)計(jì)思路和模塊劃分等需要解決的關(guān)鍵性問(wèn)題。
3、實(shí)施。實(shí)施階段的主要工作就是編程實(shí)現(xiàn)各個(gè)模塊功能,這是最重要的步驟。在讓學(xué)生編程實(shí)現(xiàn)模塊功能之前,老師要先講解每個(gè)模塊涉及到的重要知識(shí)點(diǎn)。教師要搜集資料找到與該模塊相似的案例,通過(guò)案例法來(lái)講解知識(shí)點(diǎn),讓學(xué)生通過(guò)案例對(duì)知識(shí)點(diǎn)進(jìn)行消化。教師講解完該模塊涉及到的重要知識(shí)點(diǎn)之后,再讓學(xué)生自己去編程實(shí)現(xiàn)該模塊。例如,手機(jī)通訊錄軟件主要模塊包括聯(lián)系人信息的查詢和顯示模塊,聯(lián)系人信息的添加、修改、刪除模塊以及撥打電話模塊,在讓學(xué)生完成查詢聯(lián)系人信息模塊之前,教師首先對(duì)通訊錄主界面所用到的listview控件和菜單組件進(jìn)行講解,然后對(duì)查詢數(shù)據(jù)庫(kù)的知識(shí)進(jìn)行講解,講解完這些知識(shí)之后讓學(xué)生完成聯(lián)系人信息的查詢和顯示。
學(xué)生在編寫和調(diào)試的過(guò)程中,教師要提供一系列的輔助性的工作,使學(xué)生可以完成自主開發(fā)。這些輔助性的工作主要包括輔助學(xué)生調(diào)試程序,這也是非常重要的。在我們教學(xué)實(shí)踐的過(guò)程中,發(fā)現(xiàn)很多學(xué)生能夠按思路把代碼寫出來(lái),但是在程序運(yùn)行出現(xiàn)問(wèn)題時(shí)不知道如何解決,教師就要及時(shí)的傳授學(xué)生調(diào)試技巧。學(xué)生將功能進(jìn)行實(shí)現(xiàn)之后,可以體會(huì)到在軟件開發(fā)的過(guò)程中,最重要的就是思維方向和調(diào)試技巧。
4、運(yùn)行。運(yùn)用迭代開發(fā)的思想,學(xué)生每完成一個(gè)功能,都要有一個(gè)可以運(yùn)行的演示版本。這樣既遵循了軟件開發(fā)的思想,也便于老師了解學(xué)生的進(jìn)度。
五、考核方式
學(xué)生的總成績(jī)由平時(shí)成績(jī)和期末考試成績(jī)組成,平時(shí)成績(jī)占60%,期末考試成績(jī)占40%。我們以手機(jī)通訊錄管理軟件和騰訊微博客戶端軟件的完成情況對(duì)平時(shí)成績(jī)進(jìn)行評(píng)分。每完成一個(gè)軟件,我們安排每位學(xué)生到講臺(tái)上演示軟件的功能并講解項(xiàng)目完成的思路,老師和其它同學(xué)對(duì)項(xiàng)目的有關(guān)問(wèn)題進(jìn)行提問(wèn),以此判定項(xiàng)目完成的好壞。期末考試方式是讓學(xué)生完成課程設(shè)計(jì)作品和設(shè)計(jì)報(bào)告,以對(duì)學(xué)生的實(shí)際開發(fā)能力和重點(diǎn)知識(shí)的掌握情況進(jìn)行考核。在確定課程設(shè)計(jì)題目時(shí),老師先提供一些中等難度的題目讓學(xué)生選擇,基礎(chǔ)一般的同學(xué)在這些題目中進(jìn)行選擇,基礎(chǔ)比較好的學(xué)生可以自己尋找其它題目,但要經(jīng)老師審核后方可作為課程設(shè)計(jì)題目。對(duì)于學(xué)生的考核作品,我們以課程設(shè)計(jì)答辯的形式對(duì)題目的難度、功能的完成情況以及創(chuàng)新性方面進(jìn)行考核,答辯組由4位以上的老師組成。對(duì)于設(shè)計(jì)報(bào)告,我們重點(diǎn)考核書寫的內(nèi)容的完整性和書寫格式的規(guī)范性。
六、結(jié)束語(yǔ)
通過(guò)以上綜合的論述,對(duì)基于CDIO的Android應(yīng)用程序開發(fā)教學(xué)改革進(jìn)行系統(tǒng)的論述,主要就是為了提高學(xué)生的主動(dòng)性和積極性,提高學(xué)生的動(dòng)手能力和綜合素質(zhì)。
[參考文獻(xiàn)]
[1]姜大志,孫浩軍.基于CDIO的主動(dòng)式項(xiàng)目驅(qū)動(dòng)學(xué)習(xí)方法研究——以Java類課程教學(xué)改革為例[J].高等工程教育研究,2012,04:159-164.
[2]胡文龍.基于CDIO的工科探究式教學(xué)改革研究[J].高等工程教育研究,2014,1:163-168.
[3]彭偉.CDIO模式下嵌入式技術(shù)專業(yè)數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)教學(xué)思考[J].軟件導(dǎo)刊(教育技術(shù)),2012,02:90-95.
作者簡(jiǎn)介:閆新寶(1986-),男,碩士研究生,研究方向:模式識(shí)別,數(shù)據(jù)挖掘,粗糙集。
中圖分類號(hào):G642;TP311.1-4
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1006-0049-(2016)07-0029-02
本文受廣西重點(diǎn)培育學(xué)科(應(yīng)用數(shù)學(xué))建設(shè)項(xiàng)目(SXYB2015004)資助。