席倩 安夢生 張家源 張巍

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