席倩 安夢(mèng)生 張家源 張巍
摘要:隨著信息技術(shù)和互聯(lián)網(wǎng)技術(shù)的發(fā)展,編程思維和編程能力的培養(yǎng)引起社會(huì)的關(guān)注,Scratch的出現(xiàn)降低了編程教育的門(mén)檻,使得少兒編程迅速興起。為了進(jìn)一步推廣普及少兒編程教育,該文基于Python設(shè)計(jì)開(kāi)發(fā)一個(gè)線上教育平臺(tái),系統(tǒng)采用Django框架,利用CBV的方式組織視圖類(lèi)以及項(xiàng)目的封裝,使用MySql為后臺(tái)數(shù)據(jù)庫(kù),實(shí)現(xiàn)在線直播、視頻點(diǎn)播、師生在線互動(dòng)等功能,以期能推動(dòng)編程教育的推廣和發(fā)展。
關(guān)鍵詞:少兒編程;編程教育;在線直播;視頻播放;學(xué)習(xí)平臺(tái)
1 背景
隨著智能時(shí)代的加速到來(lái),我國(guó)正向世界人工智能產(chǎn)業(yè)引領(lǐng)者邁進(jìn)。為更好地適應(yīng)社會(huì),少年兒童需要擁有一定的編程思維[1-2]。雖然中國(guó)東部很多城市已經(jīng)出現(xiàn)了一些少兒編程的培訓(xùn)機(jī)構(gòu),但是更多落后的中小城市因地域的原因、師資缺乏、人們觀念沒(méi)有跟上以及地方政策的因素,未形成一個(gè)良好的少兒編程教育生態(tài)。所以綜合來(lái)看,我國(guó)少兒編程的發(fā)展還是遠(yuǎn)遠(yuǎn)落后于已經(jīng)開(kāi)展少兒編程的其他海外國(guó)家[3-5]。
文章主要研究少兒編程領(lǐng)域發(fā)展現(xiàn)狀,以及國(guó)內(nèi)外現(xiàn)有線上教育平臺(tái)的運(yùn)行模式。最終目標(biāo)是建設(shè)一個(gè)可以實(shí)現(xiàn)注冊(cè)、登錄、在線課程播放、在線直播、線上互動(dòng)的少兒編程為主題在線學(xué)習(xí)平臺(tái)。系統(tǒng)以在線視頻和在線直播為主要形式,降低少兒編程學(xué)習(xí)的門(mén)檻。將少兒編程領(lǐng)域的教育資源更高效、更低成本的傳播,緩解少兒編程教育生態(tài)的環(huán)境。
2 系統(tǒng)需求分析
2.1 前臺(tái)功能需求
1)基礎(chǔ)功能:系統(tǒng)應(yīng)當(dāng)包含基礎(chǔ)的用戶(hù)注冊(cè)與登錄;通過(guò)SMTP郵件服務(wù)器驗(yàn)證用戶(hù)郵箱真實(shí)性;應(yīng)有完整的個(gè)人中心,便于資料修改,以及課程學(xué)習(xí)情況的統(tǒng)計(jì);還應(yīng)具備全局搜索功能,便于用戶(hù)搜索所需課程。
2)課程功能:課程管理、教師管理、授課機(jī)構(gòu)的管理;在線視頻播放功能;在線直播觀看功能;熱門(mén)課程、相關(guān)課程智能推薦;學(xué)習(xí)時(shí)間統(tǒng)計(jì)。
3)互動(dòng)功能:對(duì)喜歡的課程、教師進(jìn)行訂閱收藏;課程評(píng)論互動(dòng);課程資源下載;站內(nèi)消息通知。
2.2后臺(tái)功能需求
1)課程管理功能:課程功能除了基礎(chǔ)的增刪改查功能,還應(yīng)包含課程資源的管理、課程評(píng)論的管理、課程推薦功能以及課程數(shù)據(jù)導(dǎo)出功能。
2)系統(tǒng)權(quán)限功能:系統(tǒng)除了最基本的用戶(hù)管理以外,還應(yīng)根據(jù)不同的用戶(hù)需求,設(shè)有用戶(hù)組管理,不同的用戶(hù)組可以進(jìn)行權(quán)限管理,以及用戶(hù)日志等數(shù)據(jù)導(dǎo)出。
3)機(jī)構(gòu)管理功能:課程機(jī)構(gòu)和教師管理、輪播圖推薦及數(shù)據(jù)導(dǎo)出。
3 系統(tǒng)設(shè)計(jì)
3.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
文章基于Django框架,采用MTV模式設(shè)計(jì)系統(tǒng)的結(jié)構(gòu)。根據(jù)MTV模式設(shè)計(jì)原則,將不同的功能劃分為不同的App,每個(gè)App就是一個(gè)包。不同的App本質(zhì)上是不同的功能集合,這主要是為了降低項(xiàng)目的耦合,也更便于url路由分配[6-8]。
3.2系統(tǒng)功能設(shè)計(jì)
1)用戶(hù)功能設(shè)計(jì)
用戶(hù)是整個(gè)系統(tǒng)的主要客戶(hù),用戶(hù)模塊即為核心模塊,基于上文分析,用戶(hù)主要有注冊(cè)功能、登錄功能和個(gè)人中心。
注冊(cè)功能:首次進(jìn)入系統(tǒng),需要完成用戶(hù)注冊(cè),根據(jù)需求填寫(xiě)對(duì)應(yīng)信息。
用戶(hù)提交注冊(cè),后臺(tái)訪問(wèn)并驗(yàn)證用戶(hù)提交的信息,首先驗(yàn)證郵箱是否被注冊(cè),若注冊(cè)則彈出提示,并返回登錄界面,否則錄入數(shù)據(jù)庫(kù),同時(shí)賬戶(hù)狀態(tài)設(shè)為未激活。通過(guò)使用QQ郵箱的第三方SMTP郵箱服務(wù)器,發(fā)送帶有驗(yàn)證code的鏈接,驗(yàn)證郵箱真實(shí)性。
用戶(hù)查看email,點(diǎn)擊驗(yàn)證鏈接,訪問(wèn)帶code的鏈接,向后臺(tái)提交一個(gè)code字符串,字符串會(huì)與數(shù)據(jù)庫(kù)中的字符串進(jìn)行匹配,通過(guò)驗(yàn)證則賬戶(hù)狀態(tài)更新為活躍,并且跳轉(zhuǎn)到登錄界面。若不匹配,則賬戶(hù)激活不通過(guò),無(wú)法登錄。
登錄功能:用戶(hù)注冊(cè)成功后,只需要填寫(xiě)注冊(cè)郵箱、密碼、隨機(jī)驗(yàn)證碼,即可正常登錄。若輸入錯(cuò)誤,則返回對(duì)應(yīng)的錯(cuò)誤信息。
個(gè)人中心:用戶(hù)登錄成功后,右上角會(huì)有個(gè)人狀態(tài),可以點(diǎn)擊進(jìn)入個(gè)人中心。
2)課程功能設(shè)計(jì)
課程功能是為用戶(hù)提供學(xué)習(xí)服務(wù)的主體功能,主要分為以下幾個(gè)功能:
①課程列表:用戶(hù)在首頁(yè)點(diǎn)擊公開(kāi)課,即可進(jìn)入相應(yīng)頁(yè)面。頁(yè)面對(duì)課程進(jìn)行分頁(yè)處理,每一頁(yè)顯示六門(mén)課程,每一門(mén)課程包含:課程圖片、課程名稱(chēng)、課程時(shí)長(zhǎng)、學(xué)習(xí)人數(shù)、收藏次數(shù)以及授課機(jī)構(gòu)。
②課程詳情:課程詳情頁(yè)面包含課程名稱(chēng)、課程簡(jiǎn)介、課程難度、學(xué)習(xí)時(shí)長(zhǎng)、章節(jié)數(shù)量以及課程所屬類(lèi)別。課程介紹下面應(yīng)有課程具體介紹,以及側(cè)邊應(yīng)有授課機(jī)構(gòu)簡(jiǎn)介。用戶(hù)也可以在本頁(yè)面收藏課程,便于下次學(xué)習(xí)。
③課程章節(jié):用戶(hù)在課程詳情頁(yè)面點(diǎn)擊開(kāi)始學(xué)習(xí),即可進(jìn)入課程章節(jié)頁(yè)面。該頁(yè)面要強(qiáng)調(diào)課程難度、學(xué)習(xí)時(shí)長(zhǎng)以及學(xué)習(xí)人數(shù)。課程按照章節(jié)分類(lèi),側(cè)欄顯示教師信息及教師寄語(yǔ)。
3)課程機(jī)構(gòu)功能設(shè)計(jì)
課程機(jī)構(gòu)模塊,為便于用戶(hù)了解課程的來(lái)源及機(jī)構(gòu)信息、學(xué)習(xí)該機(jī)構(gòu)的其他課程。
①機(jī)構(gòu)列表:用戶(hù)點(diǎn)擊導(dǎo)航欄授課機(jī)構(gòu),即可進(jìn)入機(jī)構(gòu)列表頁(yè)面。每頁(yè)顯示四個(gè)機(jī)構(gòu)。每一列顯示機(jī)構(gòu)LOGO、機(jī)構(gòu)的名稱(chēng)、課程數(shù)量、學(xué)習(xí)人數(shù)、機(jī)構(gòu)地址、推薦課程,以及聯(lián)系方式。機(jī)構(gòu)的排序根據(jù)學(xué)習(xí)人數(shù)和課程數(shù)量,在model中設(shè)置調(diào)取course-nums的數(shù)值來(lái)排序,并且可以根據(jù)列表和所在地區(qū)進(jìn)行排序。
側(cè)欄設(shè)有一個(gè)Form表單,便于用戶(hù)可以留言,后臺(tái)驗(yàn)證手機(jī)號(hào)格式是否符合標(biāo)準(zhǔn),若符合則寫(xiě)入數(shù)據(jù)庫(kù),便于管理員查看。
②機(jī)構(gòu)詳情頁(yè):主體部分分為三塊內(nèi)容,機(jī)構(gòu)所屬課程、機(jī)構(gòu)教師信息、機(jī)構(gòu)團(tuán)隊(duì)介紹。側(cè)欄可以分類(lèi)查看詳情。
3.3數(shù)據(jù)庫(kù)設(shè)計(jì)
系統(tǒng)E-R圖,顯示了實(shí)體與實(shí)體之間的關(guān)系模型。系統(tǒng)中涉及的實(shí)體有:用戶(hù)、課程、視頻,用戶(hù)實(shí)體包含以下屬性:用戶(hù)id號(hào)、用戶(hù)名、郵箱、密碼、性別、出生年月日、地址、是否激活、手機(jī)號(hào)、頭像、注冊(cè)時(shí)間、最后登錄時(shí)間。課程實(shí)體主要包含以下屬性:課程id、課程名稱(chēng)、課程描述、課程詳情、是否輪播推廣課程、學(xué)習(xí)時(shí)長(zhǎng)、學(xué)習(xí)人數(shù)、收藏次數(shù)、課程須知、所屬教師介紹、添加時(shí)間、所屬教師id等。視頻資源實(shí)體主要包含以下屬性:視頻id、視頻url、視頻名稱(chēng)、觀看次數(shù)、添加時(shí)間、章節(jié)id等。系統(tǒng)E-R圖如圖1所示。