孔祥躍
摘要:本文立足于Android開發(fā)實訓課程的課程培養(yǎng)目標,設計了基于“留言板”實訓任務的實訓課程,并運用分組教學法與項目教學法,對課程實施中學生分組方法及評分方法進行探討,最后將此課程設計運用于實際教學中,并取得了良好的效果。
關鍵詞:Android實訓;課程設計;軟件工程
中圖分類號:TP316-4 文獻標識碼:A 文章編號:1007-9416(2019)06-0155-02
0 引言
實訓課程是Android開發(fā)課程中重要組成部分。在這個課程中,學生開始自主獨立地進行項目開發(fā),完整地經歷了軟件工程中設計、編寫代碼、測試等階段,對學生未來職業(yè)能力的培養(yǎng)具有重大意義。因此,實訓課程的任務設計乃至其組織設計都具有很高的探討價值。對這門課程的安排一般是采用項目教學法[1-3],即布置學生完成一個實際Android APP項目。但這些課程設置總的來說比較粗放,里面存在著諸多問題:如實訓任務不夠貼合實際工程;教學組織方式不夠清晰等。針對這些問題,本文將在下文給出自己的設計方案。
1 課程培養(yǎng)目標
在實際的Android APP 軟件工程開發(fā)里,開發(fā)工作都是以團隊分工合作的方式展開,項目APP的運作模式也是以CS模式居多。根據這樣的實際情況,本文確定以下課程培養(yǎng)目標:
(1)從實際教情與學情出發(fā),設計滿足學生學習提升需求的課程;(2)在鞏固理論知識上基礎上,運用流行的開發(fā)技術開發(fā)貼近實際Android APP;(3)培養(yǎng)學生的工程開發(fā)的團隊協(xié)作意識;(4)培養(yǎng)學生的學習自主性。
從上述培養(yǎng)目標出發(fā),本文設計了以開發(fā)CS運行模式的“留言板”APP為目標的實訓,這個實訓綜合運用項目教學法與分組教學法。
2 課程設計
下文將分三部分對本課程設計進行闡述。
2.1 學生分組方案設計
在日常教學過程及考試成績了解到,部分學生知識掌握得并不牢靠,體現(xiàn)在基礎差、工程實踐能力差,這部分同學實際上無法獨立地完成本課程的任務;但可喜的是,部分學生已經對本門課程入門了,并具有一定的學習帶動能力,這也讓本設計內容的實施提供了可能。
上述情況在其它課程,乃至其它專業(yè)其它院系也普通存在,所以本設計所使用的“教師指定與自由組隊”的學生分組方法在分組教學中具有較普遍的指導意義,具體方法如下:
(1)選取班里成績排名前40%的同學,將他們編入若干組;(2)班里剩下同學自由加入上述編組。這樣的分組方法,即保證了每個小組的開發(fā)項目的“戰(zhàn)斗力”,又兼顧了組內各成員的和諧與默契。
2.2 學生實訓任務設計
該部分是本課程設計的重點環(huán)節(jié),實訓任務要求學生完成“留言板”,本設計在功能做一定的簡化,刪掉登錄功能,大大減小了任務難度。具體的模塊功能描述及要求、評分占比如表1所示。
從上表1可以看到“留言列表”及“留言詳情”兩個功能模塊代表了當前CS模式下客戶端與服戶端通信的兩種典型方式,即“獲取”與“提交”。需要指出的是,很多實訓的任務設計只要求學生實現(xiàn)在“獲取”的功能,這樣就大限制了學生的眼界。而為了讓這個兩個功能模塊能順利實施,本文使用Python開發(fā)了一個簡易的基于Flask框架的服務端;該服務端使用SQLite,只需要安裝相關Python模塊,無需另行安裝數(shù)據庫軟件,大大方便了部署。服務端的接口如表2所示。
在其它功能模塊方面,為了充分調動學生積極性,發(fā)揮他們的創(chuàng)造力,實訓任務還規(guī)劃了開放性的子任務,即上表中的“交互設計”與“界面”、“其它”模塊,要求學生尤其是學有余力的學生根據所學知識通過互聯(lián)網查找資料學習,最后發(fā)揮自身的能力進一步完善APP的功能。這樣的設計有助于培養(yǎng)學生的產品思維,任務只以“設計合理”、“美觀大方”等原則來約束學生的工作。
“中文顯示”與“中文提交”模塊是能力提高模塊,處理中文字符是客戶端與服務端常見而在日常教學中容易忽略的問題。
2.3 學生評分方案設計
本設計對于學生的評分方案,旨在激發(fā)學生的學習熱情并科學公平的評價每個學生在任務完成過程的付出,并且具有易實施性。
教師對學生進行時,首先評出各分組的項目得分,計算方法如下:
項目評分=80%*APP項目得分+20%*其它得分
其中APP項目得分的具體評分規(guī)則參見表1;而其它得分,則是教師根據項目組在實訓的課堂紀律情況及項目組織、代碼規(guī)范情況進行打分。之后,需要教師詢問組長,他對本組各成員的打分。最后即可按如下公式得到學生個人得分,即本課程的成績:
個人得分=(項目得分*項目人數(shù))*個人貢獻比
這樣的評分體系,充分發(fā)揮了教師及組長的監(jiān)督作用,體現(xiàn)了本課程的設計主旨。
3 課程實施與實施效果
3.1 課程實施
本課程設計選取高職移動互聯(lián)專業(yè)兩個班共100名學生進行實施。實施過程分為四個階段。
階段一,講解任務,教師給出并解讀任務書,并向演示學生生機演示樣例APP,并演示如何部署服務端程序。階段二,項目組組隊,以教師指定與自由組隊相結合方式進行,教師首先根據過住成績將全班50名學生中前20名學生遴選出來,將他們每2個一隊組成10隊;剩下的同學可以自由加入上述10個項目組,并選出組長。階段三,項目實施,各組成員根據任務書中的分工建議選擇角色并開始任務,組長根據任務書建議的工作流合理安排項目進度,各成員開始任務實施。各成員完成各自任務后,由組長完成項目代碼整合,成員進行測試;對測試中發(fā)現(xiàn)的bug進行修復,形成提交成果。在這個過程中,教師需要適時掌握10個組的進度情況,將精力放在幫學生解決在過程中遇到的問題。階段四,項目驗收,教師對項目驗收,結合項目組在過程中紀律情況與項目完成情況打出項目得分;而每個成員會得到組長的組長評分;學生個人最終得分則是項目得分與組長評分經計算后的分數(shù)。
3.2 實施效果
為了解實施效果,本文在設計實施后還向學生發(fā)放了調查問卷,結果如表3所示。
從調查問卷的結果來看,學生對本設計的目標比較明確,大部分人至少能在同學的幫助下完成自己的任務模塊并且對自己在任務期間的表現(xiàn)感到滿意。總的來說,本課程設計取得了比較好的教學效果。
4 結語
本課程設計著眼于以貼近實際工程項目任務來提高學生的工程開發(fā)能力,在運行實施后取得比較好的效果,里面設計理念與具體做法值得其它類似學科教學借鑒。
參考文獻
[1] 程瑤.《軟件工程》教學中Android移動學習APP的應用分析[J].電子測試,2019(11):119-120.
[2] 羅會容,熊詩琪.基于Android的實驗中心信息管理系統(tǒng)設計與實現(xiàn)[J].江漢大學學報(自然科學版),2019,47(3):252-257.
[3] 劉旭花.基于安卓手機平臺的學習管理系統(tǒng)[J].智庫時代,2019(21):252-253.
Design and Practice of Android Training Courses
KONG Xiang-yue
(Guangdong Vocational College of Post and Telecom , Guangzhou Guangdong? 510000)
Abstract:Based on the training objective of Android development training course, this paper designs a training course based on the "message board" training task, by using group teaching method and project teaching method, this paper probes into the method of students'grouping and grading in the course implementation, finally the curriculum design is applied to the actual teaching, and good results have been achieved.
Key words:Android training; curriculum design; software engineering