朱艷平
(信陽農(nóng)林學院 信息工程學院,河南 信陽 464000)
所謂應用型本科是指以應用型為辦學定位,是本科層次的職業(yè)技術(shù)教育,是職業(yè)教育的高級化[1]。其人才培養(yǎng)的定位是在具有一定理論基礎的前提下,具有較強的動手實踐能力、創(chuàng)新能力、職業(yè)拓展能力和繼續(xù)深造能力[2]。在應用型本科院校計算機類的相關(guān)專業(yè)中,軟件開發(fā)類課程占了很大的比重。這類課程具有較強的實踐性、工程性,更強調(diào)提高動手能力,解決實際問題[3]。隨著智能手機和平板的普及,移動應用開發(fā)也已成為熱門[4-5]。作為主流移動端操作系統(tǒng)的Android,人才出現(xiàn)了較大的缺口,人才培養(yǎng)顯得尤為重要[6]。
軟件開發(fā)類課程具有共同的特點,即要求學生的動手實踐能力強。而現(xiàn)階段該類課程也存在著共性的問題,就是難以在“理論”和“實踐”之間做出平衡,很難達到理想的教學效果。本文以“Android移動開發(fā)技術(shù)”為例,對軟件開發(fā)類的課程進行研究,提出改革方案。
以信陽農(nóng)林學院網(wǎng)絡工程專業(yè)為例,對其課程體系進行分析。“Android移動開發(fā)技術(shù)”在第4學期開設,“Java Web軟件開發(fā)”和“軟件工程”在第6學期,并在第7學期開設了“Android高級應用”。學習Android開發(fā),需要具備Java Web的相關(guān)知識。而從上述課程體系中可以看出,“Java Web軟件開發(fā)”是在“Android移動開發(fā)技術(shù)”之后開設,不利于Android知識的學習。另外,作為軟件開發(fā)類課程,倡導項目教學,可作為項目管理的“軟件工程”卻在第6學期才開設,不利于項目教學的展開。最后,“Android高級應用”開設在第7學期,不利于知識的連續(xù)性。
對于“Android移動開發(fā)技術(shù)”課程也存在著下述問題:講授內(nèi)容很難在“理論”和“實踐”之間做出平衡;上課時間不集中,學生往往學完之后沒能及時復習,再上課時就把前面所學的知識全忘記了;雖然采用案例教學,但案例的選擇并不科學;現(xiàn)有教材并不能滿足教學的需要。另外,學生對學習軟件開發(fā)類課程的興趣不高,當在學習過程中遇到困難時,容易產(chǎn)生放棄的念頭。
根據(jù)“Android移動開發(fā)技術(shù)”教學存在的問題,提出如下改革策略。
作為前導課程的“Java Web軟件開發(fā)”和項目管理的“軟件工程”,應在“Android移動開發(fā)技術(shù)”之前開設;“Android高級應用”作為“Android移動開發(fā)技術(shù)”的后續(xù)課程,應緊跟其后進行開設,中間不要間隔學期。
首先要研究學生的學習曲線,學生在學習軟件開發(fā)類課程時要經(jīng)歷3個階段,即單詞階段、語句階段和邏輯階段。單詞階段是記不住代碼中關(guān)鍵字的拼寫,語句階段是記不住代碼中語句的語法,邏輯階段是弄不清完成項目需求的業(yè)務邏輯。因此,學生在寫程序時就存在著兩大瓶頸:(1)處于單詞階段和語句階段的學生過不了編譯這一關(guān);(2)處于邏輯階段的學生如何從抄代碼過渡到自己寫代碼。
根據(jù)學生的上述特點,可將講授內(nèi)容分為3個階段。(1)Android知識講解,采用案例教學,演示示例代碼,學生抄代碼。(2)做小項目,要求學生按流程抄代碼。(3)做一個大項目,綜合使用前面所學內(nèi)容。案例和項目的選擇要符合以下要求:要覆蓋若干個核心知識點,具有分層性;要貼近生活實際、生動有趣;規(guī)模適當;難度適中。
與信陽農(nóng)林學院有合作關(guān)系的企業(yè),他們會用4個月的時間集中培訓學員,使其具備Android應用開發(fā)的能力,其總學時可達到618學時。而在學校一般情況下,“Android移動開發(fā)技術(shù)”的總學時為72學時,再加上后續(xù)開設的“Android高級應用”的72學時,總學時才為144學時,且每周只有4學時。為了提高教學效果,可采用集中授課的方式,將該門課的授課時間集中在學期的前幾周或是后幾周進行。
(1)畫分析圖:為了使學生對如何實現(xiàn)項目需求有整體的認知,需要分模塊畫出項目的業(yè)務流程圖和數(shù)據(jù)流圖,以及各個類之間的關(guān)系圖。
(2)做筆記:為了便于學生的復習,教師在講授過程中需要做筆記,將講授的知識點、畫的分析圖以及關(guān)鍵操作步驟的截圖放在筆記中。學生在課后復習的時候,有哪里不清楚,看一下筆記就一目了然了。
(3)代碼中做注釋:教師在講授過程中,要堅持自己寫代碼,不提倡復制粘貼代碼,以提高自身的代碼能力。并要求嚴格遵守代碼規(guī)范,做好注釋。這樣學生再看教師寫的代碼,才知道是什么意思。
(4)版本教學:由于所選案例和項目具有分層性,故可按項目功能的多少進行版本教學,后一版本是在前一版本上增加了新的功能。結(jié)合版本比較軟件Beyond Compare的使用,使學生更容易理解和掌握。
(5)教與練相結(jié)合:為了實現(xiàn)教與練相結(jié)合,可采用教學做一體化,實踐教學層次化的方法。教學采用模塊教學,案例教學,項目教學;學生組建項目團隊,采取幫扶策略,1個團隊由1名優(yōu)秀生,2~3名中等生和1名差生構(gòu)成;鼓勵并指導學生參加各種競賽;加強校企合作,使其成為學校教學的有力補充。
(6)提供給學生自學資料:可提供給學生一些技術(shù)論壇、博客,網(wǎng)絡視頻課,教學資源庫等自學資源,教會學生利用這些資源擴展自己的知識面,解決遇到的實際困難。
(7)語言的藝術(shù):軟件開發(fā)類的課程專業(yè)詞匯多,開展項目的過程復雜,學生不容易理解。如何把授課內(nèi)容講得通俗易懂,且具有幽默感,讓學生樂于與教師互動,這是每一個計算機教師都應該修煉的語言藝術(shù)。
大多數(shù)院校一門課的成績往往由期末考試來衡量,這種考核方式并不能顯示出學生實際開發(fā)能力的強弱。因此取消期末考試,成績的評定由以下幾個部分構(gòu)成:平時出勤率占20%、案例和小項目的實現(xiàn)情況占30%、課程設計成績占50%,另外還要考慮學生的實訓情況和參加競賽情況??己朔绞阶兊枚嘣拍芫C合評定學生對該門課的掌握情況。
教師在多年的教學過程中,積累了豐富的經(jīng)驗。選擇教學案例和小項目的時候,更是費盡心血。有些案例是來源于學生,并不斷加以精煉的。故教師可將這些案例和小項目作為基礎,編寫該類課程的配套教材,這將成為此類課程能夠取得良好教學效果的有力保障。
本文分析了應用型本科軟件開發(fā)類課程的共同特點,并以“Android移動開發(fā)技術(shù)”為例,闡述目前該類課程教學存在的問題,以及如何從課程體系、授課內(nèi)容、授課時間、教學方法、考核方式以及教材編寫等幾個方面進行改革。這對激發(fā)學生的學習興趣、提高其動手實踐能力、項目研發(fā)能力和自學能力起著積極的促進作用。