鐘元生 高成珍



摘要:分析國內已有Android編程教材,指出高校Android課程必須掌握的知識,結合高校課堂教學特征,提出在建構主義相關理論指導下高校Android編程教材的結構和編寫要點,闡述《Android應用開發教程》教材的特點和優勢。
關鍵詞:建構主義;Android編程;教材設計
0、引言
近年來,我國移動互聯網迅猛發展,智能手機用戶數量連年上升,已近4億,其中,Android手機市場占有率超過80%,移動軟件開發人員需求旺盛,因此許多高校開始嘗試開設Android相關課程,但是,各高校普遍存在師資缺乏、適用教材難尋等問題。
教材作為體現教學理念、教學內容、教學要求、教學模式的知識載體,在教學過程中起著引導教學方向、保證教學質量的作用,因此,符合高校課堂教學需求的教材非常重要。目前已有的Android相關書籍大部分是技術參考書、培訓用書或經典案例教程,大多不符合高校Android相關課程的教學需要。
Android編程課程重基礎與實踐,而且教學課時短,強調“師傅引進門、修行在個人”。建構主義認為,學習不是通過教師傳授而來,而是學習者在一定的情境,即社會背景下,借助他人的幫助,利用必要的學習資料,通過意義建構的方式而獲得的。它要求學生用探索法、發現法來建構知識,強調學習中的互助合作,要求學生主動收集和分析有關的信息和資料,對所學的內容進行建構。這一觀點非常符合高校Android課程的教學特征,因此可以嘗試從建構主義視角去分析和設計Android編程教材。
1、國內Android圖書現狀分析
1.1 Android圖書出版情況
筆者于2014年1月在當當網以“Android”為關鍵字對相關書籍進行搜索,共搜索到288本(有些Android書籍可能未在當當網上銷售),其中2009年出版的僅有7本,2010年出版的有22本,2011年出版的有54本,2012年出版的有113本,2013年出版的有92本,可知近兩年出版的Android書籍很多(見圖1)。
根據書籍主講內容,我們可將288本書分為以下7類:Android應用開發入門、Android手機游戲開發、Android案例開發教程、Android手機操作、Android高級編程(如網絡編程和3D編程等)、Android系統原理與內核、Android安全。其中,Android應用開發入門與Android手機游戲開發書籍居多,與人才市場上Android應用開發工程師和Android游戲開發工程師需求量相符。
根據內容介紹、目錄以及編寫體例等內容,圖書可分為以下5類:①技術人員根據自己的開發經驗和成果總結成的學習筆記或技術手冊;②培訓機構根據培訓實踐在培訓講義基礎上整理的培訓教材;③詳細介紹經典案例的案例教程;④國外優秀Android書的翻譯本或改編版;⑤高校教師設計和編寫的教材。這些圖書以面向就業、自學、培訓導向居多,由教學經驗豐富的高校教師根據高校培養目標和教學特點設計的面向高校學生的教材則非常少。
此外,封面上明確標明各級各類規劃教材或系列教材的不到30本,說明多數教材為零散行為。從圖書篇幅來看,技術手冊、培訓教材、案例教程篇幅往往較長,在500頁左右,而高校教材的篇幅大部分在300頁甚至200頁以內。
1.2 Android教材內容分析
筆者選取了10本Android應用開發入門教材(見表1)進行比較,以確定Android應用開發入門所需掌握的知識點,選取時主要參考以下4點:①封面標明XXX規劃教材或XXX系列教材;②多個出版社出版的;③盡量最近出版;④銷量比較大的(如已改版)。
表2所示為10本教材在所含知識點、教材闡述方式(如是否包含綜合示例、章節小結和課后練習等)的統計。由表2可知,Android應用開發入門必須包含Android環境搭建、Android界面設計、Android事件處理、Handler消息處理等Android的四大組件,以及Intent、Android中數據的存儲等知識點,而簡單圖形圖像、Android資源介紹、網絡編程、多媒體編程、游戲開發、NDK開發、位置服務和地圖、綜合示例等可作為拓展知識,讓學習者進行選擇性的學習。
Android課程現有教材存在兩種傾向:一種是過分強調實踐,教材中詳細列出了各個操作的步驟,缺乏必要的理論、原理的介紹,大部分學生根據教材講解能夠完成案例、實現功能,卻不能舉一反三,這種教材隨著Android技術的更新與發展很容易被淘汰;另一種是過分強調理論的系統性、邏輯性,而忽視了實踐能力培養,教材中詳細列出了各個知識點的作用或功能說明,學生可以對Android有大致了解,明白如何做Android開發,但是要具體開發某個示例時,卻無從下手。
由于Android編程是一門實踐性、應用性非常強的新課程,理論與實踐間需要有效平衡,因此有必要分析Android課程的特點、結合高校教學特色,探索和設計一本符合高校教學要求的Android優秀教材。
2、Android編程教材設計
2.1 教材設計理念
Android編程是Android應用開發的入門級課程,除了要講解Android應用開發理論基礎,培養學生Android應用開發基本技能,更重要的是教會學生學習Android編程的方法,養成規范的代碼編寫習慣,為后續Android高級應用開發學習打好基礎。因此,在教材設計時,理論與實踐要對半分,理論部分本著常用、實用、夠用原則來編寫,實踐部分注重運行效果、功能的分析,通過設問引發學生的思考。在教材中只列出一些關鍵代碼,完整的功能實現則由學生自主完成。
高校課程教學與社會培訓集中授課不同,具有課時少、間隔長、課堂教學內容有限、對學生課后要求不高等特點。通常,一門課程一個星期只上一次。若想讓學生在有限的時間內學好課程,就需要激發他們的學習興趣,讓其主動地進行課后學習。因此教材中教學示例的選取要盡可能貼近學生生活,讓學生在生活中再次遇到該情景時,會自然聯想到課上所學的知識,有助于知識的遷移與鞏固。教材中應多引導學生進行思考與討論,只有學生積極參與課堂學習,印象才會深刻;同時,教材中應有明確的教學目標、清晰的知識結構圖、簡練的章節小結,以方便學生掌握重難點和復習。endprint
除此之外,教材設計時,還需注意學生的個性化需求,內容要有層次性;教材內容要與時俱進,基于最新版本,以市場需求為導向;教材篇幅要適中,以免給學生帶來畏難情緒。
2.2 教材體系結構設計
通過前面的分析,我們已確定Android編程必須包含的知識點以及一些可選的知識點,考慮到可選知識點之間相對獨立、高校教學課時有限、教材篇幅不宜過長等問題,沒必要將所有可選內容都放到教材中。根據市場需求和知識使用的頻率,最終選取的可選知識包括簡單圖形圖像、網絡編程、位置服務和地圖、綜合示例。對于相同的知識點,不同的教材組織順序會有所不同,但有些知識點之間有嚴格的先后關系。知識點間的關系如圖2所示。
組織教材內容時,主要參考知識點間內在的先后聯系、知識點的難易程度以及知識點的使用頻率。綜合考慮教材單個章節的內容不宜過多(如將Android界面設計分為Android界面編程基礎和Android界面編程高級兩章),知識對比學習(如將數據存儲之SharedPreference、數據存儲之文件存儲、數據存儲之SQLite數據庫等合為一章)等因素,最終將教材分為三大部分:基礎入門篇、技能提升篇和專題教學篇。
基礎入門篇主要講解Android編程最基礎的知識,如界面設計、事件處理等。通過該部分的學習,學生能夠設計出一些簡單的手機軟件界面,對手機軟件有一個視覺感官體驗,但不涉及業務邏輯處理,處于設計階段。
技能提升篇主要講解Android比較核心和特色的內容,如Android的四大組件、Android的數據存儲等。通過該部分內容的學習,學生將對Android應用程序的開發步驟和執行原理有一個比較深的領會,能夠自主開發一些有一定功能的應用程序。這部分的學習會經常設計業務邏輯代碼,進入編程階段。
專題教學篇主要是對Android應用開發中的高級部分進行專項學習,如網絡編程、位置服務等。這部分內容學生可根據興趣以及實際需求進行選擇性地學習。通過該部分內容的學習,學生將對某一塊Android應用開發非常熟練。
教材設計時,考慮到學習者的個性化特征,可以將知識有針對性地分為基礎、進階、高級等,并在教材中給出明確標記,使不同層次、水平的學生都能夠從教材中學習到相應的技能。同時,作為一本教材,學完每一章內容后,應及時進行總結,讓學生從眾多知識點中把握重難點,梳理知識點之間的邏輯關系。還應對學生所學內容進行形成性評價,以便及時獲取學生的掌握效果,幫助教師調整教學方案和教學進度。因此,每章除了教學內容外,還包括章節小結和課后習題。Android手機編程教材最終的目錄安排如表3所示。
2.3 教材章節內容設計
教材每章內容包括:本章要點、本章知識結構圖、本章示例截圖、本章概況、知識點介紹、示例效果演示、示例界面分析、示例程序結構分析、關鍵代碼展示、注意事項、問題與討論、本章小結和課后練習。章節內容組織順序如圖3所示。
“本章要點”部分簡要概括本章包含的知識點以及需要達到的目標,學生帶著目的去學習,更能抓住重點;“本章知識結構圖”部分則通過圖解展現各知識點間的邏輯關系,一目了然,方便讀者課后復習和回憶;“本章示例截圖”部分展示本章將要實現的案例效果,給學生直觀印象,使之明白學完本章內容后,能夠做什么,吸引學生注意力;“本章概況”部分則用文字描述本章的主要內容,與前面所學知識點之間的關系,以及這些內容有什么作用、能夠干什么、有哪些應用?!爸R點介紹”部分講解各知識點功能、如何使用等;接著通過一個具體的示例將相關知識點關聯起來。示例設計以貼近學生生活實際、實用為原則,盡可能將前面所學內容添加進來,以方便學生復習、鞏固。首先是“示例效果演示”,展示示例運行的效果圖,以及用戶操作后相關界面變化的效果圖;然后用圖解法對這些效果圖的界面進行分析,使讀者明白界面具體是如何實現的;接下來即可進行代碼的編寫。但教材不是視頻,視頻教學可以手把手教編寫代碼,而教材更多是教如何閱讀已有的代碼,它是一個展示代碼的載體,應注重代碼整體結構分析,使學生快速了解該程序包含哪些文件,每個文件的作用又是什么,使學生明白其原理,啟發學生思考,而不應只列出長長的代碼,讓學生立即鉆入代碼實現的細節中,機械地記憶代碼。
了解程序結構之后,下面就是對一些比較關鍵的代碼進行詳細說明。教材中不宜列出所有的代碼,一方面容易使教材篇幅過長,另一方面不能為學生留下思考的余地。代碼的表現形式要方便讀者閱讀和教材自身描述,主要采取以下措施:①顯示代碼所在文件的相對路徑,方便學生快速定位;②對于部分關鍵語句給出必要注釋;③為每行代碼添加行號。即使關鍵代碼也要符合代碼編寫規范。程序的完整代碼可共享在網站上,由學生自由下載。學生通過書上給出的代碼并不能運行得到結果,需要根據自己的理解,把代碼補充完整,這也符合維果斯基的“最近發展區”理論。學生通過自己的努力實現效果,提高其成就感,確實做不出來時也可以下載和參考給出的代碼,與之比較存在哪些差異,這也是一種提升的手段。
“注意事項”部分主要提示代碼中一些容易出錯的地方、程序運行中可能會出現的問題以及一些編碼規范要求說明,在教材中以加粗、下劃線或對話框的形式引起學生注意。同時對程序中的一些關鍵步驟和問題引發學生討論,例如不這么做可不可以?如果要添加一個功能,怎么實現等。通過這種方式啟發學生思考、課后實踐、舉一反三,促使學生知識的遷移。
“本章小結”回顧本章所學知識,突出本章的重點和難點,幫助學生梳理、復習所學知識。最后是“課后練習”,既包括基礎概念題,也包括擴展實踐題,對本章的示例效果給出建設性的修改意見,讓學生課后自主實現,誘導學生去思考、探討某些問題,方便教師及時檢查學生知識的掌握程度,從而調整教學方式。學生也可在課后實踐中提高自己的技能,鞏固所學知識。
3、教材應用綜述
《Android應用開發教程》教材編寫后,經過內部試用、培訓班講義等多輪使用,再根據使用效果進行改編,并于2013年1月在江西高校出版社出版。該書出版一年來,被江西省11所高校選用,如江西師范大學、江西財經大學、東華理工大學、贛南師范學院等本科院校以及江西應用技術職業學院、南昌工學院、江西環境工程職業學院等多所??圃盒#魇⊥庖灿刑旖蛑械侣殬I技術學院、廈門理工學院軟件學院等十多所高校選用本書,累計已有2000多學生使用。本教材的出版,帶動了部分高校開設Android相關課程,同時吸引了一批網友的關注。許多教師與網友反映,教材實用、通俗易懂、深入淺出、可讀性強,特別適合于大學課堂教學和入門自學。
為了方便學校使用,我們還開發了教學大綱、電子課件、測試題庫等一系列教輔資源,錄制了“手把手教你學Android4.1”系列演示視頻,建立了課后輔導答疑群。其中,教學視頻完全公開于土豆網和傳課網,單個視頻累積播放最高達5000多次,該書的學習交流群(群號287966120)現有成員800余人,大多是看了網絡視頻資源后加入的,而且還在不斷增長。很多自學者反映,自己看其他教材和視頻看了很久都不理解的內容,聽了本書的教學視頻后,很快就懂了,并期望我們再開發Android高級編程教材及相關的應用視頻。
美國納斯達克上市公司弘成教育集團(Nasdaq:CEDU)下屬弘成科技發展有限公司也與我們簽約合作,在其遠程教學平臺上基于本教程開設Android編程的在線課程。
4、結語
隨著Android系統在移動互聯網領域的普及,將有越來越多的高校開設Android相關課程。一部好的教材對人才培養無疑起著重要的指導作用。Android教材設計需要結合課程特點和高校特色,借助多種媒體,從不同角度、不同層次開發。今后我們將繼續探索和建設Android編程課的教學資源,開發融學習、訓練、測試、輔導于一體的課程資源體系,使不同形式的教學資源互相支持,最大程度地方便教師授課以及學生學習。endprint