一种基于Python的计算思维教学系统的制作方法

文档序号:21027329发布日期:2020-06-09 20:00阅读:144来源:国知局
一种基于Python的计算思维教学系统的制作方法

本发明属于计算机与网络技术领域,特别是涉及基于python的计算思维教学系统。

技术背景

python语言的由于简洁性、易读性以及可扩展性,在国外用python做科学计算的研究机构日益增多,一些知名大学已经采用python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用python语言讲授。众多开源的科学计算软件包都提供了python的调用接口,例如著名的计算机视觉库opencv、三维可视化库vtk、医学图像处理库itk。而python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:numpy、scipy和matplotlib,它们分别为python提供了快速数组处理、数值运算以及绘图功能。因此python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。

在现有的计算思维培养课程中,数据结构和算法初步的部分知识点由于比较抽象,特别是对于初高中学生来说,理解有一定难度,传统的教学模式主要依靠教师面授讲解,不利于激发学生学习的主动性和积极性。随着计算机技术的不断发展,在线教学系统不断改进升级,但目前尚没有一种基于python的、结构简单、操作方便且能够以可视化方式形象地展示高中信息技术课中数据结构和算法初步的部分知识点的基于python的计算思维教学系统。



技术实现要素:

针对以上技术问题,本发明提供了一种基于python的计算思维教学系统,利用“停车场”模型可视化地展示数据结构知识点,趣味性强,可以给学生更好的学习体验,通过该系统辅助教师教学,能够有效激发学生对程序设计的学习兴趣,提高学生学习效率,培养学生分析问题和解决问题的能力,进而发展为信息技术学科核心素养。

本发明包含以下技术方案:

一种基于python的计算思维教学系统,包括交互模块、后台处理模块、数据存储模块以及负责各模块之间通信的数据传输模块;所述交互模块负责与用户之间的交互,包括可供用户点选的图标、可供用户输入命令代码的命令输入区以及可视化反馈用户操作结果的显示界面,通过“停车场”模型可视化地展示数据结构知识点;所述后台处理模块,负责接收用户在交互模块下达的命令,并将相应的处理结果反馈到游戏界面,所述数据存储模块用于存储用户的历史命令脚本;所述系统开发语言为c#,框架采用net4.5.2,界面采用winform技术。本系统由于需要执行python脚本以及直接读取本地文件,因此可设计成典型的桌面应用程序,系统结构简单、使用方便、运行快速稳定。

作为可选方式,在上述在线教学系统中,采用c#与python混合编程,并使用ironpython技术。

作为可选方式,在上述在线教学系统中,通过对停车场的建模模拟python对数组进行初始化、赋值、追加、移除等操作。

作为可选方式,在上述在线教学系统中,所述交互模块主界面由菜单栏、快捷工具栏、状态栏组成,菜单栏包括“数组”和“帮助”图标,“数组”菜单包括“一维数组”、“二维数组”、“推荐车位”、“最短路径-原理”、“最短路径-教学”、“最短路径-应用”图标,“帮助”菜单包括:“关于”图标,点选相应的图标可进行对应的子界面;快捷工具栏上的按钮是菜单的快捷方式;状态栏负责显示本系统的基本信息。

作为可选方式,在上述在线教学系统中,通过单排停车场模型模拟一维数组。

作为可选方式,在上述在线教学系统中,通过多排停车场模型模拟二维数组。

作为可选方式,在上述在线教学系统中,通过“停车场”模型直观展示用户的操作结果。

作为可选方式,在上述在线教学系统中,所述教学系统可通过离线安装包安装到个人电脑上。

作为可选方式,在上述在线教学系统中,能够存储用户的历史脚本在本地,并可随时调出来重新执行。

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本发明的有益效果:

本系统利用“停车场”模型可视化地展示数据结构知识点,趣味性强,可以给学生更好的学习体验,通过该系统辅助教师教学,能够有效激发学生对程序设计的学习兴趣,提高学生学习效率,培养学生分析问题和解决问题的能力,进而发展为信息技术学科核心素养。本系统由于需要执行python脚本以及直接读取本地文件,因此可设计成典型的桌面应用程序,系统结构简单、使用方便、运行快速稳定。

系统教学课程可划分基础、拓展、研究三个阶段,深化式推进,每个阶段均有可视化资源辅助课堂教学,通过创设学习情境,提升教学效果。

附图说明:

图1为本发明所述教学系统的结构示意图。

具体实施方式:

以下通过实施例的具体实施方式再对本发明的上述内容作进一步的详细说明。但不应当将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明的精神和原则之内做的任何修改,以及根据本领域普通技术知识和惯用手段做出的等同替换或者改进,均应包括在本发明的保护范围内。。

实施例1

一种基于python的计算思维教学系统,包括交互模块、后台处理模块、数据存储模块以及负责各模块之间通信的数据传输模块;所述交互模块负责与用户之间的交互,包括可供用户点选的图标、可供用户输入命令代码的命令输入区以及可视化反馈用户操作结果的显示界面,通过“停车场”模型可视化地展示数据结构知识点;所述后台处理模块,负责接收用户在交互模块下达的命令,并将相应的处理结果反馈到游戏界面,所述数据存储模块用于存储用户的历史命令脚本;所述系统开发语言为c#,框架采用net4.5.2,界面采用winform技术。本系统由于需要执行python脚本以及直接读取本地文件,因此可设计成典型的桌面应用程序,系统结构简单、使用方便、运行快速稳定。

作为可选方式,在上述在线教学系统中,采用c#与python混合编程,并使用ironpython技术。

作为可选方式,在上述在线教学系统中,通过对停车场的建模模拟python对数组进行初始化、赋值、追加、移除等操作。

作为可选方式,在上述在线教学系统中,所述交互模块主界面由菜单栏、快捷工具栏、状态栏组成,菜单栏包括“数组”和“帮助”图标,“数组”菜单包括“一维数组”、“二维数组”、“推荐车位”、“最短路径-原理”、“最短路径-教学”、“最短路径-应用”图标,“帮助”菜单包括:“关于”图标,点选相应的图标可进行对应的子界面;快捷工具栏上的按钮是菜单的快捷方式;状态栏负责显示本系统的基本信息。

作为可选方式,在上述在线教学系统中,通过单排停车场模型模拟一维数组。

作为可选方式,在上述在线教学系统中,通过多排停车场模型模拟二维数组。

作为可选方式,在上述在线教学系统中,通过“停车场”模型直观展示用户的操作结果。

作为可选方式,在上述在线教学系统中,所述教学系统可通过离线安装包安装到个人电脑上。

作为可选方式,在上述在线教学系统中,能够存储用户的历史脚本在本地,并可随时调出来重新执行。

实施例2

一种基于python的计算思维教学系统,包括交互模块、后台处理模块、数据存储模块以及负责各模块之间通信的数据传输模块;所述交互模块负责与用户之间的交互,包括可供用户点选的图标、可供用户输入命令代码的命令输入区以及可视化反馈用户操作结果的显示界面,通过“停车场”模型可视化地展示数据结构知识点;所述后台处理模块,负责接收用户在交互模块下达的命令,并将相应的处理结果反馈到游戏界面,所述数据存储模块用于存储用户的历史命令脚本;所述“停车场”模型为“单排停车场”模型,用于模拟一维数组。用户通过交互模块点选进入一维数组界面,该界面由车位区、代码练习区、历史代码区组成,其中车位区主要模拟单排停车场,并显示车位总数total、空余数车位empty和已用车位数car等参数信息,练习区有三部分,分别是按阶段练习、自由练习、测验,历史代码区可显示历史脚本。

系统内置对单排停车场建模的一维数组变量为p,在阶段练习、自由练习、测验区对p进行操作后,车位区会出现相应的变化。例如,在阶段练习区,基于python输入代码p=[0,0,0],车位区则会初始化3个空车位;,如果对p数组的第三个元素赋值为1,则第三个车位会有车辆停入,即可以通过python脚本控制p数组,而《教学系统》会根据p数据的变化而进行相应的变化。运行的脚本会在右侧的历史代码区显示出来,双击该代码,会在自由练习区显示。在阶段练习区,主要介绍python对一维数组进行初始化、赋值、追加、移除等操作。用户可以不同的阶段运行不同的代码,点击界面中的【运行】按钮可运行对应代码框的代码。

在自由练习区,由代码框与结果框两部分组成,用户可在代码框编写符号python语法的任意代码,并点击【运行】按钮,可得到相应的结果。例如,用户可通过在代码框输入代码创建了一个长度为15的停车场,并随机停了3辆,同时将数组p的详细数组输出来。在自由练习区,还可以通过快捷方式运行代码,即为:shift+enter。用户还可在自由练习区通过对变量total、empty、car赋值,计算并修改车位总数、空余车位数、已用车位数。

在测验区,可以设置测验供用户操作,如“创建车位数为10的停车场”、“所以偶数号车位进车”、“随机提车3辆”等。

在历史脚本区,可以通过点击【清空历史代码】以清空所有的代码,也可以双击每行代码,将已有的代码显示在自由练习区以进行再次练习。

实施例3

一种基于python的计算思维教学系统,包括交互模块、后台处理模块、数据存储模块以及负责各模块之间通信的数据传输模块;所述交互模块负责与用户之间的交互,包括可供用户点选的图标、可供用户输入命令代码的命令输入区以及可视化反馈用户操作结果的显示界面,通过“停车场”模型可视化地展示数据结构知识点;所述后台处理模块,负责接收用户在交互模块下达的命令,并将相应的处理结果反馈到游戏界面,所述数据存储模块用于存储用户的历史命令脚本;所述“停车场”模型为“多排停车场”模型,用于模拟二维数组。用户通过交互模块点选进入二维数组界面,该界面由车位区、代码练习区、历史代码区组成,其中车位区主要模拟多排停车场,并显示车位总数total、空余数车位empty和已用车位数car等参数信息,练习区有三部分,分别是按阶段练习、自由练习、测验,历史代码区可显示历史脚本。

系统内置对多排停车场建模的二维数组变量为p,在阶段练习、自由练习、测验区对p进行操作后,车位区会出现相应的变化。例如,在阶段练习区,基于python输入代码p=[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],车位区则会初始化3行8列的空车位。如果对p数组的第(0,0)个元素赋值为1,则(0,0)号车位会车辆停入,即可以通过python脚本控制p数组,而《教学系统》会根据p数据的变化而进行相应的变化。运行的脚本会在历史代码区显示出来,双击该代码,会在自由练习区显示。在阶段练习区,主要介绍python对一维数组进行初始化、赋值等操作。用户可以在不同的阶段运行不同的代码,点击【运行】按钮可运行对应代码框的代码。

在自由练习区,由代码框与结果框两部分组成,用户可在代码框编写符号python语法的任意代码,并点击【运行】按钮,可得到相应的结果。在自由练习区,还可以通过快捷方式运行代码,即为:shift+enter。用户还可在自由练习区通过对变量total、empty、car赋值,计算并修改车位总数、空余车位数、已用车位数。

在测验区,可以设置测验供用户操作。

在历史脚本区,可以通过点击【清空历史代码】以清空所有的代码,也可以双击每行代码,将已有的代码显示在自由练习区以进行再次练习。

实施例4

一种基于python的计算思维教学系统,包括交互模块、后台处理模块、数据存储模块以及负责各模块之间通信的数据传输模块;所述交互模块负责与用户之间的交互,包括可供用户点选的图标、可供用户输入命令代码的命令输入区以及可视化反馈用户操作结果的显示界面,通过“停车场”模型可视化地展示数据结构知识点;所述后台处理模块,负责接收用户在交互模块下达的命令,并将相应的处理结果反馈到游戏界面,所述数据存储模块用于存储用户的历史命令脚本;所述“停车场”模型为“推荐车位”模型,用于模拟贪心策略算法教学。用户通过交互模块点选进入“推荐车位”模型界面,该界面由车位区、推荐区、代码区、历史脚本区4部分组成。

其中车位区每个车位上面一些数字如“0,1(9,0,4):5.3”,前两位表示编号,如编号0,1车位停了一辆车,括号的3个数字(9,0,4)分别表示到电梯的距离为9,该车位两边车位的停车数为0,到入口距离为4。而最后一个小数5.3代表该车位的推荐值。每个车位可以单独通过右键的弹出菜单进行【停车位】与【出车位】操作,所述车位区还可以显示车位总数total、空余数车位empty和已用车位数car等参数信息。所述车位区还设置有“随机停车”和“重置”按钮,用户可以通过点击“随机停车”按钮设置要随机的停车数,随机在停车场中选择相应数目的空车位进行停车,可以点击【重置】按钮清空整个停车场,使所有车位恢复到最初的空状态。

用户在推荐区点击【推荐】按钮,系统可以根据当前停车的停车情况为用户推荐一个车位,推荐的原则为:(1)离电梯口最近,权重为0.5;(2)两边的车位停车最少,权重为0.3;(3)距离最短,即到入口的距离最短,权重为0.2。最终推荐值是每个值的权重和。点击【取消推荐】按钮取消当前的推荐。

所述代码区包括自由练习、第1步为统计空车位的数目,第2步为计算每个车位两边的停车数目;第3步为计算每个车位的推荐值;第4步为寻找推荐值最小的车位5个部分。在自由练习区,用户可以在规定的变量下写任意符合python的代码,下面则为输出框,所有使用print()函数的语句均会在输出框显示结果输出。所述四个步骤则是用python代码演示整个推荐的过程,用户在不同的步骤,点击【运行】按钮,即可以运行当前步骤的代码。

在历史脚本区,用户可以通过点击【清空历史代码】以清空所有的代码,也可以双击每行代码,将已有的代码显示在自由练习区以进行再次练习。

实施例5

一种基于python的计算思维教学系统,包括交互模块、后台处理模块、数据存储模块以及负责各模块之间通信的数据传输模块;所述交互模块负责与用户之间的交互,包括可供用户点选的图标、可供用户输入命令代码的命令输入区以及可视化反馈用户操作结果的显示界面,通过“停车场”模型可视化地展示数据结构知识点;所述后台处理模块,负责接收用户在交互模块下达的命令,并将相应的处理结果反馈到游戏界面,所述数据存储模块用于存储用户的历史命令脚本;所述“停车场”模型为“最短路径”模型,用于模拟贪最短路径规划算法教学。用户通过交互模块点选进入“最短路径”模型界面,该界面包括原理、教学、应用3个部分。成功推荐车位后,需要规划一条最短路径达到这个车位,这就需要用到最短路径规划算法,本系统采用的是dijkstra算法。

最短路径的原理部分主要通过ppt介绍dijkstra算法的理论,用户点击界面中的【打开ppt】按钮可以打开教学ppt,点击【previous】放前一张ppt,点击【next】放后一张ppt。

最短路径的教学部分主要通过代码与界面配合的方式,演示整个dijkstra算法。教学主界面由4部分组成,分别是:4*4的停车场、距离矩阵与图模型、代码区、结果区。在车位区,可以点击每个车位模拟设置障碍与取消障碍,如将有障碍设置为红色的。用户可以通过右键功能,将某个车位设置为目标,后台会自动规划最短路径显示出来。也可以通过右键功能重置整个停车场。所述距离矩阵代表对停车场建模的二维数组的值,其中1表示可以通行,而m表示可以通行。如第1行第5列为1,则表示第1个车位可以往下走到第5个车位。用户点击“图模型”图标,系统将对距离矩阵进行直观显示。用户还可以通过在代码区运行操作代码,系统将在结果区将得出的结果以文本的方式显示出来。

最短路径的应用部分主要是dijkstra算法寻找最短路径的应用演示,例如,用户可设置一个8*9的停车场。每条路径均可以通过右键设置障碍,有障碍时为红色。也可以通过右键取消障碍,如果障碍,则表示则路不通,需要绕行,是对现实生活的停车场一个很好的模拟。右键还可以模拟【停车】、【出车】、【还原车位】、【清除路径】等功能。还有另外一种情况,某个车位正在停车时,会堵住该车位前的路,这个现象通过状态【停车中】进行模拟,可以用黄色表示正在停车。用户通过车位的右键可以将车位设置为目标,后台会自动规划一条最短路径并显示出来。

实施例6

一种基于python的计算思维教学系统,包括交互模块、后台处理模块、数据存储模块以及负责各模块之间通信的数据传输模块;所述交互模块负责与用户之间的交互,包括可供用户点选的图标、可供用户输入命令代码的命令输入区以及可视化反馈用户操作结果的显示界面,通过“停车场”模型可视化地展示数据结构知识点;所述后台处理模块,负责接收用户在交互模块下达的命令,并将相应的处理结果反馈到游戏界面,所述数据存储模块用于存储用户的历史命令脚本;系统平台中集成设置有“单排停车场”“多排停车场”“推荐车位”“最短路径”等多个模型。所述交互模块主界面由菜单栏、快捷工具栏、状态栏组成,菜单栏包括“数组”和“帮助”图标,“数组”菜单包括“一维数组”、“二维数组”、“推荐车位”、“最短路径-原理”、“最短路径-教学”、“最短路径-应用”图标,“帮助”菜单包括:“关于”图标,点选相应的图标可进行对应的子界面;快捷工具栏上的按钮是菜单的快捷方式;状态栏负责显示本系统的基本信息。。

以上所述仅为本发明的优选实施例,对本发明而言仅是说明性的,而非限制性的;本领域普通技术人员理解,在本发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效变更,但都将落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1