姓名 | 杨柏林 | 性别 | 男 | 出生年月 | 1974-07-15 |
学历 | 博士研究生 | 学位 | 博士 | 专业技术职务 | 教授 |
行政职务 | 研究生院院长 | 院系 | 计算机科学与技术学院 |
浙江工商大学是全国最早开设Python课程的高校之一,自2014年起面向学院3个专业、2017年起面向全校48个专业开展Python语言分层分类教学,已形成覆盖不同层次对象的完整教学体系。2019年起,已承担Python虚拟仿真课程累计超3000课时,学生13500人。已建设教学资源:省重点教材《Python语言程序设计》高等教育出版社,用印超3万,省计算机等级考试唯一指定教材;省线上一流课程:《Python 100 one by one》中国大学MOOC,开课5学期,受众近10000人;省虚拟仿真一流课程1门,重点培育2门;省教改项目5项。所获成果支撑软件工程、计算机2个国家一流专业建设;指导学生获国家互联网+金奖在内省部级以上奖项20余项;获国家教学成果二等奖、省教学成果一等奖、省研究生教学成果一等奖各1项。
负责人是浙江省师德标兵,省十三届政协委员,省151人才工程第一层次,省杰青,软件工程国家一流专业负责人,省计算机课程教指委委员,省重点实验教学示范中心负责人,省大学生实践基地负责人。长期从事虚拟现实、人工智能等科研,主持国家省部级以上科研项目20余项;获得省部级以上奖励7项。
杨柏林,1975年生,博士,博导,三级教授,致公党。浙江省师德标兵,浙江省151人才工程第一层次,浙江省杰出青年基金获得者,西湖学者,担任多个国家和省市级学术专委会主任和委员。长期从事数字媒体、大数据可视分析、虚拟(增强)现实、人工智能方向的科研工作,并积极与产业结合,将科研成果进行转化,取得了显著的经济和社会效益,在省内外具有一定的影响力。
近五年来主持或作为主要成员(前三)在上述研究领域已经获得包括国家科技国家863重点研发计划课题、973项目课题、国家自然科学基金项目,浙江省杰出青年自然科学、浙江省重大/重点基金,浙江省重大科技专项等国家和省部级项目二十余项。其中,主持国家自然科学基金面上项目3项、国家“863”高技术研究发展计划子课题、国家重点研发计划子课题、浙江省重大科技招标项目、浙江省杰出青年自然科学基金等各1项。
基于这些项目的研究成果,获省部以上科技进步奖9项(其中国家教学成果二等奖1次,省科技进步二三等奖各1次),已申请发明专利40项(其中授权二十余项,专利转换6项)。在著名国际期刊、重要国际会议以及国内一级期刊上发表SCI/EI收录论文80多篇,其中ESI高倍引论文2篇。在2017年的浙江省杰出青年基金结题中,由于成果丰硕,获得了专家的一致好评,被浙江省自然基金委员会专题采访并出版在《今日科技》(2017(8),题目为:杨柏林:“玩”出专业的新高度)中,同时收录到基金委30周年成果展中。
序号 | 姓名 | 所在单位 | 专业技术职务 | 行政职务 | 承担任务 | 备注 |
---|
序号 | 姓名 | 所在单位 | 专业技术职务 | 行政职务 | 承担任务 | 备注 |
---|
{xh} | {xm} | {xx} | {zyzw} | {xzzw} | {cdrw} | {bz} |
教育数字化是数字中国战略的重要组成部分,党的二十大报告中首次将“推进教育数字化”写进党代会报告,建设全民终身学习的学习型社会、学习型大国, 这是以习近平同志为核心的党中央作出的重大战略部署。本实验课程积极响应我国推动教育数字转型与融合创新的号召,以“立德树人”为根本,以培养多学科交叉融合的复合型卓越人才为目标,坚持“学生中心、问题导向、学科融合、创新实践、追求卓越”的实验教学理念,按照“虚实结合、以虚补实”的原则,将复杂抽象的语法知识转化为易于理解的具象化群体机器人动作为切入点,采用虚拟现实、嵌入式开发、3D建模等技术自主研发了Python+智能群体机器人虚拟仿真实验,实验的必要性总结如下:
1. 教学方法单一,不知道“怎么学”。传统课堂教学一般采取演示式教学方式,但计算机编程语言和技术是一门对系统知识要求极高的复杂课程,仅通过“教师讲,学生听,自己练”的方式难以让学生理解和掌握编程语言语法和各种算法实现。通常,语法知识通常较为抽象和晦涩,传统的实验方法仅限于通过编译代码并在屏幕上输出结果的方式进行学习成果的检验。这种传统的教学呈现形式使得原本复杂和抽象的学习过程更显得单调乏味,进而导致许多学生在学习编程语言时感到沮丧和迷茫,形成了一种学习上的障碍感。本实验平台致力于改变这种传统的教学方法,以Python语言的学习为代表,通过具象化的模拟机器人动作来呈现具体语法的反馈,使学生可以非常直观的感受到每个语法知识点的解释效果、运行结果以及最终作用在机器人身上的动作反馈,从而提升学生的学习兴趣和教师的教学质量。
2. 教学模式陈旧,不知道“为什么学”。应用是学习编程技能的最终目标,然而很多学生在学习了一段时间的编程语言之后,依然不知道该如何应用。这一困扰的根本原因在于学习编程时未能充分融入具体的应用场景,这不仅对学习效果构成负面影响,同时还削弱了学生对编程学习的兴趣和成就感。本实验课程为学生提供了一个可以将理论知识转化为应用实践的平台,通过虚拟仿真单个机器人动作到群体机器人动作编排的案例场景,将具体的语法知识点逐一落实到真实可见的对应实体上。从而使学生完成将知识从“纸上得来终觉浅”到“绝知此事要躬行”的转化。
3. 教学效果不佳,不知道“有什么用”。绝大部分的编程语言学习过程都是从掌握基本数据结构、基础语法、基本类库等开始起步,然而在完成基本知识的学习后,学生常常陷入无法自主独立地写出一段可实现某种特定功能的完整代码模块,导致学习“浅尝辄止”,无法达成对整个编程语言的系统化认知。本实验课程通过一套从基本语法训练、综合训练、到创新训练的由易到难的大型综合实验,利用直观、实时可见的虚拟仿真演示方式,帮助学生深刻理解复杂抽象的编程语法知识,从而达到将零散的知识点融会贯通、学以致用的目的。
4. 实验环境匮乏,不知道“怎么用”。计算机编程语言是人与计算机之间通信的语言,为了使人和计算机都能“读懂”这种信息,无论哪种编程语言都必须依托于特定的计算机硬件和环境参数运行。但就Python语言学习而言,在正式开始编写第一行代码之前,学生还需要完成安装软件、复制代码库、设置搜索路径等一系列繁琐的开发环境搭建。此外,开发环境的搭建因为需要在本地完成,一旦切换计算机,又需要将所有步骤重来一遍。本实验平台提供了一种在线解决方案,自带Python集成开发环境,学生只需要通过网页登陆,就可以直接运行和调试Python程序,并且具有语法加亮、段落缩进、文本编辑等功能。可帮助学生跳过搭建开发环境这个复杂又繁琐的环节,直接进入编程的学习,从而可以更加享受学习编程的本身的乐趣,解决开发环境难搭建的困扰。
此外,为实现国家培养多学科交叉融合的复合型卓越人才的战略目标,我校依托国家电子商务虚拟仿真中心、国家文科综合实验教学示范中心、浙江省重点教学示范中心、浙江省重点实验室、浙江省工程实验中心、浙江省重点创新团队和浙江省高校高水平创新团队等平台,结合金融学、统计学、管理学等多学科交叉融合的研究成果,整合计算机类Python专业课程、非计算机类Python基础课程的教学经验和实战,在“Python语言”课程中开设本虚拟仿真实验,旨在让学生深刻领会Python程序设计开发理念,又能了解智能机器人相关知识,真正达到“寓教于乐”,体现多维度赋能虚拟仿真生态系统及凸显计算思维与系统思维的高阶性,实验架构图如图1所示。
图1 Python+智能群体机器人虚拟仿真实验架构
形成以优化Python应用类及智能机器人虚拟仿真实验教学平台,构建立体多维的实践教学新体系为核心,助力跨学科的多维实践能力,搭建三全三级创新教育实验系统,深化分级、渐进、融合、迭代的虚拟仿真实验内涵,赋能计算思维贯穿“Python+机器人”的闭环研究模式,以保证确保本虚拟仿真实验的循序渐进及阶段性成果在各大中小学及社会培训机构的应用与推广。通过本虚拟仿真实验课程的学习,具体实验教学目标如下:
1. 能熟练掌握Python语言的基本语法。
2. 能熟练运用Python选择控制及循环结构,分析机器人复杂动作的影响因素,使用Python程序,正确解决机器人复杂动作的组合问题、单个机器人动作编排问题等。
3. 能熟练运用Python程序模块,进行批量初始化群体机器人,完成群体机器人复杂动作、群组舞蹈编排问题等。
4. 能熟练使用专业虚拟仿真软件,进行分析、计算与设计,在Python+智能群体机器人综合性实验团队中独立或组织、协调和指挥团队开展工作。
为实现以上实验教学目标的有效达成,本实验设置三个模块实验内容:
模块一:基本语法训练
l 变量定义
l 选择控制
l 多分支选择
l 嵌套选择
l while循环结构
l for循环结构
l 函数使用
l 智能机器人函数使用
模块二:综合训练
l 组合动作
l 混合嵌套
模块三:创新训练
l 模块使用
l 利用模块实现机器人控制
l 模块初始化多机器人
l 智能群体机器人舞蹈设计
本虚拟仿真实验教学内容分布紧凑、时长设置合理、难度系数适宜,通过本实验应达到以下能力培养要求:
1. 问题分析
能够应用Python基本语法,试别和判断机器人不同基本动作的关键实现环节,能基于Python相关函数及模块方法正确表达机器人复杂动作的组合问题,能认识到解决机器人动作编排问题有多种方案可选择,会通过相关教学辅助资源研究寻求可替代的解决方案,能运用Python选择控制及循环结构,分析机器人复杂动作的影响因素,获得有效结论。
2. 设计解决方案
掌握机器人动作编排的Python基本设计方法和技术,了解影响机器人动作编排设计目标和技术方案的各种因素,能够针对特定机器人动作需求,完成相关Python语句的设计,能够进行系统设计,在设计中体现创新意识,在设计中能够考虑安全、环境等制约因素。
3. 思维判断与分析
能够基于Python编程原理,通过实验教学辅助资源,调研和分析机器人复杂动作的实现方案,能够根据机器人动作特征,选择研究路线,设计实验方案, 能够根据实验方案构建虚拟仿真方案,开展虚拟仿真实验,正确采集虚拟仿真实验数据,能够实验结果进行分析和解释,并通过信息综合得到合理有效的结论。
4. 使用现代工具
了解实现机器人动作编排的常用现代语言、开发工具和虚拟仿真软件的使用原理和方法,并理解其局限性;能够选择与使用恰当的程序设计语言、开发工具和专业虚拟仿真软件,对机器人复杂动作的编排问题进行分析、计算与设计;能够针对机器人具体的动作,开发或选用满足特定需求的程序设计语言,模拟机器人动作编排问题,并能够分析其局限性。
5. 工程与社会
了解机器人相关应用领域的技术标准体系、知识产权、产业政策和法律法规,理解不同社会文化对机器人应用的影响;能分析和评价机器人应用对社会、安全、文化的影响,以及这些制约因素对机器人应用的影响,并理解应承担的责任。
6. 跨学科沟通协作
能够与其他学科的成员有效沟通;能够在Python+智能群体机器人综合性实验团队中独立或合作开展工作;能够组织、协调和指挥团队开展工作。
综上,通过Python实时解释+机器人虚拟演示的交互实验过程,激发了学生的学习兴趣,促进理论与实践的融合,并强化实际操作能力,与真实实验相互配合,实现不同教学手段之间的优势互补,提高了学生解决复杂问题的综合实践创新能力。
(1)实验所属课程课时:64学时
(2)该实验所占课时:4 学时
一、实验原理
机器人作为人工智能背景下Python编程学习中寓教于乐的重要载体。对于非计算机类专业的学生,准确辨析Python语法知识并应用于机器人动作编排且及时有效回应,对保障智能群体机器人虚拟仿真,突破实体机器人成本高,尤其大批量实体大场地使用的局限,对激发学生Python的学习兴趣及编程能力具有重要意义。
1. 基本语法训练
Python变量定义及数据表达可完成机器人的初始化。借助If语句及嵌套控制程序,展示机器人是否执行鞠躬动作及其他不同的动作。基于while 和for循环控制机器人鞠躬的次数。机器人的舞蹈等具体动作依托函数定义及调用完成。
认知训练,既涵盖Python基础语法,又包括机器人基础动作调用,能够较全面地反映Python的程序控制结构、函数定义与调用,机器人展示效果逼真,适用范围广。
2. 综合训练
机器人多复杂动作的组合设计,需借助if、for、while等多种语句的混合嵌套,再依托Python程序设计实现机器人挥手、鞠躬、下蹲、翻滚、大鹏展翅、开怀大笑、抬臂、抬手、踢球、右侧移、左侧移、左扭腰、右扭腰等多种动作的组合,虚拟演示多复杂动作的编排。
综合训练还受Python内置函数及其他控制语句的影响,不断在基本程序控制语句中结合其他控制语句的使用,使智能机器人复杂动作保持接近真实状态。
3. 创新训练
多机器人多复杂动作的编排控制需要借助模块完成,可由from...import...语句导入,完成群体机器人舞蹈设计。通过模块定义机器人阵列函数,利用模块批量初始化机器人,借助控制阵列的宽度和高度来控制输出多机器人动作形状。
大型综合实验原理同时需要兼顾模块定义,多机器人,多组多机器人等各种复杂形式的机器人初始化方法,使得批量初始化群体机器人后,真实模仿多组机器人多种不同复杂动作状态。
知识点:共5 个
1. 知识点1. 数据与表达:常/变量的定义及使用、算术表达式的使用、关系表达式的使用、逻辑表达式的使用、列表创建/编辑/使用、元组创建/编辑/使用、集合创建/编辑/使用、字典创建/编辑/使用
2. 知识点2. 选择控制:单分支if、多分支if、if嵌套
3. 知识点3. 循环结构:while循环、for循环、选择循环混合嵌套
4. 知识点4. 函数:函数定义与调用、参数传递、局部变量、全局变量
5. 知识点5. 模块:模块的导入、模块的调用
二、核心要素仿真设计
1. 机器人关节舵机驱动及动作编排虚拟仿真
使用Python语言对智能机器人进行动作编排,通过1:1建模达到对实体机器人复杂动作的100%仿真。仿真要素包括:单个机器人关节舵机仿真;群体机器人位置控制、速度控制、扭矩控制等;机器人在三维空间中的动作序列生成、动作执行、运动轨迹、相互动作交互等。具体可支持群体机器人挥手、鞠躬、俯卧撑、翻滚、抬臂、踢球、扭腰等基本动作。
2. 实时解释+机器人演示的虚拟仿真
系统集成了完整的Python开发环境,可支持在线实时完成Python程序“源代码编写、词法分析和语法分析、字节码生成、字节码执行”全套解释执行过程。同时机器人虚拟展示对应的动作,真正实现复杂动作全角度虚拟仿真,并可同时加载多个机器人达到群体机器人演示效果,激发学生自主编写Python复杂程序的乐趣。
3. 多语言扩展库文件封装虚拟仿真
为更好的对接计算机编程语言多样性需求,突破编程语言选择限制,本虚拟仿真实验教学提供了一种灵活的解决方案,用户可通过自定义扩展库文件,使实验支持C、C++、C#、Java等多种计算机编程语言扩展,从而完成极具自由度的机器人驱动操作。
实验 教学 |
开发技术 |
þVR¨AR ¨MR þ3D仿真 ¨二维动画þHTML5 ¨其他 |
开发工具 |
þUnity3D¨3D Studio Max ¨Maya ¨ZBrush¨SketchUp ¨AdobeFlash ¨UnrealDevelopment Kit ¨Animate CC ¨Blender¨Visual Studio ¨其他 |
|
运行环境 |
服务器 CPU 2核、内存8 GB、磁盘 100 GB、 显存 1 GB、GPU型号 集成显卡 操作系统 þWindows Server þLinux ¨其他 具体版本:7、ubuntu 16.04 数据库 þMysql¨SQL Server ¨Oracle ¨其他 备注说明(需要其他硬件设备或服务器数量多于1台时请说明) 是否支持云渲染:○是 ○否 |
|
实验品质(如:单场景模型总面数、贴图分辨率、每帧渲染次数、动作反馈时间、显示刷新率、分辨率等) |
单场景模型面数:34.4个; 贴图分辨率:1024px * 1024px; 每帧渲染次数:30calls; 动作反馈时间:0.03ms; 显示刷新率:60FPS; 分辨率:1920ppi * 1080ppi 其他: |
1.认知性实验预设参数:机器人初始化参数、单机器人简单动作控制类型参数、单机器人简单动作循环结构参数等。
2.设计性实验预设参数:函数参数设置、机器人复杂动作组合数量等。
3.综合性实验预设参数:模块参数定义、群体机器人数量、舞蹈动作类型及数量等。
4.创新性实验预设参数:拖拽控件动作类型、重复次数、运行时间等。
实验课前,学生通过新形态教材、慕课、实验指导书等资源自主学习相关理论,针对实验内容进行自主学习和准备;课上,老师通过应用引发的理论与技术问题,引导学生先进行研讨交流,形成一定的共识或争议;然后以实验系统为依托,引导学生根据自己的认识去在线实验操作,发现不足并引出新问题;接下来在老师的引导下根据所学理论进行改进尝试和探究,找出解决问题的办法,在实验系统上验证改进的效果。教师在期间只起到引导、释疑和推动作用。实验教学过程流程图如图2所示。
图2 实验教学过程流程图
1. 课前自主学习
“Python+机器人”相关理论知识学生在实验前通过教材、慕课、微课等资源自主学习掌握。本虚拟仿真实验项目提供实验指导书,包含实验目的、要探究的问题、基本原理、实验方法、基本参量设置与测量的操作步骤、注意事项等。学生在进行实验前先进行自主学习,根据实验目的和要探究的问题,预习实验步骤。老师从智能机器人动作需求出发,提出理论与技术问题,结合实验设计,引导学生进行研究交流,比较各自的理解,形成共识或者确定产生的争议点,做好实验准备。
2. 仿真平台实时解释+机器人虚拟演示
登录系统,按照实验步骤,在做过实验准备的基础上,在仿真平台上实时运行程序、观看机器人虚拟演示效果,完成实验,如图3所示。
图3 仿真平台实时解释+机器人虚拟演示
3. 在线自动评价
按确定的实验方法和步骤,进行线上虚拟仿真实验。为充分调动学生自主性,所有的实验均通过智能机器人动作展示入手,进行无约束的开放式操作,系统在线给出评价结果。内置评分系统如图4所示。
图4 内置评分系统
4. 实验探究改进
针对前面实验尝试智能机器人动作组合的问题或者由实验尝试引发的深度问题,结合实验目的以及要探究的问题要求,进行全自主的探究性实验。同时随系统的持续改进,可实现智能机器人的多语言支持,可较好满足多并发需求。上面3.4.两项程序是可以反复重复进行的,即学生可以随时对所设计的机器人动作阵列进行应用测试,检验Python代码设计效果。
此外,虚拟仿真实验采用开放式的学习模式,如果课上时间不足,依靠网络平台的便利性,学生可在课下自主选择时间、地点登陆虚拟仿真实验平台,进入探究学习模式进行虚拟实验操作。探究学习任何中间结果可以暂存,此时不会产生实验操作成绩,学生可在不同的时段多次重复实验操作,直至完全掌握Python相关知识,提交正式的评价动作。给予学生充分的学习自由,有利于个性化发展及多层次培养的推进。阶段性实验过程如图5所示。
图5 阶段性实验过程图
一、实验方法
本实验项目通过线上线下混合,自主探究并执行沉浸式、问题式、交互式、自主式、引导式、反思式的“六式”探究实验教学方法,致力于强化计算思维及系统思维,培养学生解决复杂问题的综合实践创新能力,如图6所示。
![]()
图6 “六式”探究实验教学方法
1. 沉浸式环境漫游。学生进入虚拟仿真实验平台,直观形象、立体生动地体验、感知与领略多机器人的多种动作编排;掌握不同动作编排的要点、动作变化的Python编程规范;学会规划群体智能机器人动作的编排设计方案。
2. 问题式动作辨析。进入机器人动作编排拖拽式编程环节后,系统随机向学生提出拖拽参数问题,要求学生对机器人动作拖拽式控制的参数及其动作等进行分析,了解机器人动作拖拽式编程的需求,判断机器人动作的类型。
3. 交互式练习。进入交互环节,学生可与机器人、各Python函数及模块实时调用,进行操作练习。系统具有错误提示、正确操作提示和自动评价的功能,学生通过人机交互的方式,实现边练习、边学习、边调整,错误和不足之处及时得到改正和补充。
4. 自主式设计。在自主学习中,学生可根据兴趣自主选择认知性、设计性、综合性及创新性实验中的任意阶段实验或某阶段实验中的部分实验。学生通过自主设计,提高创新能力,并能有针对性地进行实验练习。
5. 引导式操作。实验的自动评分系统,能够自动生成可追溯实验全过程的记录,便于学生及时了解与掌握学习的进程,进行自我纠错;教师也能够通过后台看到每一个学生的实验操作,并且通过个性化、差异化的出题模式考核每一个学生,教师与学生进行互动提问与答疑,引导学生的实验操作。
6. 反思式评价。实验操作结束后,学生可以反思自己的全部操作,并对自己掌握的情况作出评价。学生根据评价结果和兴趣,反复进行虚拟仿真实验,进而提高学习效果。此外,在线下,学生可获取相关教学辅助资源,对Python知识点进行预习,实现师生互动与生生互动。
实验教学进程图如图7所示。
图7 实验教学进程图
二、步骤要求
在获取实验教学账号并登录后,即可完成实验准备,主要包括:Python本地环境搭建,Python模块导入。在此基础上便可进行相应的交互性操作步骤。
表2 学生交互性操作步骤
步骤序号
步骤目标要求
步骤合理用时
目标达成度赋分模型
步骤满分
成绩类型
1
学习Python语言变量的种类和定义方式,完成机器人初始化;掌握变量相关知识。
5
程序执行通过,得2分;执行通过且定义了变量,则得3分;否则0分。
3
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
2
学生通过对if语句学习,掌握Python编程中如何借助if语句进行机器人简单动作的编排;掌握但分支选择控制。
5
程序执行通过,得2分;执行通过且有if关键字,则得3分;否则0分。
3
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
3
学生在if基础上学习elif,掌握如何借助多分支语句实现机器人动作编排;掌握多分支控制。
5
程序执行通过,得2分;执行通过且有if、elif关键字,则得3分;否则0分。
3
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
4
掌握通过不同位置进行不同层级的选择语句实现机器人简单动作编排;掌握if嵌套。
5
程序执行通过,得2分;执行通过且在不同缩进位置有if关键字,则得3分;否则0分。
3
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
5
学生通过对while循环结构的学习掌握循环结构的使用方法,实现机器人简单动作的编排;掌握while循环结构。
5
程序执行通过,得2分;执行通过且有while关键字,则得3分;否则0分。
3
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
6
学生通过对for循环的学习掌握循环结构的其它使用方法,实现机器人简单动作编排;掌握for循环结构。
5
程序执行通过,得2分;执行通过且有for关键字,则得3分;否则0分。
3
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
7
通过定义函数,调用函数理解函数的使用方法,掌握参数,局部变量和全局变量的用法,实现机器人复杂动作的组合;掌握函数的使用方法。
5
程序执行通过,得2分;执行通过且有def关键字,则得3分;否则0分。
3
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
8
参照实验说明中的机器人默认函数,自行测试函数效果并掌握函数的使用;初步掌握智能机器人程序开发。
10
程序执行通过,得4分;执行通过且至少调用了机器人动作函数中的一个,则得6分;否则0分。
6
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
9
利用智能机器人基础动作函数,自行进行组合。
15
程序执行通过,得5分;执行通过且至少调用了一个机器人动作函数,则得8分;否则0分。
8
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
10
利用智能机器人基础动作函数,自行进行组合,掌握多动作组合实现方法。
5
执行通过且至少调用了四个机器人动作函数,则得3分;否则0分。
3
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
11
综合利用if或for或while语句实现机器人复杂动作的控制。
15
程序执行通过,得5分;执行通过且包含if、for或while关键字,则得8分;否则0分。
8
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
12
综合利用if、for、while等语句实现机器人复杂动作的混合嵌套控制;掌握混合嵌套语句的实现。
10
执行通过且在不同缩进位置包含if、for或while关键字,则得6分;否则0分。
6
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
13
掌握模块的定义,实现,调用,实现多机器人复杂动作编排;初步了解模块。
10
程序执行通过,得4分;执行通过且包含import关键字,则得6分;否则0分。
6
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
14
学生可以根据自己的想法,使用模块和控制函数实现对机器人的控制。
12
程序执行通过,但不包含__name__关键字得4分;执行通过,且动作数>=1,得7分;否则0分。
7
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
15
学生可以根据自己的想法,使用模块和控制函数实现对机器人的多动作的控制。要求动作数大于5。
5
执行通过,且动作数>=5,得3分;否则0分。
3
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
16
学生可以根据自己的想法,使用模块和控制函数实现对机器人的多动作的控制。要求动作数大于10且使用嵌套语句。
5
执行通过且动作数>=10且包含if、def、while或for关键字,得3分;否则0分。
3
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
17
学生可以通过模块定义,实现多机器人,多组多机器人等各种复杂形式的机器人初始化方法;学会批量初始化机器人。要求机器人数目大于2。
16
程序执行通过,但不包含__name__关键字,得6分;执行通过且机器人数目>2,得8分;否则0分。
8
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
18
学生可以通过模块定义,实现多机器人,多组多机器人等各种复杂形式的机器人初始化方法;学会批量初始化机器人。要求机器人数目大于5。
6
执行通过且机器人数目>5得3分;否则0分。
3
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
19
学生可以通过模块定义,实现多机器人,多组多机器人等各种复杂形式的机器人初始化方法;学会批量初始化机器人。要求机器人数目大于10。
6
执行通过且机器人数目>10,得3分;否则0分。
3
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
20
进行群体机器人舞蹈设计,并通过程序初步实现结果展示。
18
程序执行通过,得2分;执行通过且满足机器人数目>2得9分;否则0分。
9
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
21
进行群体机器人舞蹈设计,并通过程序进一步实现结果展示。
6
程序执行通过,得2分;执行通过且满足;机器人数目>5,动作数>10得3分;否则0分。
3
þ操作成绩
¨实验报告
¨预习成绩
¨教师评价报告
22
利用步骤7,8的已有知识,综合实现群体机器人舞蹈设计,并通过程序实现结果展示。
6
程序执行通过,得2分;执行通过且满足:机器人数目>10、动作数>10,且包含if、def、for或while、__name__关键字,得3分;否则得0分。
3
þ操作成绩
þ实验报告
¨预习成绩
þ教师评价报告
三、步骤详细说明
该实验教学课程属于“Python语言”课程,共计4个实验学时,其中,基本语法训练1个学时,综合训练1个学时,创新训练2个学时。通过嵌入式技术,机器人虚拟仿真的场景及Python寓教于乐的情境,学生可在整个场景和情境中进行以下交互性操作。
1. 获取实验教学账号
访问“Python+智能群体机器人虚拟仿真实验”(https://python.zjgsu.edu.cn/hello),如图8所示,注册实验账号如图9所示。教师登录后可按需要创建自己的班级信息,并由管理员或自己导入学生信息。
图8 虚拟仿真实验平台主界面
![]()
图9 用户注册界面
2.登录并进行实验
完成步骤1获取账号后,可登录页面,如图10所示。
![]()
图10 用户登录界面
点击“进行实验”按钮,进入实验列表界面,上栏左侧为实验每步骤满分及目前得分情况,右侧为目前总得分,各步骤分值不等。下栏左侧为题目列表,包括:实验一:基本语法训练、实验二:综合训练、实验三:创新训练。目前共有22个实验步骤。界面右侧为步骤说明,包括基础语法知识介绍和示例程序。选中对应步骤,点击“开始实验”即可进入实验界面。实验列表界面如图11所示。
图11 题目列表界面
实验界面由两部分组成,如图12所示,左侧为代码编写框,代码编写框中注释部分为步骤得分要求;右侧为虚拟机器人展示框,展示程序执行情况,运行结果以悬浮窗方式显示。
图12 编写程序以及机器人运动界面3.基本语法训练
实验要求:掌握Python基础语法知识,包括变量定义,选择控制,多分支选择,嵌套选择,while循环结构,for循环结构,函数使用以及智能机器人函数使用等内容。
- 步骤1:变量定义
实验要求学生通过变量定义初始化一个机器人,如图13、图14所示。
![]()
图13 变量定义步骤描述
![]()
图14 变量定义示例程序及运行结果
- 步骤2:选择控制
学生通过本步骤练习单分支if结构控制程序,如图15所示;示例代码展示了如何通过选择结构来控制机器人是否执行鞠躬动作,如图16所示。
图15 选择控制步骤描述
图16 选择控制示例程序及运行结果
- 步骤3:多分支选择
多分支选择是单分支选择的扩展,学生通过本步骤练习多分支结构来控制程序如图17所示;示例展示了如何使用多分支选择控制机器人完成不同的动作,如图18所示。
![]()
图17 多分支选择步骤描述
![]()
图18 多分支选择示例程序及运行结果
- 步骤4:嵌套选择
学生通过本步骤练习掌握嵌套选择的使用,如图19所示;示例程序如图20所示,通过判断随机变量x和z的位置来确定机器人最终执行的动作。
![]()
图19 嵌套选择步骤描述
![]()
图20 嵌套选择示例程序及运行结果
- 步骤5:while循环结构
学生通过本步骤练习掌握while循环结构的使用,如图21所示;示例代码通过while循环来控制机器人鞠躬的次数,如图22所示。
![]()
图21 while循环结构步骤描述
![]()
图22 while循环结构示例程序及运行结果
- 步骤6:for循环结构
学生通过本步骤练习掌握for循环结构的使用,如图23所示;示例代码通过for循环来控制机器人鞠躬的次数,如图24所示。
![]()
图23 for循环结构步骤描述
![]()
图24 for循环结构示例程序及运行结果
步骤7:函数使用
学生通过本步骤练习掌握函数的使用,如图25所示;示例代码通过函数定义了机器人的舞蹈动作,通过函数调用执行该函数定义的舞蹈动作,如图26所示。
图25 函数使用步骤描述
图26 函数使用-示例代码及运行结果
步骤8:智能机器人函数使用
学生结合已学习的函数知识,通过本步骤练习智能机器人函数的使用,如图27所示;示例代码展示了机器人的两种函数使用,如图28所示,学生可自行实现其他多种函数的使用。
图27 智能机器人函数使用步骤描述
图28 智能机器人函数使用-示例代码及运行结果
4.综合训练
实验要求:利用已学习的Python语法知识和智能机器人函数,完成初步组合设计。
步骤9:组合动作1)
利用智能机器人基础动作函数,自行进行组合。要求至少调用了一个机器人动作函数。
步骤10:组合动作2)
利用智能机器人基础动作函数,自行进行组合,掌握多动作组合实现方法。至少调用了四个机器人动作函数。如图29所示;示例代码展示了动作的简单组合,如图30所示。
![]()
图29 组合动作步骤描述
![]()
图30 组合动作示例程序及运行结果
步骤11:混合嵌套1)
综合利用if或for或while语句实现机器人复杂动作的控制。
步骤12:混合嵌套2)
综合利用if、for、while等语句实现机器人复杂动作的混合嵌套控制;掌握混合嵌套语句的实现,如图31所示;示例代码展示了for和if的混合嵌套,如图32所示。
![]()
图31 混合嵌套步骤描述
![]()
图32 混合嵌套示例程序及运行结果
5.创新训练
实验要求:掌握模块的使用,利用模块完成机器人控制和初始化操作,并在此基础上完成机器人群体舞蹈设计。
步骤13:模块使用
学生通过本步骤掌握模块的使用,如图33所示。示例程序中通过from...import...语句导入内容,如图34所示。
![]()
图33 模块使用步骤描述
![]()
图34 模块使用示例程序及运行结果
- 步骤14:利用模块实现机器人控制1)
学生通过本实验完成使用模块控制机器人的功能。
- 步骤15:利用模块实现机器人控制2)
学生通过本实验完成使用模块控制机器人的功能,要求实现对机器人的多动作控制,动作数大于5。
- 步骤16:利用模块实现机器人控制3)
学生通过本实验完成使用模块控制机器人的功能,要求实现对机器人的多动作控制,动作数大于10且使用嵌套语句,如图35所示;示例代码中通过在模块中定义动作函数,并在if __name__=='__main__'中调用了该动作函数,实现机器人控制,如图36所示。![]()
图35 利用模块实现机器人控制步骤描述
![]()
图36 利用模块实现机器人控制示例程序及运行结果
步骤17:模块初始化多机器人1)
学生通过本步骤初步完成利用模块批量初始化机器人工程,要求机器人数目大于2。
步骤18:模块初始化多机器人2)
学生通过本步骤进一步利用模块批量初始化机器人工程,要求机器人数目大于5。
步骤19:模块初始化多机器人3)
学生通过本步骤进一步完善模块批量初始化机器人工程,要求机器人数目大于10,如图37所示;示例代码中定义机器人阵列的函数,通过控制阵列的宽度和高度来控制该输出阵列的形状,如图38所示。
![]()
图37 模块初始化多机器人步骤描述
![]()
图38 模块初始化多机器人示例程序及运行结果
步骤20:智能群体机器人舞蹈设计1)
要求学生利用已有知识进行智能群体机器人舞蹈设计,并通过程序初步实现结果展示。要求机器人数目大于2。
步骤21:智能群体机器人舞蹈设计2)
要求学生利用已有知识进行智能群体机器人舞蹈设计,并通过程序进一步实现结果展示。要求机器人数目大于5,动作数大于10。
步骤22:智能群体机器人舞蹈设计3)
要求学生利用已有知识综合进行智能群体机器人舞蹈设计,并通过程序实现结果展示。要求机器人数目大于10,动作数大于10,如图39所示;在示例程序中定义两排机器人阵列,并分别执行不同的动作序列,如图40所示。
![]()
图39 智能群体机器人舞蹈设计步骤描述
![]()
图40 智能群体机器人舞蹈设计示例程序及运行结果
6.系统扩展
(1)本地运行本虚拟仿真实验系统除了在网上平台运行外,也可以在本地进行实验。本地实验需进行实验准备,主要包括集成开发环境的配置以及Python模块的导入。
准备1:Python本地环境搭建
- Windows平台安装Python
打开https://www.python.org/downloads/windows/,下载executable installer,x86适用32位操作系统,x86-64适用64位操作系统,如图41所示。
勾选Add Python 3.8 to PATH,如图42所示。
图41 版本选择
按Win+R键,输入cmd打开命令终端,输入python检查安装是否成功,如图43所示即为成功。
图42 添加环境变量
![]()
图43 安装检验
Ubuntu下系统安装
输入“python3”,系统将自动完成安装工作,如图44所示。
图44 Linux下安装
准备2:Python模块导入
下载文件到本地
访问“Python+智能群体机器人虚拟仿真实验”(https://python.zjgsu.edu.cn/),单击“资源下载”进入资源下载界面,如图45所示,下载库文件RobotLab.py。
图45 资源下载界面
测试
在RobotLab.py所在文件夹下新建test.py文件,如图46所示:
图46 本地文件
将以下代码复制到test.py中:
运行程序,图47为在vscode中正确运行结果,正确结果无提示信息;图48展示了一种错误运行结果,其他错误类似。
#encoding=utf-8
#库文件中导入两个类
from RobotLab import RobotLab,Vec3
# 初始化机器人的姓名,位置和朝向
# 位置 用一个3维坐标来表示空间位置,对应到屏幕上 屏幕向右为x正方向,屏幕向上为y正方向,屏幕
# 向里为z正方向
# 朝向 用一个3维向量来表示机器人的朝向,坐标系统和位置的坐标系统一样,比如现在的(0,0,-1)表示屏幕
# 向外的朝向
robot1=RobotLab("小溪",Vec3(0,0,2),Vec3(0,0,-1))
# 调用机器人的鞠躬动作
robot1.bow()
# 整个程序结束
RobotLab.End()
![]()
图47 运行正确结果
图48 运行错误结果
(2)适合儿童的拖拽积木式编程实验
拖拽积木式编程直观易学,可以激发孩子的想象力和创造力。孩子们可以设计出各种各样的积木模型,并通过编程实现对机器人进行动作控制。本实验中有3个步骤。
步骤1:拖拽积木式编程初体验
该步骤要求学生利用简单拖拽实现机器人简单动作展示。如图49所示,将左边的图片通过简单的拖拽来实现拖拽积木式编程。
![]()
图49 拖拽积木式编程初体验示例图及运行结果
步骤2:拖拽式复杂循环程序实现
该步骤要求学生利用更多的拖拽模式实现复杂机器人运动,如图50所示。
图50 拖拽式复杂循环程序实现示例图及运行结果
步骤3:拖拽式与Python语言转化
该步骤要求学生利用系统提供的展示模块将拖拽积木式程序转化为Python普通程序,并理解二者之间的关系,如图51所示。
图51 拖拽式与Python语言转化示例图及运行结果
在实验环境中可能出现的执行提示文本及对应意义:
表3:提示文本及对应意义表
序号
提示文本
意义
1
解析成功
程序执行通过
2
(File “xxx.py", line xxx xxx ^ IndentationError: expected an indented block)
缩进错误
3
Traceback (most recent call last): File "xxx.py", line xxx, in <module> xxx NameError: name 'xxx' is not defined
变量或函数未定义
4
File "xxx.py", line xxx xxx ^ SyntaxError: invalid character in identifier
无效字符,可能输入了中文字符
5
Traceback (most recent call last): File "xxx.py", line xxx, in <module> xxx TypeError: xxx takes xxx positional arguments but xxx were given
函数调用出现问题,没有按照指定输入参数进行调用
6
Traceback (most recent call last): File "xxx.py", line xxx, in <module> xxx File "xxx.py", line xxx, in xxx AttributeError: 'xxx' object has no attribute 'xxx'
属性错误,在某个类中不存在该属性或方法
7
Traceback (most recent call last): File "xxx.py", line xxx, in <module> xxx IndexError: list index out of range
索引超出序列范围
8
Traceback (most recent call last): File "xxx.py", line xxx, in <module> xxx TypeError: 'tuple' object does not support item assignment
元组类型不支持修改值
9
Traceback (most recent call last): File "xxx.py", line xxx, in <module> xxx KeyError: 'xxx'
关键字在字典中不存在
10
Traceback (most recent call last): File "xxx.py", line xxx, in <module> xxx ZeroDivisionError: division by zero
运算时除零错误
11
File "xxx.py", xxx ^ TabError: inconsistent use of tabs and spaces in indentation
缩进时tab和空格混用了
12
Traceback (most recent call last): File "xxx.py", line xxx, in <module> xxx TypeError: unsupported operand type(s) for xxx: 'xxx' and 'xxx'
类型错误,两种不用类型的变量不能一起运算
13
Traceback (most recent call last): File "xxx.py", line xxx, in <module> xxx ImportError: cannot import name 'xxx'
导入错误,不能从该模块中导入指定变量,可能该变量不存在
14
Runtime Error:File size limit exceeded
print()中输出内容超过限制,可能程序中循环太多
15
Runtime Error:Killed
时间超过限制,可能写了死循环
16
机器人数目超过最大限制
机器人数目超过900个系统运行会出现问题
17
机器人看不清楚
机器人数目超过100个会很难看清每个机器人
1. 基本语法训练
掌握了基本的Python基础语法知识,包括变量定义、选择控制、多分支选择、嵌套选择、while循环结构、for循环结构、函数使用以及智能机器人函数使用等内容。
2. 综合训练
熟练掌握了Python的基础语法知识,能够综合运用分支、循环结构,组合完成实验要求。
3. 创新训练
掌握了模块的使用,利用模块完成机器人控制和初始化操作,并再此基础上完成机器人群体舞蹈设计。
考核方面 |
步骤序号 |
步骤目标要求 |
目标达成度赋分模型 |
步骤满分 |
成绩类型 |
基本语法训练 |
1 |
学习Python语言变量的种类和定义方式,完成机器人初始化;掌握变量相关知识。 |
程序执行通过,得2分;执行通过且定义了变量,则得3分;否则0分。 |
3 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
2 |
学生通过对if语句学习,掌握Python编程中如何借助if语句进行机器人简单动作的编排;掌握但分支选择控制。 |
程序执行通过,得2分;执行通过且有if关键字,则得3分;否则0分。 |
3 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
3 |
学生在if基础上学习elif,掌握如何借助多分支语句实现机器人动作编排;掌握多分支控制。 |
程序执行通过,得2分;执行通过且有if、elif关键字,则得3分;否则0分。 |
3 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
4 |
掌握通过不同位置进行不同层级的选择语句实现机器人简单动作编排;掌握if嵌套。 |
程序执行通过,得2分;执行通过且在不同缩进位置有if关键字,则得3分;否则0分。 |
3 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
5 |
学生通过对while循环结构的学习掌握循环结构的使用方法,实现机器人简单动作的编排;掌握while循环结构。 |
程序执行通过,得2分;执行通过且有while关键字,则得3分;否则0分。 |
3 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
6 |
学生通过对for循环的学习掌握循环结构的其它使用方法,实现机器人简单动作编排;掌握for循环结构。 |
程序执行通过,得2分;执行通过且有for关键字,则得3分;否则0分。 |
3 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
7 |
通过定义函数,调用函数理解函数的使用方法,掌握参数,局部变量和全局变量的用法,实现机器人复杂动作的组合;掌握函数的使用方法。 |
程序执行通过,得2分;执行通过且有def关键字,则得3分;否则0分。 |
3 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
8 |
参照实验说明中的机器人默认函数,自行测试函数效果并掌握函数的使用;初步掌握智能机器人程序开发。 |
程序执行通过,得4分;执行通过且至少调用了机器人动作函数中的一个,则得6分;否则0分。 |
6 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
综合训练 |
9 |
利用智能机器人基础动作函数,自行进行组合。 |
程序执行通过,得5分;执行通过且至少调用了一个机器人动作函数,则得8分;否则0分。 |
8 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
10 |
利用智能机器人基础动作函数,自行进行组合,掌握多动作组合实现方法。 |
执行通过且至少调用了四个机器人动作函数,则得3分;否则0分。 |
3 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
11 |
综合利用if或for或while语句实现机器人复杂动作的控制。 |
程序执行通过,得5分;执行通过且包含if、for或while关键字,则得8分;否则0分。 |
8 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
12 |
综合利用if、for、while等语句实现机器人复杂动作的混合嵌套控制;掌握混合嵌套语句的实现。 |
执行通过且在不同缩进位置包含if、for或while关键字,则得6分;否则0分。 |
6 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
创新训练 |
13 |
掌握模块的定义,实现,调用,实现多机器人复杂动作编排;初步了解模块。 |
程序执行通过,得4分;执行通过且包含import关键字,则得6分;否则0分。 |
6 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
14 |
学生可以根据自己的想法,使用模块和控制函数实现对机器人的控制。 |
程序执行通过,但不包含__name__关键字得4分;执行通过,且动作数>=1,得7分;否则0分。 |
7 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
15 |
学生可以根据自己的想法,使用模块和控制函数实现对机器人的多动作的控制。要求动作数大于5。 |
执行通过,且动作数>=5,得3分;否则0分。 |
3 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
16 |
学生可以根据自己的想法,使用模块和控制函数实现对机器人的多动作的控制。要求动作数大于10且使用嵌套语句。 |
执行通过且动作数>=10且包含if、def、while或for关键字,得3分;否则0分。 |
3 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
17 |
学生可以通过模块定义,实现多机器人,多组多机器人等各种复杂形式的机器人初始化方法;学会批量初始化机器人。要求机器人数目大于2。 |
程序执行通过,但不包含__name__关键字,得6分;执行通过且机器人数目>2,得8分;否则0分。 |
8 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
18 |
学生可以通过模块定义,实现多机器人,多组多机器人等各种复杂形式的机器人初始化方法;学会批量初始化机器人。要求机器人数目大于5。 |
执行通过且机器人数目>5得3分;否则0分。 |
3 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
19 |
学生可以通过模块定义,实现多机器人,多组多机器人等各种复杂形式的机器人初始化方法;学会批量初始化机器人。要求机器人数目大于10。 |
执行通过且机器人数目>10,得3分;否则0分。 |
3 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
20 |
进行群体机器人舞蹈设计,并通过程序初步实现结果展示。 |
程序执行通过,得2分;执行通过且满足机器人数目>2得9分;否则0分。 |
9 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
21 |
进行群体机器人舞蹈设计,并通过程序进一步实现结果展示。 |
程序执行通过,得2分;执行通过且满足;机器人数目>5,动作数>10得3分;否则0分。 |
3 |
þ操作成绩 ¨实验报告 ¨预习成绩 ¨教师评价报告 |
|
22 |
利用步骤7,8的已有知识,综合实现群体机器人舞蹈设计,并通过程序实现结果展示。 |
程序执行通过,得2分;执行通过且满足:机器人数目>10、动作数>10,且包含if、def、for或while、__name__关键字,得3分;否则得0分。 |
3 |
þ操作成绩 þ实验报告 ¨预习成绩 þ教师评价报告 |
(1)专业与年级要求
面向高校所有专业所有年级,可扩展为继续教育和少儿编程培训。
(2)基本知识和能力要求
具备基本计算机操作能力。
(1)本校上线时间:2019年7月10日(上传系统日志,要求与实验已开设期次数据保持一致)
(2)已服务过的学生人数:本校 13500人,外校45000人
(3)附所属课程教学计划或授课提纲:
纳入教学计划的专业数:48,具体专业:会计学、经济学(创新)、应用统计学、工商管理、经济统计学、人力资源管理、金融学(普惠金融)、工商管理(平台)、生物工程、历史学、金融学、国际经济与贸易、经济学、数据科学与大数据技术、经济学类平台、数学与应用数学、保险学、软件工程、计算机科学与技术、信息安全、土地资源管理、公共管理平台、社会工作、财务管理(智能财务方向)、金融学类平台、会计学(ACCA方向)、计算机类平台、计算机科学与技术(第二学士)、市场营销、英语、投资性、新闻传播类平台、物流管理、法学、酒店管理、食品质量与安全、商务英语、物流管理(智慧供应链管理)、电子商务(跨境电商)、视觉传达设计(品牌设计)、法学类平台、国际商务、日语、审计学、行政管理、信息管理与信息系统、英语类平台、金融学(CFA方向)
教学周期:9,学习人数:75346
(4)是否面向社会提供服务:●是 ○否
(5)社会开放时间:2020年8月1日
(6)已服务过的社会学习者人数:8000人
(1)说明客户端到服务器的带宽要求(需提供测试带宽服务)
推荐20M以上
(2)说明能够支持的同时在线人数(需提供在线排队提示服务)
1000
(1) 计算机操作系统和版本要求
Windows 7以上
Linux(ubuntu 16.04及以上)
(2) 其他计算终端操作系统和版本要求
无
(3) 支持移动端:否
(1)非操作系统软件要求(支持2种及以上主流浏览器)
√谷歌浏览器√IE浏览器√360浏览器√火狐浏览器□其他
(2)需要特定插件 □ 是 √否
如勾选“是”,请填写:
插件名称:(插件全称)
插件容量:M
下载链接:
(3)其他计算终端非操作系统软件配置要求(需说明是否可提供相关软件下载服务)
无
(1)计算机硬件配置要求
CPU双核心;主频1.7Ghz;内存8GB;存储容量100GB
(2)其他计算终端硬件配置要求
无
(1)计算机特殊外置硬件要求
无
(2)其他计算终端特殊外置硬件要求:√无 □有
如勾选“有”,请填写其他计算终端特殊外置硬件要求:
(1)是否已完成定级备案:√是 □否
请选择备案主体:√课程所属学校名称 □其他
证书编号:330120-43031-00006
请附信息系统安全等级保护备案证明
(2)是否已完成等保测评:√是 □否
请附正式测评报告中实验系统的相关描述页面(等级测评结论页、实验与平台隶属关系描述页等)
Python+智能群体机器人虚拟仿真实验依托开放式虚拟仿真实验教学管理平台,实现数据接口无缝对接和实验全过程的记录与追踪。开放式虚拟仿真实验教学管理平台以虚拟现实技术、人工智能技术和嵌入式开发技术为依托,采用面向服务的软件架构开发,集实物仿真、创新设计、智能指导、虚拟实验结果自动评价和教学管理于一体,是具有良好自主性、交互性和可扩展性的虚拟实验教学平台。总体架构图如下图52所示。
一、实验的实用性
1. 打破编程语言实验常规,提升课堂教学质量
实验系统构建的虚拟仿真实验环境,作为传统Python基础实验课程的扩展工具,全方位实现了Python+智能群体机器人虚拟仿真涉及的所有知识点的实验探究,将深奥的智能机器人驱动过程和处理结果以3D实时场景方式直观呈现。通过本实验,让学生能将所学知识应用到实际场景中去,引导其将编程语言直接应用于解决相关领域中的实际问题。本实验为Python程序设计教学提供了切实可行的解决方案,切实提升了课堂教学质量,凸显了虚拟仿真实验的优势。
2. 改变传统实验教学方法,提高学生学习兴趣
依托Python+智能群体机器人虚拟仿真实验教学平台,形成了以自主探究为主要形式的实验教学方法,通过学生自主编写代码,实现对智能机器人舵机动作的组合封装,模拟实体机器人可完成的不同动作。其次,本实验教学平台通过集成Python语言开发环境,支持在平台上直接调试代码,并以虚拟仿真机器人为载体,让学生实时直观地看到实验效果,有效调动了学生学习的积极性和主动性,激发了学生的学习兴趣和潜能。此外,本实验教学平台通过虚拟现实、嵌入式开发、3D建模等多种技术的融合应用,为虚拟仿真实验技术改进提供了新思路和数据支持,为未来的研究工作提供了新的方向,促进了学术和技术的发展。
3. 拓展兼容性和应用价值,扩大实验边际效应
本实验教学平台在助力学生学习Python语言的同时,还同时注重实验的应用兼容性。平台设计时不仅集成了Python语言的开发环境,同时预留了C、C++、C#、Java等多种主流语言集成开发环境接口,可将本实验平台快速拓展为同时支持多种编程语言的可复用性系统,拥有高度的兼容性和可扩展性。此外,本实验平台的应用对象在以高校为主体的同时,还可支持少儿编程教育和企业员工培训等其他应用对象,并专门开发了针对不同对象的拖拽式复杂循环程序编程,利用简易的拖拽模式实现多机器人复杂动作编排,自主设计参数,验证与完善机器人动作的各项性能指标,并将拖拽积木式程序转化为普通Python代码,有效提升学习对象解决复杂问题的综合能力和高阶思维能力。
实验平台实用性架构图如图53所示。
二、教学设计的合理性
本实验教学设计的合理性体现为以“四个中心”的教学设计理念——以学生为中心、以知识为中心、以评价为中心、以共同体为中心,其具体设计合理性体现为:
1. 以学生为中心:赋能虚拟仿真实验教学新理念,构建系统思维培养新格局
实验教学理念合理。Python+智能群体机器人虚拟仿真实验育人过程,以学生为中心,注重覆盖学生在校培养的持续改进,达到各阶段各有侧重,虚拟仿真平台全过程规范管理;虚拟仿真教学内容贴近区域经济发展及技术实际,融合通识教育、专业教育、创新创业教育多个领域;虚拟仿真实验平台及其扩展性满足各院校及培训机构多方需求;平台加强校际交流合作,促进校内校际双循环,如图54所示。
图54 “Python+机器人”系统思维培养图
2. 以知识为中心:凝练虚拟仿真实验教学新知识,践行持续改进新体系
实验内容设置合理。本实验以多组机器人多种不同复杂动作状态的真实模仿为载体,覆盖Python语言核心知识点,包含:变量、选择、循环、函数、模块等方面。教师可从初次实验教学开始持续使用该系统,学生可自主练习,完成所有知识点的巩固,强化计算思维、系统思维、互联网思维等多维能力协调发展。
3. 以评价为中心:兼顾虚拟仿真实验过程全覆盖,构筑实验评测新标准
实验达成度评测设置合理。面向计算思维和系统思维培养的Python+智能群体机器人虚拟仿真实验教学评价导向更加清晰,不同类别、不同目标导向的服务对象,评价标准有所侧重;评价主体与评价指标关联性匹配度更高,评价结果更加精准;评价过程注重提升对学生学习体验的具体量化统计;评价结果由重“评”转向重“改”,形成多方位的虚拟仿真实验教学过程的闭环持续反馈。系统评测部分包含代码解释系统和评分系统,自动为源代码进行解释执行过程,并按照学生程序中对知识点的覆盖情况自动评分,既避免传统实验教学过程中教师需要逐个查看学生代码并验证其正确性的过程,同时也大幅降低了教师的工作量。
4. 以共同体为中心:推动师生共同发展,关注“分层次”学习对象新需求
实验方法设置合理。本实验支持4课时实验教学安排,完成一套从基本语法训练、综合训练、创新训练的由易到难的大型综合实验,利用直观、实时可见的虚拟仿真演示方式,帮助学生深刻理解复杂抽象的编程语法知识,从而激发学生学习热情,达到学以致用、融会贯通的目的,凸显了课程的高阶性和挑战度,行之有效地培养学生的系统思维和解决问题能力。此外,通过对少儿编程针对性的拖拽式积木编程开发和可扩展的编程语言接口,同时满足不同Python学习对象的实际需求。整体实验过程不仅关注学生个体,也兼顾老师的作用,充分发挥生生关系到师生关系再到共同体关系的智慧作用。
三、实验系统的先进性
1. 理念先进性
①切入赋能教育,融入思政元素。传统的Python实验教学模式及智能群体机器人实体实验教学已不能更好支撑高校“四新”建设及中小学人才培养的实验教学需求。亟需探索实验范式创新,与虚拟仿真相融合,保证不同学习对象的实验教学差异化,切入赋能教育,融入工匠精神、团队协作、四个自信、感恩祖国、严谨认真、责任感、荣誉感、诚信、量变与质变等思政元素,对Python+智能群体机器人虚拟仿真实验育人体系进行持续优化。
②差异化培养,服务更广泛的学习对象。Python+智能群体机器人虚拟仿真实验系统对虚拟仿真教学模式进行探索创新。搭建多样化的人才培养实验平台,突出学生追求卓越、勇于创新等意识培养,既适应当下高校“四新”建设步伐又关注中小学基础教育需求,同时跟踪未来社会对人才培养的新需要。
③完全自主知识产权,持续引入研究成果。课题组师资与技术力量雄厚,自主完成本虚拟仿真教学实验平台研发,经历专门针对普通本科高校学生1.0版本、增加针对少儿编程教育拖拽式模块2.0版本、整合基本语法+综合+创新训练综合实验模块3.0版本的3次版本迭代,我校拥有该平台完全自主研发知识产权。注重多学科理论与前沿技术的研究,探索并形成系列研究成果,如浙江省教学改革项目、浙江省普通本科高校“十四五”首批新工科、 新文科 、新医科、新农科重点教材、教育部产学合作协同育人项目、国家级及省级教学成果奖;国家自然科学基金、国家重点研发计划项目;多篇ESI高被引、SCI等高水平学术论文;浙江省科学技术奖、全国商业科技进步奖等多项学术研究奖励。作为本虚拟仿真实验的强大理念赋能与理论支撑,为Python+智能群体机器人的高度仿真提供了思想引领及技术支持。具体持续改进如图55所示。
图55 Python+智能群体机器人虚拟仿真实验研究成果的持续改进图
2. 技术先进性
①支持“三多”扩展,突显系统研发的时代需求
实验平台支持多语言、多机器人、多智能设备的扩展,经过持续迭代,实验系统现已在Python语言的基础上,扩展支持C、C++、C#、Java等多种语言,并可进行不同程序之间的转换及对比分析;当引入更多新型机器人时通过简单类库添加即可完成对新型多机器人的支持;同时系统经过少量开发扩展即可完成无人机等不同的多智能设备的虚拟仿真工作,为下一步实验内容的扩展奠定了良好的基础。
②支持“五维”交互,强化系统内涵的有机融合
a.空间维度:实验平台注重用户在系统中进行导航和操作时的三维空间感知,通过良好的设计使用户更容易理解系统的布局、结构和关联性;b.时间维度:实验平台注重学生在系统中的操作和交互体验随时间推移的变化过程,充分考虑到用户的反馈速度、系统响应时间等,以确保用户在使用系统的流畅感;c.操作维度:实验平台注重改进系统中的各类操作,针对不同层次的用户提供点击、拖拽编码等不同的操作模式,使学生操作更加直观和便捷,教学资源设置及实验操作流程关注学生网络学习的体验度;d.感知维度:实验平台关注用户在使用系统时的感知体验,包括视觉、听觉、触觉等,从而提升学生使用时的愉悦感和参与感;e.认知维度:实验平台涉及用户对系统的理解和认知过程,包括系统的功能、结构、反馈等,充分考虑用户的认知能力,结合虚拟现实技术保障实验核心要素的仿真度,强化技术选择与项目内容的匹配度。
③支持“七性”探究,加强系统服务的持续建设
实验系统自主研发秉承原创性;系统采用B/S架构,利用Google等主流浏览器在任意操作系统上即可完成自主学习,满足有用性;实验知识点涵盖及综合应用追求高阶性;实验智能机器人仿真度高,体验感强,提升交互性;学生可直接利用实验系统进行实验代码的编写、调试,凸显易用性;虚拟场景直观立体,推广沉浸性漫游;实时解释+机器人虚拟演示以及拖拽式编程,充满趣味性。
3. 应用先进性
①内设评分系统,自动测评,以评促建,以评促用。在实验步骤说明中系统为学生详细的描述了实验内容应包含的内容,学生完成实验后系统自动实时按照设定的评分标准,学生无需等待即可获知自己的成绩,同时大幅度降低了教师的工作量。
②实验系统操作便捷,解释与实时效果同步展示。引入拖拽积木式编程,通过在系统中引入拖拽积木式编程大幅度扩展了系统的服务对象,为中小学计算机技术课程的展开提供了良好的娱乐式教学方法;实验系统主控制台,左侧编辑与调试Python代码,右侧机器人同步呈现实验效果,让操作者如同亲临实境,感受互动为高校四新建设人才培养及社会继续教育技能培养提供优质的虚拟仿真平台。
③服务社会效果明显,以用促建,以用促评。课程团队于2014年针对计算机类专业率先开设Python程序设计课程,2017年开始面向全校开展Python基础教学,已累计培养13500余名学生。实验现已累计服务省内外大中小学等各类用户45000余人,社会学习者8000余人,规划未来五年为百余所院校及培训机构提供持续服务,并推广至更多应用领域。以应用推广促进持续建设,以丰富的辅助资源及实验应用促进评价体系的持续改进。
1. 思政育人,以生为本,信息技术与实验教学项目深度融合
以OBE理念为导向,以生为本,结合“四新”建设导向,围绕国家立德树人根本任务,以新一代信息技术为基础,开发以机器人实时演示为载体的“基本语法训练→综合训练→创新训练”一整套大型综合Python语言虚拟仿真实验。项目虚实结合,有效地调动了学生积极性和主动性,增强了创新能力。
2. 问题导向,需求引领,实验教学内容详实适宜,教学资源丰富
采用PBL教学模式,结合人才培养需求和真实课程开展情况,以“激发学生尤其非计算机专业学生编程热情,解决Python语言教学过程中教学方法单一、教学模式陈旧、教学效果不佳、实验环境匮乏”等问题为目标,以行业需求为引领,为Python基础教学内容做了有效补充。此外,本课程配套教学资源丰富,已建成的教学资源有:省重点教材《Python语言程序设计》;省线上一流课程:《Python 100 one by one》中国大学MOOC;省虚拟仿真一流课程1门,重点培育2门;省教改项目5项。
3. 基于案例,教学方式方法多样,教学效果提升明显,示范引领作用突出
以机器人动作编排为展示案例,通过Python代码实时解释执行,提出“互动自主式”教学方法。本项目不仅是我校优质教学资源,也支持了杭州商学院等10余所兄弟院校和校外培训机构实验教学,师生使用后普遍反映本项目内容紧凑、时长合理、难度适宜,在提高效率的同时降低了实验成本,提高了Python整体实验教学效果。
4. 开放运行,实验评价体系持续改进,虚拟仿真实验教学服务可持续发展
项目可以提供1000人并发使用;实验平台具有日志管理、数据备份、系统监控功能,可以收集学生课前学习、实验过程指导、实验成绩等相关数据,以及对实验系统、实验设计、学习效果等方面的评价与反馈信息,建立持续改进实验评价体系,同时与社会各界探索项目开放共享等机制,保证项目的可持续发展。
(1)课程持续建设
日期 |
描述 |
第一年 |
结合已有自编理论教材建设标准化课件库和课程教案 |
第二年 |
实验平台持续开发,扩展支持C、C++、C#、Java等其他计算机编程语言; |
第三年 |
持续优化教学资源,对接习题库,持续丰富教学案例,实现一站式Python语言教学全覆盖 |
第四年 |
探索不同学科领域交叉点,引入跨学科的内容,设计综合性实验 |
第五年 |
加强与产业界的合作,了解实际应用中真实需求,融入到实验课程设计中 |
其他描述:
目前开发团队已建设同类资源有:Mooc课程一门《Python 100 One by One》、高等教育出版社出版教材《Python程序设计》,自主开发Python实验考试平台系统一套,后期拟结合虚拟仿真系统将已有资源全部打通重新建设,并在此基础上开发系统移动端,为学习者提供一站式Python学习平台,同时将更新如课件和实验指导书等资源,并将系统从机器人仿真扩展到如无人机仿真等其他类似领域。
(2)面向高校、社会的教学推广应用计划
日期 |
推广高校数 |
应用人数 |
推广行业数 |
应用人数 |
第一年 |
10 |
5000 |
1 |
10000 |
第二年 |
20 |
10000 |
3 |
20000 |
第三年 |
50 |
25000 |
5 |
50000 |
第四年 |
100 |
50000 |
6 |
100000 |
第五年 |
200 |
100000 |
8 |
200000 |
其他描述:
在高校推广方面将着力于其他高校非计算机专业的计算机基础课教育,在目前已有8家高校的基础上逐年推广,通过教学会议、展览会等方式逐步推广。在推广行业上,主要针对培训机构、中小学校和职业教育为基础,建立教育资源的品牌形象,预计使用人数将成逐年递增的趋势。
(一)教学指导资源:
1.教学指导书
2.教学视频
3.电子教材
4.课程教案
5.课件
6.其他
(二)实验指导资源:
1. 实验指导书
2. 操作视频
3. 知识点课件库
4. 习题库
5. 测试卷
6. 考试系统
7.其他
(三)在线教学支持方式:
1. 热线电话
2. 实验系统即时通讯工具
3. 支持与服务群
4.其他
《Python+智能群体机器人虚拟仿真实验》课题立意新颖,平台强化自主研发并注重持续改进,研究内容具有创新性,研究方案可行,研究过程真实,研究成果显著,有很强的实用性、共享性。让学生通过Python数据与表达、选择控制、循环结构、函数、模块等知识点的学习,实现从单机器人到多机器人、简单动作到复杂动作的编排,利用直观、实时可见的虚拟仿真演示模式,深刻理解复杂抽象的Python语法知识,从而激发学生学习Python编程的热情,并解决大批量机器人实装实验难以组织实施等问题,从“望程却步”到“迎难而上”,真正做到“寓教于乐”。经学校学术委员会审查,该课题真实可行,同意课题申报!