通过本实验教学,支持学习者能掌握涵盖约50个左右计算思维核心知识点,能达到计算机专业本科毕业生对计算思维的掌握程度要求,学习内容和实验难度对标于全国计算机等级考试(NCRE)二级水平。
知识层面:能阐述计算思维的概念以及核心特征,能解释计算思维的主要知识点的内涵,比如计算模型(图灵机、汉诺塔等)、数据结构与算法(线性结构、非线性结构、算法概述等)、程序设计(结构化、面向对象、函数式设计等)等。
能力层面:专业能力方面,能运用计算思维对具体计算机科学领域的相关问题,以及日常生活的类似问题进行分析和问题求解,并能运用计算思维学习、理解、分析和应用前沿计算如互联网计算、人工智能和虚拟现实等。综合能力方面,培养仿真思维,创新能力,动手实践能力,以及协同学习和交流表达能力。
1)实验的必要性及实用性:
计算思维的概念最早由周以真( Jeannette M.Wing)教授提出,其认为计算思维是运用计算机科学的基础概念来求解问题、设计系统和理解人类行为的一系列思维活动。本实验课程是基于Web3D以及积木式编程的计算思维可视化虚拟仿真学习平台,设计了多种游戏场景和任务,引导学习者在实践中学习和掌握计算思维的核心概念。旨在通过游戏化、沉浸式、项目式学习等方法,培养学习者的计算思维能力。
随着AI4S,AI4SS的发展,计算机学科将更广泛地应用于各个领域。计算思维是计算机学科的核心思维,也是人工智能等技术和应用的底层思维和逻辑。它所涵盖的抽象、自动化、分而治之等思维不仅在计算机学科中非常关键,也能广泛适用于其他学科和日常生活。因此计算思维被认为是21世纪人人需要掌握的重要素养,已被教育部列为信息技术学科核心素养之一。
但是针对广大学习者,尤其是非计算机专业的学习者,计算思维的一些概念比较抽象和难易理解。另外,已经有的一些计算思维虚拟仿真学习平台还只是碎片化的针对某个方面。比如,ilab-x.com平台上已有的主题中具有“计算思维”的只有2021年上线的陕西师范大学的“基于传统文化的计算思维能力训练虚拟仿真系统”,主要就诗词这一领域,针对文科生设计了数据的增删改查、数据挖掘和知识发现、知识加工和处理,以及使用AI进行诗词创作等,针对的计算思维领域较为狭窄,主要是简单的操作性体验,对背后计算思维的原理性理解不深入,至今3年内实验人数只有3人,人次只有12次,参与的这些人中完成率也只有33%。“数字逻辑系统设计虚拟仿真实验”只涉及到了数字逻辑这个专业知识点,由于没有和其他知识点进行关联,也难以体现计算思维的抽象和自动化特征,不能很好的培养全面的计算思维,也难易迁移到其他学科和日常生活中应用计算思维进行问题求解。从2017年上线至今参与实验的人数和人次都为0。从调研情况来看,针对计算思维的核心知识点进行系统的梳理和总结,并针对计算机专业和非计算机专业的学习者都可以进行很好的学习的计算思维仿真学习平台目前还很缺乏,很有必要进行相关建设。
2)教学设计的合理性:
本仿真实验首先系统地总结和梳理了计算思维的核心知识点,并针对不同的核心知识点,设计游戏化、可视化、任务式的虚拟仿真学习方式,降低了计算思维学习的门槛,提升了学生的学习兴趣和参与度,并通过场景式、项目式的学习设计,可以更好的提升计算思维学习的效果,并能应用于其他学科和日常生活的问题求解中。
具体而言,本实验采用基于Three.js的Web3D技术,以及基于Google Blockly的积木式可视化编程等先进Web技术,学习者可以通过直观的图形化界面进行编程实践,并通过动画效果和三维场景的交互看到编程效果,提供直观、互动的学习体验,帮助学生更好地理解元胞自动机、图灵机、可计算性等50多个抽象概念。本实验系统可以随时随地访问,提供灵活的学习方式,适应不同学生的学习进度和需求。同时,还针对某些较难知识点的学习需求,如需要采用动态规划算法来解决场景式问题从而通过游戏关卡。实现了基于WebRTC和Socket.IO技术的实时协同功能,使学生能够在网络环境下进行实时交流和协同学习,学生可以在团队合作中学习和解决问题,培养团队协作和沟通能力。
另外,《计算思维与信息素养》属于服务学习类通识教育课程,学生需要应用课堂所学知识服务社区,比如传播计算思维。支持协同学习的虚拟仿真学习平台可以很好的实现远程教育,可以更少的受到时间、地点的约束,从而更好的支持主动学习,体现教育的公平性,更好地服务社会。
3)实验系统的先进性:
该虚拟仿真学习系统采用无插件的现代Web技术构建,具有很好的先进性。如前后端分离的技术架构,利用最新的Web技术,如HTML5、Three.js进行前端开发,提供具有很强沉浸感的学习体验,具有很好的响应速度。结合WebRTC和Web Socket实现实时的音视频通信,保证多用户采用多模态进行协同学习,并具有很好的同步性。集成人工智能技术,如自动答疑系统和个性化学习推荐,以支持学生的独立学习。具体阐述如下:
l 采用多场景设计,支持具有强交互性的、系统性的计算思维学习:系统包含了超过100个的丰富的交互场景,涵盖了计算思维的各个方面。每个场景都针对具体的计算思维知识点学习经过精心设计,以确保学生能够在多样化的环境中进行学习和实践。系统提供了超过1000条实验路线,学生可以根据自身的兴趣和学习进度自由选择,从而实现个性化学习路径。比如,大多数场景支持学习者输入不同参数,实现不同路径的演示。诸如演示递归思想的汉诺塔场景,学习者可以输入盘子数目,让该场景自动演示解决方案;也可以通过可视化的拖曳操作自行解决,系统可以给出该解决方案正确与否、是否最优解决方案的提示。
l 采用前沿Web技术,实现多模态的交互支持:系统针对不同的计算思维知识点的特点,基于前沿Web技术实现了多模态的交互方式。比如,在通过场景式、游戏化、关卡式的算法学习部分,系统通过Google Blockly实现积木式编程,提供直观易用的编程界面,方便学习者通过拖曳式编程即可进行试验操作;同时,采用了先进的无插件Web技术,基于HTML5和WebGL2实现Web上的三维虚拟世界场景的展示,学生只需通过现代浏览器,无需下载任何插件即可完成实验,从而很方便地实现更具有沉浸感的实现体验式学习。
l 支持实时的多用户协同学习。系统通过WebRTC实现实时音视频通信,支持多用户实时协作和交流。采用一般等级的云服务器,可以支持2000-10000名左右的用户同时在线学习,大约可以支持400到500名用户同时进行实时音视频交流,实现在线实时协作性学习,音频延迟小于150ms,视频延迟小于200ms。用户可以通过文字、语音和视频等多模态进行实时交流和协作,实现协同学习。很具特色的是,在采用积木式拖曳编程实现算法学习时,系统实现了协作用户可以控制对方Web页面来进行操作,更方便直观地实现协同学习。
l 系统支持实时反馈和评价,以及人工智能赋能的个性化学习支持。本系统采用动态评估模型,对学生在和系统进行交互的过程中的学习进度和表现进行持续监控和反馈,从而很好的支持学习者的自主学习。另外,通过调用大语言模型的API,可以实现自动答疑系统,能够快速响应学生的问题,提供即时帮助。
通过这些先进技术的应用和设计,实验系统不仅在功能上全面覆盖了计算思维的各个方面,同时在用户体验、实时反馈、协同学习等方面也具备了显著的优势,不采用本虚拟仿真学习系统,无法实现采用硬件的计算思维学习,真正实现了“能实不虚”,“人无我有,人有我强”的仿真学习平台设计目标。
(1)实验原理
本虚拟仿真实验将计算思维的核心知识点归为计算模型的三个层次,即计算理论、计算方法和程序实现三个层次。这三个层次共同构成了全面的计算思维体系,帮助人们有效地解决各种计算问题。如下图所示:

其中,计算理论是计算思维的最基础层次,涉及对计算过程的抽象和理解。它主要研究什么问题可以计算、计算需要多少资源(时间和空间)、不同计算模型之间的关系等。其下又包括图灵机、复杂性理论和自动机等关键内容,以及实现计算的物理构建,比如逻辑电路。
计算方法是介于理论与实际实现之间的层次,主要关注算法的设计与分析。计算方法的目的是找到有效的解决方案,并对其进行优化。其下又包括数据结构,以及算法设计和分析等关键内容。
程序实现是计算思维最具体的层次,涉及将算法和数据结构转化为可执行的计算机程序。其下又包括编程语言,软件工程等关键内容。
在计算模型之上,加入了人工智能这一计算形态作为综合实例。使用到之前计算模型的三层结构中的关键知识点。比如人工智能哪些是不能实现的,涉及计算理论的可计算性问题;人工智能的算法涉及到计算方法问题,比如知识图谱是一种基于图的数据结构,用于表示实体及其关系。基于图数据结构的最短路径算法如Dijkstra算法可以用于在推荐系统中寻找推荐路径,在问答系统中寻找最相关的答案路径等。所以在计算模型的三个层次的核心知识点中,设计了基础训练。而在人工智能这一计算形态中,本虚拟仿真实验设计了综合实例训练。
依据虚拟仿真项目建设“能实不虚,以虚拓实”的原则,本虚拟仿真实验采用基于Web的可视化交互方式,以问题为导向,根据计算模型的层次关系,具有系统观地设计了核心知识点的学习路径和相关实验。
知识点:共 8 个
1. 图灵机:计算理论的核心概念,用于定义算法和可计算性。它通过模拟一个拥有无限存储能力的抽象计算设备,帮助理解计算的基本能力和限制。
2.计算复杂度:计算复杂度分析是评估算法效率的重要方法,主要关注算法在最坏情况下的时间和空间需求。
3. 元胞自动机:元胞自动机是一种离散模型,由规则驱动的单元格在网格上进行演化,广泛用于模拟复杂系统和现象。
4. 逻辑电路:逻辑电路是电子系统的基础,通过逻辑门(如与门、或门、非门等)实现布尔运算,构建复杂的计算和控制功能。常见的逻辑电路包括组合逻辑电路和时序逻辑电路。
5. 数据结构:数据结构是存储和组织数据的方式,典型数据结构包括数组、链表、栈、队列、树和图等。
6. 算法设计与分析:算法设计与分析包括创建解决特定问题的算法,并对其性能进行评估和优化。
7. 程序设计语言:程序设计语言是用于实现算法的工具,不同语言提供不同的语法和功能,适用于不同的应用场景。
8. 人工智能应用:人工智能应用涉及使用计算思维的核心知识点(如数据结构、算法和复杂度分析等)来开发智能系统,如机器学习、自然语言处理和计算机视觉等。
(2)核心要素仿真设计
1、 图灵机实验模块:通过Web3D平台模拟图灵机的操作,包括状态转换、读写带、转移函数等。通过设置初始带上的符号,定义状态转移规则,图灵机可以根据初始带上的符号以及状态转移规则开始运行,匹配当前状态以及适用的规则,从而实现状态转移,最后得到一个输出结果。实验过程中需要具体问题具有一定的复杂性,比如要求学习者在纸带上设置至少10个符号,代表图灵机的初始输入;用户需要定义至少5条状态转移规则,这些规则包括当前状态、读取符号、新状态、写入符号和移动方向(左或右)。
2. 计算复杂度实验模块:根据不同的算法(如排序算法、搜索算法等),设置数据集规模,系统可视化给出算法的运行步骤,并计算时间和空间复杂度。具体而言,学习者可以选择至少5种不同的算法,选择至少3个不同规模的输入数据集,例如100个元素、500个元素和1000个元素,系统会对选择的每个算法和每个数据集规模运行,共至少进行15次运行操作(5种算法 * 3个数据集规模),学习者需要分别记录至少15次的时间复杂度和空间复杂度的计算结果。
3. 元胞自动机实验模块:创建一个可交互的元胞自动机仿真环境,可以设置网格初始状态,定义邻居规则,系统可以进行动态演化。具体而言,用户可以选择设置至少10x10至100x100个单元格的网格初始状态,通过点击或拖拽,用户可以激活或禁用网格中的单元格,设置至少10种不同的初始状态配置。用户需要定义至少3种不同的邻居规则,例如Moore邻居规则(考虑周围8个单元格)、von Neumann邻居规则(考虑上下左右4个单元格)等,并可以设置并运行元胞自动机进行至少10次动态演化,每次演化步数可以从1步到100步不等。可视化参数方面,用户可以设置演化速度,每秒1步至每秒10步不等;系统能在100ms内完成100x100网格的一步演化。系统实时展示每一步的演化结果,包括单元格状态的变化,用户可以通过动画效果观察元胞自动机的动态变化过程。
4. 逻辑电路模块:通过可视化交互平台,可以模拟逻辑电路的设计和操作。可以在平台上构建基本的逻辑门电路,如与门、或门、非门等,组合这些逻辑门形成复杂的组合逻辑和时序逻辑电路。平台支持动态展示电路的输入输出变化,提供实时反馈。具体而言,在构建逻辑门电路任务中,学生可以在平台上选择并构建至少10种基本的逻辑门电路,包括与门、或门、非门、与非门、或非门、异或门、同或门、缓冲器、三态缓冲器和多路复用器。通过拖拽和连接的方式,学生可以将这些逻辑门组合成复杂的组合逻辑和时序逻辑电路。进一步的,学生可以设计至少5种不同的组合逻辑电路,如加法器、比较器、编码器、解码器、选择器,和时序逻辑电路,如触发器、计数器、移位寄存器。系统支持实时动态展示电路输入输出的变化,学生可以观察至少10种不同输入组合下的输出结果。系统在用户进行操作后100ms内实时更新电路状态,提供直观的输入输出变化展示,使用颜色编码,如绿色表示高电平、红色表示低电平,来直观展示电路的输入输出状态,其中通过动画效果展示信号在电路中的传递过程,帮助学生理解逻辑电路的工作原理。
5. 数据结构实验模块:提供可视化的交互界面,可以选择一种数据结构,进行插入、删除、修改以及查找等基本操作,系统可以可视化的给出数据结构的变化,体现不同数据结构的特点。具体而言,学生可以选择至少10种不同的常用数据结构,包括数组、链表、栈、队列、二叉树、哈希表、图、堆、红黑树和B树。可以通过在不同数据结构上进行至少40次的操作,直观地理解每种数据结构的特点。系统在学生进行操作后100ms内动态更新数据结构的状态,提供直观的变化展示。比如,通过动画展示链表的节点插入和删除过程、栈的入栈和出栈操作、队列的入队和出队操作,以及二叉树、哈希表、图、堆、红黑树和B树的节点插入、删除和查找过程,帮助学生理解数据结构的工作原理。
6. 算法设计与分析实验模块: 针对不同的问题,提供不同的算法供选择,通过设置参数,系统可以根据该算法以及设置的参数运行,并判断是否正确进行了问题求解。具体而言,学生可以选择至少5种不同的问题类型,包括排序问题、搜索问题、路径规划问题、图算法问题和动态规划问题。每种问题类型下,系统提供至少3种不同的算法供学生选择:排序问题下,提供快速排序、归并排序和堆排序算法;搜索问题下,提供线性搜索、二分搜索和深度优先搜索算法;路径规划问题下,提供Dijkstra算法、A*算法和Bellman-Ford算法;图算法问题下,提供Kruskal算法、Prim算法和Floyd-Warshall算法;动态规划问题下,提供背包问题、最长公共子序列和最长递增子序列算法等。学生可以设置每个算法的参数,例如数组长度、图的节点数和边数、初始节点等。每个算法至少需要3个参数设置。系统会根据学生选择的算法和设置的参数进行运行,学生可以进行至少15次算法运行操作。系统在学生进行操作后100ms内动态更新算法的运行状态,提供直观的变化展示。在每次运行后立即判断算法是否正确解决了问题,并提供实时反馈。
7. 程序设计语言实验模块:支持多种编程语言的在线编写和运行环境,针对不同的问题,可以选择不同的语言进行求解,系统可以自动运行该程序并判断语法是否正确,并且是否正确进行了问题求解。具体而言,学生可以选择至少4种不同的编程语言,包括Python、Java、C、JavaScript,并可以针对至少8种不同的问题编写程序,包括排序问题、搜索问题、数学计算、字符串处理、文件操作、图算法、动态规划、数据结构操作。系统自动对学生编写的代码进行编译和调试,提供即时的语法错误和运行时错误提示,帮助学生快速定位和修复问题。系统还增加了AI辅助功能,可以在学生编写代码时提供智能建议和代码补全,并就学生针对程序所提出的问题进行答复。
8. 人工智能应用实验模块:提供一个人工智能实验平台,针对不同的问题和场景,可以支持学习者实现基本的机器学习算法,如线性回归、分类和聚类等,使用真实数据集进行训练和测试。系统可以判断是否进行了正确的问题求解。具体而言,学生可以选择至少5种基本的机器学习算法,包括线性回归、逻辑回归、决策树、支持向量机、K-means聚类和神经网络。平台提供多个常用的真实数据集供用户选择,比如Iris数据集用于分类问题,包含150个样本,每个样本有4个特征;Boston房价数据集用于回归问题,包含506个样本,每个样本有13个特征;NIST手写数字数据集用于图像分类问题,包含60000个训练样本和10000个测试样本,每个样本是28x28的灰度图像;Wine质量数据集用于分类和回归问题,包含1599个样本,每个样本有11个特征;Titanic生存数据集用于分类问题,包含891个样本,每个样本有12个特征。学生可以实现选定的机器学习算法,并根据具体问题设置算法参数,例如学习率、迭代次数、正则化参数等,可以进行至少10次不同参数设置的实验。系统自动划分训练集和测试集,进行至少5次不同数据集和算法的训练和测试过程。判断算法是否正确解决了问题,并提供详细的结果反馈,包括准确率、精确率、召回率、F1分数等评估指标。学生可以查看每次实验的评估结果和模型性能,并进行改进和优化。
1.教学过程
本虚拟仿真实验采用虚实穿插的教学模式,并采用“以学为中心”的学习理念和混合式的教学模式。首先,学生根据教师发布在线上的学习视频学习计算思维的相关概念,初步理解知识点。线下课堂中,教师采用虚拟仿真平台初步演示针对本次课知识点的相关实验,这个教学环节通过演示通过案例让学生更进一步理解了知识点。然后,教师布置虚拟仿真平台上的学习任务,学生可以分组或者个人在线下完成任务,并通过生生互动的讨论,或者向其他同学展示和介绍自己的求解来实现翻转课堂的学习。这个过程中,虚拟仿真实验可以实现自动评分并进行记录。同学们也可以提出在这个过程中遇到的问题,老师根据同学们完成的情况,了解同学们学习过程中的弱点,从而有针对性的重点讲解某些知识点。课后,学生也可以通过该平台进行自主实践,并通过协作模块,在遇到问题的时候,向其他学习者或者教师进行实时沟通,实现协同学习。在服务学习课程《计算思维与信息素养》中,学生还可以使用该平台针对社区进行远程授课和辅导,实现远程服务。
2.实验方法
本项目针对计算思维的核心内容,按照计算模型进行模块化和分层教学设计。让学生先理解计算是什么,作为计算基础的图灵机是如何实现计算的,哪些是可以计算的,如何评价计算等计算理论的问题。在此基础上,针对具体问题,设计相应的数据结构和算法,从而理解计算方法层面的核心知识。进一步的,如何选择具体的问题来进行编程实现,以及应用软件工程原理有效的实现。最后,针对目前的前沿计算形态即人工智能,理解其基于的计算思维,并且针对较为综合性的问题,使用人工智能的计算方法来进行问题求解,从而理解在一个具体的形态中,是如何体现计算思维的。
具体实验方法针对不同实验模块简述如下:
1) 图灵机实验模块
l 观察法:学生进入基于Web3D的图灵机模拟虚拟场景,设置初始状态和转移函数等。系统运行图灵机,学生通过观察每一步的状态转换和符号读取,理解图灵机的执行过程。
l 评价法:系统根据最终运行的结果判断学生设置的初始状态和转移规则是否正确,并提供即时反馈。
2) 计算复杂度实验模块
l 对比法:学生进入可视化交互界面,选择不同的算法(如快速排序、归并排序、二分搜索等)并设置相关参数,系统执行这些算法并可视化展示运行步骤。
l 观察法:通过观察算法在不同数据集规模下的运行步骤和时间复杂度,学生可以理解算法的效率和性能。
l 评价法:系统根据运行结果对学生进行评价,提供时间复杂度和空间复杂度的分析。
3) 元胞自动机实验模块
l 观察法:学生进入可交互的元胞自动机仿真环境,设置网格初始状态和邻居规则,系统进行动态演化,学生观察元胞自动机的演化过程。
l 评价法:系统根据运行结果对学生进行评价,判断设置的初始状态和邻居规则是否实现了预期的演化效果。
4) 逻辑电路实验模块
l 设计法:学生在平台上构建基本的逻辑门电路,如与门、或门、非门等,组合这些逻辑门形成复杂的组合逻辑和时序逻辑电路。
l 观察法:通过动态展示电路的输入输出变化,学生可以实时观察电路的运行状态。
l 评价法:系统根据电路的功能和工作原理进行实时反馈,帮助学生理解逻辑电路的设计与实现。
5) 数据结构实验模块
l 实操法:学生根据场景式的任务描述,选择一种数据结构,如数组、链表、栈、队列、二叉树等,进行插入、删除、查找等基本操作。
l 观察法:系统可视化展示数据结构的变化,学生观察每个操作对数据结构的影响。
l 评价法:系统对学生的操作进行评价,提供即时反馈,帮助学生理解数据结构的特点和操作原理。
6)算法设计与分析实验模块
l 游戏式学习法:学生进入游戏化场景关卡,通过积木式的可视化编程,编写和运行自己的算法。
l 观察法:系统根据算法的运行结果,通过动画展示游戏结果,学生观察算法的执行过程和性能。
l 评价法:系统判断算法是否正确解决了问题,并提供性能分析。
7)程序设计语言实验模块
l 实操法:学生进入Web IDE,根据问题要求选择不同的编程语言,如Python、Java、C等,编写程序实现相应的算法。
l AI助手法:系统自动执行编写的程序,判断语法是否正确,并提供即时的错误提示和优化建议。
l 评价法:系统根据程序的运行结果和性能对学生进行评价。
8)人工智能应用实验模块
l 实操法:学生进入可视化的人工智能实验平台,通过拖曳操作实现相应的人工智能算法,如线性回归、分类和聚类等。
l 评价法:系统根据学生的操作执行相应的算法,并提供详细的结果反馈和评价指标,如准确率、精确率、召回率等。
(1)学生交互性操作步骤,共 10 步
步骤序号 | 步骤目标要求 | 步骤合理用时 | 目标达成度赋分模型 | 步骤满分 | 成绩类型 |
1 | 进入图灵机学习模块界面。在纸带上设置至少10个符号,定义至少5条状态转移规则。点击“开始”按钮,运行图灵机。观察并记录至少5次状态转移过程。最后记录并验证最终输出结果是否正确。 | 20 | 根据设置的图灵机的初始状态和转移函数,图灵机运行结果符合要求。正确设置符号得2分,正确定义转移规则得2分,图灵机正常执行规则得2分,观察并记录正确得2分,输出结果正确得2分。 | 10 | ■操作成绩 ■实验报告 |
2 | 进入计算复杂度实验模块界面。选择至少5种不同的算法,选择至少3个不同规模的数据集。对每个算法和数据集规模运行,观察并记录算法的运行步骤。记录15次的时间复杂度和空间复杂度结果。 | 25 | 每次正确选择算法得分,每次正确设置数据集规模得2分,每次成功运行算法得2分,每次正确观察并记录运行步骤得2分,每次正确计算时间复杂度得2分,每次正确计算空间复杂度得2分 | 10 | |
3 | 进入元胞自动机实验模块界面。设置10x10到100x100个单元格的网格,定义至少3种不同的邻居规则,运行至少10次动态演化,每次1到100步,观察并记录每一步演化结果,并判断设置的规则是否实现预期演化。 | 20 | 每次正确设置网格初始状态得2分,每次正确定义邻居规则得2分,每次成功动态演化得2分,每次正确观察并记录演化过程得2分,每次正确评估演化结果得2分。 | 10 | |
4 | 进入逻辑电路实验模块界面。选择并构建10种基本逻辑门电路;设计5种不同的组合和时序逻辑电路;观察10种不同输入组合下的输出结果;获取系统的实时反馈,调整设计;通过观察和调整,理解电路原理。 | 25 | 每次正确构建逻辑门电路得2分,每次正确设计组合和时序逻辑得2分,每次正确观察输入输出变化得2分,每次正确调整并获取实时反馈得2分,每次正确理解并解释逻辑电路原理得2分。 | 10 | |
5 | 进入数据结构试验模块界面。选择5种不同的数据结构,进行插入、删除、查找等操作,记录每个操作对数据结构的影响,根据任务描述完成指定操作,系统对操作进行评价并反馈。 | 20 | 每次正确选择数据结构得2分,每次正确进行基本操作得2分,每次正确观察并记录变化得2分,每次成功完成任务得2分,每次正确评价操作结果得2分。 | 10 | |
6 | 进入算法设计与分析实验模块界面。选择5种不同的问题类型,选择至少3种不同的算法,设置至少3个参数。运行算法并观察结果,系统评估算法的正确性。 | 25 | 每次正确选择问题类型得2分,每次正确选择算法得2分,每次正确设置算法参数得2分,每次成功运行算法得2分,每次正确判断问题求解得2分。 | 10 | |
7 | 进入程序设计语言实验模块界面。选择3种不同的编程语言,针对10种不同问题编写程序,系统自动编译并运行,并提供即时语法错误和优化建议,以及智能建议和代码补全。 | 25 | 每次正确选择编程语言得2分,每次正确编写程序得2分,每次成功在线编写和运行得2分,每次正确处理编译和调试错误得2分,每次有效利用AI辅助功能得2分。 | 10 | |
8 | 进入人工智能应用实验模块界面。选择至少3种机器学习算法以及相应的真实数据集,实现算法并设置参数,系统使用数据集进行训练和测试,并反馈结果。 | 20 | 每次正确选择算法得3分,每次正确选择数据集得3分,每次正确实现算法和设置参数得3分,每次成功训练和测试得3分,每次正确判断并反馈结果得3分。 | 15 | |
9 | 根据自己学习中的困惑,通过协作功能实现生生互动,进行协作学习。 | 25 | 进行正确操作实现了音视频沟通得1分;针对以上步骤中的2个进行正确的问题表达或者回答得1分;通过选择正确的协作方式,比如实时操作对方界面,实现了高效沟通得1分;成功解决了问题得2分。 | 5 | |
10 | 知识考核 | 20 | 针对标准化并具有权威性的计算思维测试题,进行了正确的解答 | 10 |
(2)交互性步骤详细说明
以下是我们目前已经实现的一些相关实验模块的截图和交互性步骤说明。立项后,将进一步完善和整合各个实验模块,实现更加全面和复杂功能的计算思维虚拟仿真学习系统。
1、图灵机
学生可以选择一个化身键入基于Web3D的虚拟世界,通过点击设置纸带上的不同初始数字,以及设置相关的转移规则,通过化身踩在执行按钮上,图灵机就可以自动运行。通过该界面,学习者可以通过文字相互交流,并实现操作共享,从而实现操作示范。

2、算法复杂度
学生可以选择一个化身键入基于Web3D的虚拟世界,通过点击设置汉诺塔的不同盘子,然后通过移动盘子,系统通过记录移动次数,统计最后求解的步骤数。体现解决该问题的复杂度。系统也可以自动运行,演示正确的算法步骤。用户之间也可以进行交流和演示说明。

3. 元胞自动机
学生需要根据不同关卡的任务,选择相应的模型和初始参数。系统实现动画演示,并判断是否进行了正确的选择和设置,同时给出评价。如果正确求解,则解锁下一关卡。

4. 逻辑电路
学生需要根据搭建不同逻辑电路的任务,选择基本的逻辑元件,通过可视化的拖曳和连线来构建更复杂的逻辑电路。系统可以可视化演示其最终的效果,并判断是否正确完成任务以及打分。

5. 数据结构
学生可以选择左侧列出的各种数据结构,并根据任务和右侧的面板上的各种功能,实现数据结构的初始化,以及增删改查等各种操作,系统会在中间区域可视化的实时反馈效果,并根据是否完成任务进行评价。

6. 算法
在这个页面中的左侧,学生可以拖拽自定义的积木块,可视化地设计算法,完成给定的场景的任务。用户点击运行后,场景中的角色可以模拟用户指定的动作并动画演示,无论失败还是成功都要给出对应提示。通过最右侧的协同学习功能,可以请求老师或其他学习者辅导自己,实现协同学习。协同包括视频通讯和操作演示,一般可以开设共同学习房间实现协同。

7. 程序设计
学生可以在基于Web的IDE中选择语言编程,实现任务要求。系统会调用服务器端部署的编译器进行编译执行,并将结果呈现。同时根据程序撰写的正确性,以及执行结果的正确性,给出提示和评价。

8. 人工智能
学生可以使用左侧的神经网络基础构件,并在右边针对该构件给出参数,从而可视化地搭建神经网络。系统将自动翻译为源代码并执行该人工神经网络,并判断执行的结果是否正确,从而给出评价。

针对每个实验,该仿真平台的后台都记录了学生的每一步的操作,包括选择的项目、输入的参数、拖曳的积木块以及关联信息等。同时采用可视化输出,以及三维场景变化等方式给出实时反馈学生的操作效果。根据不同实验的逻辑,系统可以对学生的操作实践进行评价。如果学生的操作有误,系统会给出针对性的提示,比如程序设计编译不通过等。并在需要的时候给出正确的动画演示,比如汉诺塔移动的正确次序等,从而更好的指导学生自主学习。
8个不同的实验分别对应于计算思维体系的8个核心知识内容,又分别来自计算模型的三层,以及人工智能这一综合性应用领域。不同实验具有不同的学习目标和具体的评价依据,在不同的实验条件和操作下可能产生的实验结果与结论都会有些不同。根据前文的实验介绍基本也给出了不同实验下面正确的输出结果和结论。但这8个实验所对应的知识点也相互关联,并且具有一定的共性。它们都可以给出学生交互过程中的实时反馈,并给出过程性评价。最后,根据标准化和具有权威性的计算思维评价测试题和量表,可以给出结论性评价。综合仿真平台给出的实时反馈以及结论性评价,以及教师针对学习行为的一些评分,可以给出综合评价分数。
具体而言,根据前面表格中10个步骤前面9个步骤中具体给出的打分机制,即可进行虚拟仿真实验的部分计分。最后一个步骤作为综合性的知识性考核,通过一系列多选题和开放性问题,评估学生在计算思维各个方面的能力。教师将参考Bebras计算思维能力标准化测试题和科尔克马兹(Korkmaz)计算思维量表,结合实验步骤中涉及的计算思维知识点,出一份测试题,学生的答题成绩,将作为第10步骤的知识考核得分。
最后给出的仿真实验部分学生成绩AB制评分机制如下所述:
l A(90-100分):学生能够正确完成所有步骤,所有操作都正确,系统反馈良好,无需任何提示或纠正。知识考核绝大多数(>90%)正确。
l B(80-89分):学生大部分操作正确,可能有少量错误,但在系统提示后能迅速纠正,并且正确完成了大多数实验步骤。知识考核大多数(>80%, < 90%)正确。
l C(70-79分):学生在系统提示和帮助下完成了实验,有一定的错误和偏差,但总体上理解了实验内容和步骤。知识考核基本(>70%, < 80%)正确。
l D(60-69分):学生在实验过程中有较多的错误,系统提示多次,依靠大量指导才能完成实验,表现出对核心概念的理解不足。知识考核表明掌握不够好(>60%, < 70%)。
l F(<60分):学生无法正确完成实验步骤,系统多次提示无效,显示出对实验内容的理解和操作能力严重不足。知识考核掌握程度不好(< 60%)。
(1)客户端到服务器的带宽要求
对于客户端而言,通常情况下,一个较为常见的场景,每个用户平均需要的带宽是2 Mbps。对于服务器来说,假定同时在线人数约为400人的话,需要的带宽为800 Mbps。一般而言达不到这样的同时在线人数。
(2)能够支持的同时在线人数
能够支持同时在线的用户数为400人左右。
(1)计算机硬件配置要求
基本的消费级计算机,能流畅的运行现代浏览器即可。
(2)其他计算终端硬件配置要求
显卡能支持HTML5的WebGL2功能。基本上目前的普通笔记本都能支持。
(1) 计算机操作系统和版本要求
无特定要求,能运行支持HTML5的现代浏览器即可。
(2) 其他计算终端操作系统和版本要求
目前主要支持PC端和移动智能手机,能运行支持HTML5的现代浏览器即可。
(3)支持移动端:●是 ○否
(4)非操作系统软件要求
■谷歌浏览器 ○IE浏览器 ○360浏览器 ■火狐浏览器 ○其他
(5)需要特定插件 ○是 ●否

电邮:kydai@fudan.edu.cn