基于Python的少儿编程线上教育平台设计与实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:gsfv85
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着信息技术和互联网技术的发展,编程思维和编程能力的培养引起社会的关注,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所示。   4系统实现
  系统实现了用户的注册登录、密码重置和个人中心及课程、教师和机构等功能。在实现上述基本功能后,继续探索实现了直播功能,该功能采用了腾讯云的直播云推流服务的api,具体步骤如下:
  1)配置推流域名和播放域名。
  2)获取推流地址,在不同终端进行直播推流,腾讯云官方提供推流工具、亦提供推流的SDK,可以自己开发推流功能。
  3)获取播放地址,web提供js配置TCPlayerLite 播放器,进行直播播放。
  5结束语
  基于Python的少儿编程线上教育平台采用了Djang框架,它具有成熟的MVT结构体系。通过设计模板的原理,将项目功能划分为六个App,采用CBV的方式组织视图类以及项目的封装。项目采用mysql数据库,通过Openresty作为web服务器保证了系统的高性能和高并发。后续将继续完善系统的移动端及微信小程序。
  参考文献:
  [1] 徐建华,芦念婷,李晓明,等.基于Scratch的少儿编程教学研究[J].电脑知识与技术,2020,16(3):98-100.
  [2] 刘立勋,蔡悦,许秀婷,等.少儿编程玩具的探索与实现[J].科技传播,2019,11(20):81-83.
  [3] 胡阳.Django企业开发实战[M].北京:人民邮电出版社,2019.
  [4] 夏亚丽,戴志涛.基于Django的O2O家庭酒店商务平台[J].软件,2016,37(12):121-128.
  [5] 朱贇.Python语言的Web开发应用[J].电脑知识与技术,2017,13(32):95-96.
  [6]Dauzon S,Bendoraitis A,Ravindran A.Django:Web Development with Python[M].Packt Publishing Ltd,2016.
  [7] 屈倩倩,闞红星,高勇.基于Blockly可视化编程教育系统的设计与实现[J].微型电脑应用,2020,36(8):145-147.
  [8] 吴晓龙.基于微服务架构的在线学习系统设计与实现[D].济南:山东师范大学,2019.
  【通联编辑:谢媛媛】
其他文献
摘要:大数据时代背景下,计算机网络中的不确定因素进一步增多,这给计算机网络安全工作带来了一定的困难,需要对安全工作进一步研究。基于此,本文对此进行了探讨,通过分析当前计算机网络安全问题,提出了相应的安全技术和管理策略,以期为计算机网络安全方面提供解决对策。  关键词:大数据;计算机网络;网络安全;解决对策  Abstract: Under the background of the era of
摘要:高校基层党建工作需向信息化、数字化、智能化方向发展以适应新时代的要求。通过构建智慧党建平台,扩大组织覆盖面、规范党员活动,提高工作效能,提升党建工作的标准化、专业化水平。根据高校党建的党建宣传、在线教育、互动服务、党务管理、党员评价、决策分析六方面服务需求,提出平台的建设框架以及技术路线,并设计相关功能模块。平台对各项党建信息数据进行了整合分析,形成了数字化、智能化的党建工作运行全图。  关
摘要:為了增加跑步健身运动中计步数值的精确性以及跑步的趣味性,设计了基于红外光电传感器、OLED显示屏、MP3模块以及STM8L嵌入式微处理器的健身跑步计步器系统,并实现了硬件电路和软件程序的功能。该系统通过红外光电传感器的发射端通电连续发射红外光,接收端接收红外红外线并转换成电信号,由单片机采集电信号并计数,结果在显示屏上显示。此外,加入MP3模块实现播放音乐和语音提示功能,增加了系统的娱乐性质
基于微信公众号的智慧校园访客系统从物理架构、逻辑架构、功能模块三个角度进行分析研究,将微信公众号、智慧门禁系统、访客系统、短信平台有效结合在一起,实现跨平台无纸化办公。系统开发借助微信OpenID、H5、SQL数据库技术搭建B/S架构,达到访客线上提前申请,线下入校自主验证出行的目的,改善了传统的线下访客人工记录信息流程烦琐的现状,提高了访客出入校园的工作效率,值得广泛推广使用。
摘要:现阶段计算机应用软件在开发环节,往往需要软件设计人员综合考虑,结合软件工程相关知识点,从而提升当前软件开发工作质量。该文主要介绍了当前常用的软件开发语言,并且对软件开发环节编程语言对于当前计算机应用的影响分析,详细提出了三点选择合适的编程语言方法,以供相关工作人员借鉴分析。  关键词:计算机软件;编程语言;开发平台;综合能力  中图分类号:TP311 文献标识码:A  文章编号:1009
摘要:生物多样性是群落生态学中的重要概念,α多样性指数普遍应用于生态学科学研究中。α多样性指数的计算与相关图像绘制,在数据处理与分析阶段是非常必要的。为获取α多样性指数相关数据信息,从规范的“物种-样地”二维矩阵初始数据格式出发,运用Python编程语言开发程序并通过测试,实现较高整合程度与较快计算速度,协助后续研究过程。  关键词:植物群落;α多样性;多样性指数;Python语言;程序设计  A
摘要:大数据时代,各类影视资源纷纷涌现,“信息过载”问题在影视行业愈发凸显,有效的电影推荐算法是解决这个问题的关键。本文首先总结了电影推荐的主流推荐算法,主要有协同过滤、基于内容的推荐和混合推荐三类算法,然后比较分析了几种推荐算法的优缺点。最后,针对推荐算法的发展方向,又对基于上下文的推荐算法进行了简单的介绍。  关键词:电影推荐;协同过滤;基于内容的推荐;混合推荐  Abstract:In th
众所周知,目前国内处于一个快速、重要的现代化社会建设进程当中,各种先进的技术开始进入到广大人民群众的视野当中,包含云计算、物联网和大数据技术等等,尽管目前这些技术已经在实际的社会发展过程中进行运用,并且取得了一定的效果,但是这些技术的价值和作用并未完全开发出来,在后续的发展过程中仍旧需要技术工作人员对其进行深入的研究和探索,使其各方面的作用和价值都能够体现出来,并且在实际的工作中进行运用,提升总体