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